制作spark鏡像
阿新 • • 發佈:2017-11-05
master 操作系統 無法使用 leg otp swd 要求 ado roo
之所以要這樣處理可以算是centos7的一個bug吧(盡管這個bug是開始之初就公布出來的,可以在github的官網上面看到):正常啟動docker無法使用systemctl,因為systemd采用的是fakeSystem;所以各種操作能夠在Dockerfile中實現就在dockerFile中實現,不要再docker start(run)之後,再進入到裏面的命令行來敲擊“systemctl”。從實際情況來看-v後面部分似乎不需要指定也是可以的。
以下是dockerifle核心內容:
.0_40
即可。
構建鏡像
添加jdk引用(可以使用yum進行安裝); 安裝SSH 碰到一個問題,執行systemctl的時候發生了異常: Failed to get D-Bus connection 解決這個問題的方式就是: docker run --privileged -ti -e "container=docker" -v /sys/fs/cgroup:/sys/fs/cgroup centos /usr/sbin/init 這種啟動方式將會導致操作系統重頭啟動,這個時候就會要求登錄;牽涉到root密碼問題,增加如下RUN指令首先密碼重置; echo "root:rootpwd" | chpasswdFROM daocloud.io/library/centos COPY spark-2.2.0-bin-hadoop2.7.tgz /opt COPY jdk1.8.tar.gz /opt RUN yum -y install openssh-server openssh-clients RUN echo "root:root" | chpasswd RUN systemctl enable sshd
這裏制作啟動鏡像,最好首先制作一個centos7-patch版本,安裝上lsof,ssh,jdk等必備工具;然後基於此鏡像之上,來制作spark鏡像
啟動spark
啟動spark: /opt/sparkjarfolder/sbin/start-all.sh 即可自動啟動master以及worker節點 spark的work節點啟動的時候報錯:JAVA_HOME is not set; 在conf文件夾下面的spark-env.sh中增加一句: export JAVA_HOME=/opt/jdk1.8制作spark鏡像