spark和zeppelin实践二:安装spark和zeppelin

简介:

一、Spark安装

1、安装spark


[plain] view plain copy 在CODE上查看代码片派生到我的代码片

  1. #http://spark.apache.org/downloads.html  

  2. #wget http://d3kbcqa49mib13.cloudfront.net/spark-2.0.1-bin-hadoop2.7.tgz  

  3.   

  4. cd /home/haoren  

  5. tar zxvf spark-2.0.1-bin-hadoop2.7.tgz  

  6. ln -s /home/haoren/soft/spark-2.0.1-bin-hadoop2.7 /home/haoren/soft/spark  


2、配置Spark


1) 设置Spark环境变量


[plain] view plain copy 在CODE上查看代码片派生到我的代码片

  1. vim .bash_profile 或 /etc/profile  

  2. export SPARK_HOME=/home/haoren/soft/spark  

  3. export PATH=$SPARK_HOME/bin:$PATH  

  4.   

  5. echo $SPARK_HOME  

例如

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi


# User specific environment and startup programs

PATH=$PATH:$HOME/bin
export PATH
ulimit -c unlimited
alias forward='sudo /etc/rc.d/forwardiptables'
alias onlyforward='sudo /etc/rc.d/only_forward'
alias reboot='sudo /usr/bin/reboot'
alias ethtool='sudo /sbin/ethtool'


#export HADOOP_HOME=/home/haoren/soft/hadoop
#export PATH=$HADOOP_HOME/bin:$PATH


export SPARK_HOME=/home/haoren/soft/spark
export PATH=$SPARK_HOME/bin:$PATH


export ZEPPELIN_HOME=/home/haoren/soft/zeppelin
export PATH=$ZEPPELIN_HOME/bin:$PATH


export PYTHONPATH=$PYTHONPATH:/home/haoren/soft/python



2)修改spark-env.sh



[plain] view plain copy 在CODE上查看代码片派生到我的代码片

  1. cd $SPARK_HOME  

  2. cp ./conf/spark-env.sh.template ./conf/spark-env.sh  

  3. vim ./conf/spark-env.sh  

  4. 加入  

  5. export SPARK_DIST_CLASSPATH=$(/home/haoren/soft/hadoop/bin/hadoop classpath)  

  6.   

  7. export SPARK_CLASSPATH=$SPARK_CLASSPATH:/home/haoren/soft/mysql-connector-java-5.1.38.jar  



3)运行


[plain] view plain copy 在CODE上查看代码片派生到我的代码片

  1. cd $SPARK_HOME  

  2. ./bin/run-example SparkPi  

  3. #./sbin/spark-daemon.sh start  


4)Spark Shell 进行交互分析
./bin/spark-shell


二、Zeppelin安装

1、安装zeppelin


[plain] view plain copy 在CODE上查看代码片派生到我的代码片

  1. #http://zeppelin.apache.org/download.html  

  2. #wget http://mirrors.cnnic.cn/apache/zeppelin/zeppelin-0.6.2/zeppelin-0.6.2-bin-all.tgz  

  3.   

  4. cd /home/haoren/soft  

  5. tar zxvf zeppelin-0.6.2-bin-all.tgz  

  6. ln -s /home/haoren/soft/zeppelin-0.6.2-bin-all /home/haoren/soft/zeppelin  


2、配置
文档参见:http://zeppelin.apache.org/docs/0.6.2/install/install.html


1) 设置zeppelin环境变量


[plain] view plain copy 在CODE上查看代码片派生到我的代码片

  1. vim .bash_profile 或 /etc/profile  

  2. export ZEPPELIN_HOME=/home/haoren/soft/zeppelin  

  3. export PATH=$ZEPPELIN_HOME/bin:$PATH  

  4.   

  5. echo $ZEPPELIN_HOME  


2)修改zeppelin-env.sh



[plain] view plain copy 在CODE上查看代码片派生到我的代码片

  1. cd $ZEPPELIN_HOME  

  2. cp ./conf/zeppelin-env.sh.template ./conf/zeppelin-env.sh  

  3. vim ./conf/zeppelin-env.sh  

  4.   

  5.   

  6. #export ZEPPELIN_PORT=18081  

  7.   

  8. export SPARK_HOME=/home/haoren/soft/spark  

  9. export HADOOP_CONF_DIR=/home/haoren/soft/hadoop  

  10. export SPARK_SUBMIT_OPTIONS="--packages com.databricks:spark-csv_2.10:1.2.0"  

  11.   

  12. cp ./conf/zeppelin-site.xml.template ./conf/zeppelin-site.xml  

  13. vim ./conf/zeppelin-site.xml  

  14. 18081  

  15. sed -i 's/8080/18081/' ./conf/zeppelin-site.xml  


3)运行



[plain] view plain copy 在CODE上查看代码片派生到我的代码片

  1. cd $ZEPPELIN_HOME  

  2. ./bin/zeppelin-daemon.sh start  

  3. ./bin/zeppelin-daemon.sh stop  



4)测试
打开网址:http://192.168.94.103:18081/

5)问题总结

问题1:不执行或者执行出错。
环境变量重新配置一下,刷新一下。


