一、安装
1、安装
-
#
-
#wget
-
-
cd /home/haoren
-
tar zxvf spark-2.0.1-bin-hadoop2.7.tgz
-
ln -s /home/haoren/soft/spark-2.0.1-bin-hadoop2.7 /home/haoren/soft/spark
2、配置Spark
1) 设置Spark环境变量
-
vim .bash_profile 或 /etc/profile
-
export SPARK_HOME=/home/haoren/soft/spark
-
export PATH=$SPARK_HOME/bin:$PATH
-
-
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/
#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/
2)修改spark-env.sh
-
cd $SPARK_HOME
-
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
-
vim ./conf/spark-env.sh
-
加入
-
export SPARK_DIST_CLASSPATH=$(/home/haoren/soft/hadoop/bin/hadoop classpath)
-
-
export SPARK_CLASSPATH=$SPARK_CLASSPATH:/home/haoren/soft/mysql-connector-java-5.1.38.jar
3)运行
-
cd $SPARK_HOME
-
./bin/run-example SparkPi
-
#./sbin/spark-daemon.sh start
4)Spark Shell 进行交互分析
./bin/spark-shell
二、Zeppelin安装
1、安装zeppelin
-
#
-
#wget
-
-
cd /home/haoren/soft
-
tar zxvf zeppelin-0.6.2-bin-all.tgz
-
ln -s /home/haoren/soft/zeppelin-0.6.2-bin-all /home/haoren/soft/zeppelin
2、配置
文档参见:
1) 设置zeppelin环境变量
-
vim .bash_profile 或 /etc/profile
-
export ZEPPELIN_HOME=/home/haoren/soft/zeppelin
-
export PATH=$ZEPPELIN_HOME/bin:$PATH
-
-
echo $ZEPPELIN_HOME
2)修改zeppelin-env.sh
-
cd $ZEPPELIN_HOME
-
cp ./conf/zeppelin-env.sh.template ./conf/zeppelin-env.sh
-
vim ./conf/zeppelin-env.sh
-
-
-
#export ZEPPELIN_PORT=18081
-
-
export SPARK_HOME=/home/haoren/soft/spark
-
export HADOOP_CONF_DIR=/home/haoren/soft/hadoop
-
export SPARK_SUBMIT_OPTIONS="--packages com.databricks:spark-csv_2.10:1.2.0"
-
-
cp ./conf/zeppelin-site.xml.template ./conf/zeppelin-site.xml
-
vim ./conf/zeppelin-site.xml
-
18081
-
sed -i 's/8080/18081/' ./conf/zeppelin-site.xml
3)运行
-
cd $ZEPPELIN_HOME
-
./bin/zeppelin-daemon.sh start
-
./bin/zeppelin-daemon.sh stop
4)测试
打开网址:
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
-
cd /home/haoren/soft/zeppelin/lib
-
rm -f jackson-annotations-2.5.0.jar
-
rm -f jackson-core-2.5.3.jar
-
rm -f jackson-databind-2.5.3.jar
-
-
cp /home/haoren/soft/spark/jars/jackson-databind-2.6.5.jar /home/haoren/soft/zeppelin/lib/
-
cp /home/haoren/soft/spark/jars/jackson-core-2.6.5.jar /home/haoren/soft/zeppelin/lib/
-
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包替换过去
-
cd /home/haoren/soft/zeppelin/lib
-
rm -f hadoop-annotations-2.6.0.jar
-
rm -f hadoop-auth-2.6.0.jar
-
rm -f hadoop-common-2.6.0.jar
-
-
cp /home/haoren/soft/spark/jars/hadoop-annotations-2.7.3.jar /home/haoren/soft/zeppelin/lib/
-
cp /home/haoren/soft/spark/jars/hadoop-auth-2.7.3.jar /home/haoren/soft/zeppelin/lib/
-
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命令启动即可。
阅读(947) | 评论(0) | 转发(0) |