CentOS7.2へZeppelin0.7.0のインストール

Zeppelinになれてきたのでちゃんとした環境を作ろうと
サーバをちゃんと借りて再度、過去の手順を実施。

全然動かんし、Manualも0.6.0はほぼLink切れになり始めてるし。

というわけで、ダイジェストで振り返り。

過去記事
CentOS7にZeppelinインストール
Apache ZeppelinでMysql接続
ZeppelinでRを使う
ZeppelinでLogin機能をつける

で、実はMysqlの接続方法など思ったのと違ってたから変えたんだけど記事を忘れてた。
これが正式版だ!

一応、公式
これもバージョンアップしたらリンク切れになるんだろう。
ここのInstallを手順のベースにするのは変わらない。

事前準備

yum update
yum install git
yum install java-1.8.0-openjdk-devel
yum install npm
yum install fontconfig-devel

wget http://www.eu.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
sudo tar -zxf apache-maven-3.3.9-bin.tar.gz -C /usr/local/
sudo ln -s /usr/local/apache-maven-3.3.9/bin/mvn /usr/local/bin/mvn

wgetが利用しているCloudが腐っていたのか一時的に使えず。
IP-V6の問題かと思ったけど、再度OSから入れなおしたら動いたのでそんなことなさそう。

Zeppelinインストール

git clone https://github.com/apache/zeppelin.git
cd zeppelin/

mvn clean package -Pspark-1.6 -Phadoop-2.6 -Pyarn -Ppyspark -Psparkr -Pvendor-repo -Pmapr51 -DskipTests

# -Prオプション指定すると失敗する。RへのPathが通っていないことが原因だと思うが
# 解決方法が不明なのでsparkrが使えればいいやと諦め。

-Prを指定した時のエラー

[INFO] --- exec-maven-plugin:1.2.1:exec (default) @ zeppelin-zrinterpreter ---
+++ dirname R/install-dev.sh
++ cd R
++ pwd
+ FWDIR=/root/zeppelin/r/R
+ LIB_DIR=/root/zeppelin/r/R/../../R/lib
+ mkdir -p /root/zeppelin/r/R/../../R/lib
+ pushd /root/zeppelin/r/R
+ R CMD INSTALL --library=/root/zeppelin/r/R/../../R/lib /root/zeppelin/r/R/rzeppelin/
R/install-dev.sh: line 38: R: command not found

簡単に動作確認

./bin/zeppelin-daemon.sh start
systemctl status firewalld
firewall-cmd --list-all
firewall-cmd --add-port=8080/tcp --zone=public --permanent
firewall-cmd --reload

設定変更するファイルのバックアップなど

cp -p ./conf/zeppelin-site.xml.template ./conf/zeppelin-site.xml
cp -p ./conf/zeppelin-env.sh.template ./conf/zeppelin-env.sh
cp -p ./conf/shiro.ini ./conf/shiro.ini.org

Login機能の有効化

shiro.ini

[users]
#admin = password1, admin
#user1 = password2, role1, role2
#user2 = password3, role3
#user3 = password4, role2

[urls]
#/** = anon
/** = authc

[users]領域
デフォルトのユーザをコメントアウト。
その後独自のユーザパスワード、Roleを設定。

[urls]領域
anonをコメントアウト。authcのコメント解除。

zeppelin-site.xml

<property>
  <name>zeppelin.anonymous.allowed</name>
  <value>false</value>
  <description>Anonymous user allowed by default</description>
</property>

annonymousの許可を無効化(valueをtrue→false)

jdbcドライバの有効化

事前にWebSiteのInterpreterからJdbcを選択し、artifactに「mysql:mysql-connector-java:5.1.39」追加する。
0.6.0で設定失敗したなーと思ってたところが、できないように修正されてる!
zeppelin-env.sh

export SPARK_HOME="/home/*UserName*/zeppelin/spark-dependencies/target/spark-bin-dist/spark-1.6.1-bin-without-hadoop"
export SPARK_SUBMIT_OPTIONS="--jars /home/*UserName*/zeppelin/local-repo/mysql/mysql-connector-java/5.1.39/mysql-connector-java-5.1.39.jar"

これでほぼ理想的な動きになった。
SSL接続もできるようにする必要もありそう。

追記。
結局SPARKは別途入れました。
また、sparkのinterpreterにmysql:mysql-connector-java:5.1.39を追加しました。
逆に、SPARK_HOMEは設定したものの、SPARK_SUBMIT_OPTIONSは未設定です。

wget http://ftp.jaist.ac.jp/pub/apache/spark/spark-1.6.2/spark-1.6.2-bin-cdh4.tgz

さらに追記。
Rも結局入れました。
公式サイトを見よう。

yum install R R-devel libcurl-devel openssl-devel

+ devtools with `R -e "install.packages('devtools', repos = 'http://cran.us.r-project.org')"`
+ knitr with `R -e "install.packages('knitr', repos = 'http://cran.us.r-project.org')"`
+ ggplot2 with `R -e "install.packages('ggplot2', repos = 'http://cran.us.r-project.org')"`
+ Other vizualisation librairies: `R -e "install.packages(c('devtools','mplot', 'googleVis'), repos = 'http://cran.us.r-project.org'); require(devtools); install_github('ramnathv/rCharts')"`

Leave a Reply

Your email address will not be published. Required fields are marked *