问题2:com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.5.3
zeppelin目录下jackson版本和sprak目录下的版本不一致
替换/home/haoren/soft/spark/jars目录下的jackson-databind-2.6.5.jar jackson-core-2.6.5.jar jackson-annotations-2.6.5.jar到zeppelin/lib

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

  1. cd /home/haoren/soft/zeppelin/lib  

  2. rm -f jackson-annotations-2.5.0.jar  

  3. rm -f jackson-core-2.5.3.jar  

  4. rm -f jackson-databind-2.5.3.jar  

  5.   

  6. cp /home/haoren/soft/spark/jars/jackson-databind-2.6.5.jar /home/haoren/soft/zeppelin/lib/  

  7. cp /home/haoren/soft/spark/jars/jackson-core-2.6.5.jar /home/haoren/soft/zeppelin/lib/  

  8. cp /home/haoren/soft/spark/jars/jackson-annotations-2.6.5.jar /home/haoren/soft/zeppelin/lib/  


问题3:java.lang.NoSuchMethodError: org.apache.hadoop.tracing.SpanReceiverHost.get
zeppelin目录下hadoop版本和sprak目录下的版本不一致,把相应的jar包替换过去

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

  1. cd /home/haoren/soft/zeppelin/lib  

  2. rm -f hadoop-annotations-2.6.0.jar  

  3. rm -f hadoop-auth-2.6.0.jar  

  4. rm -f hadoop-common-2.6.0.jar  

  5.   

  6. cp /home/haoren/soft/spark/jars/hadoop-annotations-2.7.3.jar /home/haoren/soft/zeppelin/lib/  

  7. cp /home/haoren/soft/spark/jars/hadoop-auth-2.7.3.jar /home/haoren/soft/zeppelin/lib/  

  8. cp /home/haoren/soft/spark/jars/hadoop-common-2.7.3.jar /home/haoren/soft/zeppelin/lib/  



问题4:java.sql.SQLException: Failed to start database 'metastore_db' with class loader org.apache.spark.sql.hive.client.IsolatedClientLoader$$anon$1@5a0039e7, see the next exception for details
只是要注意一点:在运行程序之前,千万不要运行脚本sbin/start-thriftserver.sh,否则自己写的程序是无法运行的
情形一:已经有一个hive连接在访问Derby创建的metastore_db文件夹,由于Derby数据库自身的缺点--仅支持一个链接对其进行访问,所以这时,如果再有一个终端调用hive,就有第二个链接访问Derby数据库了,就会抛出这个异常。
解决方法很简单。用mysql作为元数据仓库,mysql支持多链接访问,这个问题就不存在了。
情形二:突然离线,易造成hive没能来得及删除自动创建的metastore_db文件夹(~home/bin/metastore_db),这时再次用hive命令进入,则会产生如下报错。
解决这一问题很简单。将metastore_db文件夹改名或者干脆删除,然后重新运行hive命令启动即可。










本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1894102,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
分布式计算 Hadoop 大数据
安装Spark
安装Spark
106 0
|
8月前
|
消息中间件 分布式计算 大数据
【大数据技术Hadoop+Spark】Flume、Kafka的简介及安装(图文解释 超详细)
【大数据技术Hadoop+Spark】Flume、Kafka的简介及安装(图文解释 超详细)
408 0
|
6月前
|
分布式计算 Java Serverless
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
本文以 ECS 连接 EMR Serverless Spark 为例,介绍如何通过 EMR Serverless spark-submit 命令行工具进行 Spark 任务开发。
450 7
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
|
5月前
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
245 0
|
6月前
|
分布式计算 Hadoop Serverless
数据处理的艺术:EMR Serverless Spark实践及应用体验
阿里云EMR Serverless Spark是基于Spark的全托管大数据处理平台,融合云原生弹性与自动化,提供任务全生命周期管理,让数据工程师专注数据分析。它内置高性能Fusion Engine,性能比开源Spark提升200%,并有成本优化的Celeborn服务。支持计算存储分离、OSS-HDFS兼容、DLF元数据管理,实现一站式的开发体验和Serverless资源管理。适用于数据报表、科学项目等场景,简化开发与运维流程。用户可通过阿里云控制台快速配置和体验EMR Serverless Spark服务。
|
7月前
|
分布式计算 运维 Serverless
通过Serverless Spark提交PySpark流任务的实践体验
EMR Serverless Spark服务是阿里云推出的一种全托管、一站式的数据计算平台,旨在简化大数据计算的工作流程,让用户更加专注于数据分析和价值提炼,而非基础设施的管理和运维。下面就跟我一起通过Serverless Spark提交PySpark流任务吧。
392 1
|
7月前
|
分布式计算 Spark 大数据
深入探究Apache Spark在大数据处理中的实践应用
【6月更文挑战第2天】Apache Spark是流行的开源大数据处理框架,以其内存计算速度和低延迟脱颖而出。本文涵盖Spark概述、核心组件(包括Spark Core、SQL、Streaming和MLlib)及其在数据预处理、批处理分析、交互式查询、实时处理和机器学习中的应用。通过理解Spark内部机制和实践应用,可提升大数据处理效率,发挥其在各行业的潜力。
|
8月前
|
分布式计算 Shell 开发工具
Spark编程实验二:RDD编程初级实践
Spark编程实验二:RDD编程初级实践
402 1
|
7月前
|
分布式计算 Shell Linux
Spark-集群安装、部署、启动、测试(1.6.3)稳定版
Spark-集群安装、部署、启动、测试(1.6.3)稳定版
74 0
|
8月前
|
分布式计算 Hadoop Scala
Spark【环境搭建 01】spark-3.0.0-without 单机版(安装+配置+测试案例)
【4月更文挑战第13天】Spark【环境搭建 01】spark-3.0.0-without 单机版(安装+配置+测试案例)
315 0

相关实验场景

更多