使用docker安裝Hadoop和Spark
阿新 • • 發佈:2018-12-19
使用docker配置安裝hadoop和spark
分別安裝hadoop和spark映象
安裝hadoop映象
選擇的docker映象地址,這個映象提供的hadoop版本比較新,且安裝的是jdk8,可以支援安裝最新版本的spark。
docker pull uhopper/hadoop:2.8.1
安裝spark映象
如果對spark版本要求不是很高,可以直接拉取別人的映象,若要求新版本,則需要對dockerfile進行配置。
環境準備
-
下載sequenceiq/spark映象構建原始碼
git clone https://github.com/sequenceiq/docker-spark
-
將下載的檔案需要放到docker-spark目錄下
-
檢視本地image,確保已經安裝了hadoop
-
進入docker-spark目錄,確認所有用於映象構建的檔案已經準備好
修改配置檔案
-
修改Dockerfile為以下內容
-
FROM sequenceiq/hadoop-docker:2.7.0 MAINTAINER scottdyt #support for Hadoop 2.7.0 #RUN curl -s http://d3kbcqa49mib13.cloudfront.net/spark-1.6.1-bin-hadoop2.6.tgz | tar -xz -C /usr/local/ ADD spark-2.3.2-bin-hadoop2.7.tgz /usr/local/ RUN cd /usr/local && ln -s spark-2.3.2-bin-hadoop2.7 spark ENV SPARK_HOME /usr/local/spark RUN mkdir $SPARK_HOME/yarn-remote-client ADD yarn-remote-client $SPARK_HOME/yarn-remote-client RUN $BOOTSTRAP && $HADOOP_PREFIX/bin/hadoop dfsadmin -safemode leave && $HADOOP_PREFIX/bin/hdfs dfs -put $SPARK_HOME-2.3.2-bin-hadoop2.7/jars /spark && $HADOOP_PREFIX/bin/hdfs dfs -put $SPARK_HOME-2.3.2-bin-hadoop2.7/examples/jars /spark ENV YARN_CONF_DIR $HADOOP_PREFIX/etc/hadoop ENV PATH $PATH:$SPARK_HOME/bin:$HADOOP_PREFIX/bin # update boot script COPY bootstrap.sh /etc/bootstrap.sh RUN chown root.root /etc/bootstrap.sh RUN chmod 700 /etc/bootstrap.sh #install R RUN rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm RUN yum -y install R ENTRYPOINT ["/etc/bootstrap.sh"]
-
-
修改bootstrap.sh為以下內容
#!/bin/bash : ${HADOOP_PREFIX:=/usr/local/hadoop} $HADOOP_PREFIX/etc/hadoop/hadoop-env.sh rm /tmp/*.pid # installing libraries if any - (resource urls added comma separated to the ACP system variable) cd $HADOOP_PREFIX/share/hadoop/common ; for cp in ${ACP//,/ }; do echo == $cp; curl -LO $cp
構建映象
docker build --rm -t scottdyt/spark:2.3.2 .
檢視映象
啟動一個spark2.3.1容器
docker run -it -p 8088:8088 -p 8042:8042 -p 4040:4040 -h sandbox scottdyt/spark:2.3.2 bash
啟動成功:
安裝spark-hadoop映象
如果想偷懶一點,直接安裝裝好spark和hadoop的映象,映象地址在這裡。
或者直接在終端輸入:
docker pull uhopper/hadoop-spark:2.1.2_2.8.1
安裝完成: