博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spark和zeppelin实践二:安装spark和zeppelin
阅读量:2388 次
发布时间:2019-05-10

本文共 4366 字,大约阅读时间需要 14 分钟。

一、安装

1、安装spark

[plain]   
 
  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]   
 
  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]   
 
  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]   
 
  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]   
 
  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、配置

文档参见:


1) 设置zeppelin环境变量

[plain]   
 
  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]   
 
  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]   
 
  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]   
 
  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]   
 
  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命令启动即可。

转载地址:http://ekpab.baihongyu.com/

你可能感兴趣的文章
centos7(三节点)搭建ceph环境
查看>>
将linux(ubuntu)安装到U盘下面--便携式ubuntu和使用dd制作U盘安装工具
查看>>
linux之强大的find命令
查看>>
python使用变量操作mysql语句
查看>>
linux bridge 网桥详解
查看>>
ceph&openstack发展前景
查看>>
Mysql之主键、外键和各种索引
查看>>
ceph&云计算
查看>>
python main()函数 name == ‘main’:
查看>>
flask一个基本的http响应流程
查看>>
linux常见的文件及目录操作12个命令
查看>>
挂载ceph的rbd块存储作为本地磁盘块
查看>>
ceph的块设备的两种使用方式及代码示例
查看>>
查看python中模块的所有方法
查看>>
ceph对象存储的配置与S3、swift接口的使用
查看>>
python通过librados库通过底层的rados操作ceph的对象存储和块存储
查看>>
在客户端使用python来调用boto S3 API来操作librados库
查看>>
ceph存储数据的详细流程(CRUSH)
查看>>
linux内核模块详解
查看>>
ceph集群的扩展(centos7环境)
查看>>