第一步: 去官网下载压缩包.
http://zeppelin.apache.org/download.html
第二步: 解压安装.
注意点: Zeppline 依赖 Java, 因此需要配置好 java 环境.
第三步: 启动 (坑多)
进入到 /bin 目录下, 用 ./zeppline-demaon.sh start 启动.
./zeppelin-dameon.sh start
注意点:
一: Zeppelin 默认启动后, 只能使用 localhost:8080 这个url 来访问, 其他的都不行.
比如, 你的虚拟机在局域网内的 ip 为 192.168.0.244, 是不能通过 192.168.0.244:8080 这个url来访问的!!! 大坑, 因此需要进入 conf 配置.
修改 Zeppelin-site.xml 文件中的 如下内容:
<property>
<name>zeppelin.server.addr</name>
<value>127.0.0.1</value> # 把此处的 ip 改成 0.0.0.0 !!!
<description>Server binding address</description>
</property>
修改后, 重启即可, 然后就可以在局域网内的任何一台电脑上用 192.168.0.244:8080 来访问 Zeppelin 的 WebUI.
二: 端口冲突.
默认使用的是 8080 端口, 启动之前, 用 lsof 工具查看是否被占用.
lsof -i:8080
如果没有输出, 说明没有被任何进程占用.
如果冲突, 在 Zeppelin-site.xml 文件中, 修改端口:
<property>
<name>zeppelin.server.port</name>
<value>8080</value>
<description>Server port.</description>
</property>
第四步:用户配置
先把允许匿名用户关闭, 在 Zeppelin-site.xml 中修改:
<property>
<name>zeppelin.anonymous.allowed</name>
<value>true</value> # 此处改成 false
<description>Anonymous user allowed by default</description>
</property>
修改 shiro.ini 文件, 在 user 模块下, 添加用户名和密码及角色
[users]
admin = admin, admin
# 用户名 = 密码, 角色 (密码不包括那个逗号!)
致此, Zeppelin 初步的安装和配置完成!
配置 Spark 解析器:
根据官网介绍, 配置 spark 解析器, 只需要两步:
第一步: 修改 Zeppelin-env.sh , 修改如下:
#### Spark interpreter configuration ####
## Kerberos ticket refresh setting
##
#export KINIT_FAIL_THRESHOLD # (optional) How many times should kinit retry. The default value is 5.
#export KERBEROS_REFRESH_INTERVAL # (optional) The refresh interval for Kerberos ticket. The default value is 1d.
## Use provided spark installation ##
## defining SPARK_HOME makes Zeppelin run spark interpreter process using spark-submit
##
export SPARK_HOME=/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/spark #---------------------修改此处
# (required) When it is defined, load it instead of Zeppelin embedded Spark libraries
# export SPARK_SUBMIT_OPTIONS # (optional) extra options to pass to spark submit. eg) "--driver-memory 512M --executor-memory 1G".
# export SPARK_APP_NAME # (optional) The name of spark application.
## Use embedded spark binaries ##
## without SPARK_HOME defined, Zeppelin still able to run spark interpreter process using embedded spark binaries.
## however, it is not encouraged when you can define SPARK_HOME
##
# Options read in YARN client mode
export HADOOP_CONF_DIR=/etc/hadoop/conf # ------------------------- 修改此处
# yarn-site.xml is located in configuration directory in HADOOP_CONF_DIR.
# Pyspark (supported with Spark 1.2.1 and above)
# To configure pyspark, you need to set spark distribution's path to 'spark.home' property in Interpreter setting screen in Zeppelin GUI
# export PYSPARK_PYTHON # path to the python command. must be the same path on the driver(Zeppelin) and all workers.
# export PYTHONPATH
## Spark interpreter options ##
##
# export ZEPPELIN_SPARK_USEHIVECONTEXT # Use HiveContext instead of SQLContext if set true. true by default.
# export ZEPPELIN_SPARK_CONCURRENTSQL # Execute multiple SQL concurrently if set true. false by default.
# export ZEPPELIN_SPARK_IMPORTIMPLICIT # Import implicits, UDF collection, and sql if set true. true by default.
# export ZEPPELIN_SPARK_MAXRESULT # Max number of Spark SQL result to display. 1000 by default.
# export ZEPPELIN_WEBSOCKET_MAX_TEXT_MESSAGE_SIZE # Size in characters of the maximum text message to be received by websocket. Defaults to 1024000
以上内容, 来源于 Zeppelin-en.sh 的 spark interpreter 模块, 需要修改 spark_home 和 hadoop_conf_dir, 其中 hadoop_conf_dir 只有在使用 spark on yarn 的时候需要修改.
第二步: 重启后, 进入 interpreter 面板, 修改 master 为你的 spark 在yarn上面的提交模式, 有 client 和 cluster 两种:

官方配置文档:
http://zeppelin.apache.org/docs/0.8.2/interpreter/spark.html#configuration
接下来, 如果顺利的话, 创建 note book, 使用 spark interpreter , 就可以运行 spark 程序了, 如果报错, 那恭喜你, 有的折腾了, 哈哈哈!
报错, 先去 logs 目录下看日志
看 interpreter 的启动日志, 我的几次报错都是报 NoSuchMethodError 类似的错误, 这类错误一般都是因为 jar 包版本冲突导致的.
如 一开始的 Netty 报错 NoSuchMethodError, 只需要把 spark 的 jars 目录下的有关 Netty 的 jar 包拷贝到 Zeepline 的 lib 目录下, 替换原来的 Netty 相关的 jar 包, 便可以解决这个问题.
冲突的 jar 包不少, 前前后后有拷贝 hadoop-yarn 相关的, jackson, netty 相关的, 最终 spark interpreter 启动成功, 成功执行 sparkSQL!

本文详细介绍Apache Zeppelin的安装步骤,从下载压缩包到配置Java环境,再到启动与网络访问设置,最后深入配置Spark解析器,确保在YARN集群上正确运行。文章覆盖Zeppelin与Spark的常见配置问题及解决方案。
938

被折叠的 条评论
为什么被折叠?



