在EMR

2016-04-27 85 views
1

自舉過程中如何配置Zeppelin-env.sh我有一個腳本與Spark和齊柏林通過CLI,以及一個引導作用,安裝蟒蛇Python啓動EMR。在EMR

aws emr create-cluster --applications Name=Hadoop Name=Hive Name=Spark \ 
Name=Zeppelin-Sandbox \ 
...... \ 
--bootstrap-actions \ 
'[{"Path":"s3://mybucket/python_config.sh","Name":"Python_Config"},\ 
{"Path":"s3://mybucket/export_var.sh","Name":"Export_Variables"}]' 

我試圖在引導行動來配置zeppelin-env.sh從而使筆記本電腦被存儲到一個S3桶。我有第二個腳本,將三行的文件,但沒有奏效。

#!/bin/bash 
echo 'export ZEPPELIN_NOTEBOOK_S3_BUCKET=mybucket' | sudo tee -a /etc/zeppelin/conf.dist/zeppelin-env.sh 
echo 'export ZEPPELIN_NOTEBOOK_S3_USER=zeppelin' | sudo tee -a /etc/zeppelin/conf.dist/zeppelin-env.sh 
echo 'export ZEPPELIN_NOTEBOOK_STORAGE=org.apache.zeppelin.notebook.repo.S3NotebookRepo' | sudo tee -a /etc/zeppelin/conf.dist/zeppelin-env.sh 

然後我試圖添加其他的引導作用,通過百勝而不是應用程序命令「NAME =齊柏林沙盒」安裝飛艇。

#!/bin/bash 
cd /home/hadoop/ 
sudo yum -y install zeppelin 
echo 'export ZEPPELIN_NOTEBOOK_S3_BUCKET=mybucket' | sudo tee -a /etc/zeppelin/conf.dist/zeppelin-env.sh 
echo 'export ZEPPELIN_NOTEBOOK_S3_USER=zeppelin' | sudo tee -a /etc/zeppelin/conf.dist/zeppelin-env.sh 
echo 'export ZEPPELIN_NOTEBOOK_STORAGE=org.apache.zeppelin.notebook.repo.S3NotebookRepo' | sudo tee -a /etc/zeppelin/conf.dist/zeppelin-env.sh 
# Start Zeppelin 
sudo /usr/lib/zeppelin/bin/zeppelin-daemon.sh start 

啓動腳本失敗,Bootstrapping失敗,因爲引導操作返回非零錯誤代碼。

有沒有我可以插入配置在引導過程中zeppelin-env.sh使後集羣就緒時,它可以自動設置任何其他方式?先謝謝你!

回答

2

引導程序操作在安裝或配置任何應用程序之前運行,因此使用引導操作自行配置應用程序並不是非常簡單,因爲像/ etc/zeppelin/conf這樣的目錄在引導時不會存在行動運行。

相反,你應該使用配置API,如下所述:http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html

特別是,這種情況下,你會想用「出口」的「齊柏林ENV」的子分類結構分類。