hue 集成spark+livy


hue 集成spark+livy

一.先決條件

 安裝hue、hadoop。

二.spark on yarn 安裝

1.添加環境變量 vim /etc/profile

SCALA_HOME=/opt/scala
SPARK_HOME=/opt/spark

2.配置spark; vim conf/spark-env.sh

#服務器域名
SPARK_LOCAL_IP=node7
#master 地址
SPARK_MASTER_HOST=node7
#master 端口
SPARK_MASTER_PORT=7077
#spark ui 端口
SPARK_MASTER_WEBUI_PORT=8080
#hadoop 配置目錄
export HADOOP_CONF_DIR=/opt/hadoop-2.7.4/etc/hadoop/

3.配置spark ;vim conf/spark-defaults.conf

#spark 依賴的jar包
spark.yarn.jars=hdfs://node7:9010/user/sparkJars/jars/*
hdfs://node7:9010/user/sparkJars/jars/* 該路徑的由來:
1. 找到spark程序目錄的jars目錄,如下圖:

2.將該路徑的jars包上傳到hdfs的目錄 (本例子中的hdfs路徑是:/user/sparkJars/jars)

注:如果不配置該路徑,那么每次提交spark 程序時就會上傳jars包,這樣會影響提交程序的效率,同時會占用hdfs的磁盤空間。

4.測試部署

使用spark-shell打開scala客戶端。

./bin/spark-shell --master yarn --deploy-mode client

如果yarn 后台上面出現下圖的記錄,則表示部署成功。

 

三.安裝livy

1. 下載livy 安裝包

下載地址:http://livy.incubator.apache.org/download/

2.設置環境變量

vim /etc/profile

#spark程序目錄
export SPARK_HOME=/opt/spark #hadoop 配置目錄 export HADOOP_CONF_DIR=/opt/hadoop-2.7.4/etc/hadoop/

再執行source profile命令,讓環境變量生效

3.解壓zip包

unzip livy-0.5.0-incubating-bin.zip
mv
livy-0.5.0-incubating-bin.zip livy-0.5.0

 

4.配置livy

vi livy.conf

#livy服務端口
livy.server.port = 8998

#spark程序部署使用yarn集群
livy.spark.master = yarn

#spark 程序使用客戶端模式
livy.spark.deploy-mode =client

四.配置hue

1.配置hue.ini 

vim hue.ini

[spark]
  # livy 服務器域名
  livy_server_host=node8

  # livy 服務器端口
  ## livy_server_port=8998

  # Configure Livy to start in local 'process' mode, or 'yarn' workers.
  livy_server_session_kind=yarn

 五.驗證配置是否正確

1.登錄hue后台,打開scala編輯頁,執行以下scala代碼

var counter = 0
val data = Array(1, 2, 3, 4, 5)
var rdd = sc.parallelize(data)

// Wrong: Don't do this!!
rdd.map(x=>x+1).collect()

出現如下結果,則證明集成成功。

六.可能出現的問題

 1. 在執行spark on yarn部署階段,執行“spark-shell --master yarn --deploy-mode client” 命令,出現異常:spark on yarn Another instance of Derby may have already booted the database

則執行ps -ef |grep spark-shell ,找到進程號,執行 命令:“kill -9 進程號”,殺死spark-shell進程,再次執行“spark-shell --master yarn --deploy-mode client” 就解決了。

 2.再執行spark on yarn部署階段,執行“spark-shell --master yarn --deploy-mode client” 命令,出現:Spark on yarn Container beyond virtual memory limits

解決方法:修改hadoop 的yarn-site.xml ,新增如下配置

<property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
</property>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM