Ich habe ein Skript, um EMR mit Spark und Zeppelin über CLI zu starten, sowie eine Bootstrap-Aktion, um Anaconda Python zu installieren.Konfigurieren von Zeppelin-env.sh beim Bootstrapping in 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"}]'
Ich versuchte, die zeppelin-env.sh während der Bootstrap-Aktionen so zu konfigurieren, dass die Notebooks mit einem s3 Eimer gespeichert ist. Ich hatte ein zweites Skript, um drei Zeilen in die Datei einzufügen, aber es hat nicht funktioniert.
#!/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
Dann habe ich versucht, eine andere Bootstrap-Aktion hinzufügen zeppelin durch yum anstelle des Anwendungsbefehls "Name = Zeppelin-Sandbox" zu installieren.
Das Startskript ist dann fehlgeschlagen, da Bootstrapping fehlgeschlagen ist, da Bootstrap-Aktionen einen Fehlercode ungleich null zurückgegeben haben.
Gibt es eine andere Möglichkeit, die Konfigurationen während des Bootstrappings in zeppelin-env.sh einzufügen, so dass es automatisch eingerichtet werden kann, nachdem der Cluster bereit ist? Vielen Dank im Voraus!