區域網搭建hadoop平臺——基於基礎映象通過Dockerfile建立Hadoop映象
阿新 • • 發佈:2018-12-26
建立一個base.repo檔案
在window機器上建立一個檔案base.repo,檔案包含內容如下:
[base] name=RedHat baseurl=http://172.17.0.2/RedHat gpgcheck=1 gpgkey=http://172.17.0.2/RedHat/RPM-GPG-KEY-redhat-release [updates] name=RedHat baseurl=http://172.17.0.2/RedHat gpgcheck=1 gpgkey=http://172.17.0.2/RedHat/RPM-GPG-KEY-redhat-release [extras] name=RedHat baseurl=http://172.17.0.2/RedHat gpgcheck=1 gpgkey=http://172.17.0.2/RedHat/RPM-GPG-KEY-redhat-release
編寫Dockerfile檔案
在window編寫Dockerfile檔案,檔案包含如下內容:
FROM redhat:7.3 MAINTAINER henni_719 COPY jdk1.8.0_171 /usr/local/jdk1.8.0_171 RUN mkdir /data && mkdir /data/hdfs &&mkdir /data/hdfs/name && mkdir /data/hdfs/data && mkdir /data/hdfs/tmp COPY hadoop-3.1.1 /data/hadoop-3.1.1 COPY base.repo /etc/yum.repos.d/base.repo ENV JAVA_HOME=/usr/local/jdk1.8.0_171 ENV JRE_HOME=$JAVA_HOME/jre ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib ENV PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH ENV HADOOP_HOME=/data/hadoop-3.1.1 ENV HADOOP_COMMON_HOME=$HADOOP_HOME ENV HADOOP_HDFS_HOME=$HADOOP_HOME ENV HADOOP_MAPRED_HOME=$HADOOP_HOME ENV HADOOP_YARN_HOME=$HADOOP_HOME ENV HADOOP_INSTALL=$HADOOP_HOME ENV HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native ENV HADOOP_CONF_DIR=$HADOOP_HOME ENV HADOOP_PREFIX=$HADOOP_HOME ENV HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec ENV JAVA_LIBIRARY_PATH==$HADOOP_HOME/lib/native:$JAVA_LIBIRARY_PATH ENV HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop ENV HDFS_DATANODE_USER=root ENV HDFS_DATANODE_SECURE_USER=root ENV HDFS_SECONDARYNAMENODE_USER=root ENV HDFS_NAMENODE_USER=root ENV YARN_RESOURCEMANAGER_USER=root ENV YARN_RESOURCEMANAGER_USER=root ENV HDFS_SECURE_DN_USER=root ENV YARN_NODEMANAGER_USER=root ENV PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin EXPOSE 9000 9001 18040 18030 18088 18025 18141 50070 RUN yum -y install openssh* RUN chmod -R 777 /usr/local/jdk1.8.0_171 && chmod -R 777 /data/hadoop-3.1.1 && source /etc/profile
把Dockerfile拖進宿主機的/root中
在/root目錄下包含如下內容:base.repo、Dockerfile、jdk1.8.0_171、hadoop-3.1.1。然後在宿主機上執行命令:
docker build -t hadoop:3.1.1 .
建立hadoop:3.1.1映象,檢視映象構建過程的輸出資訊,出現安裝openssh-server中紅色警告可以忽略,因為ssh服務已經安裝成功。
驗證映象能成功使用
在宿主機使用映象hadoop:3.1.1建立容器:
docker run -id name test hadoop:3.1.1 bash
進入容器:
docker exec -it test bash
執行命令:
hadoop version
在顯示Hadoop 3.1.1,說明映象可以正常使用。
至此hadoop的映象建立成功。該映象用於後面大資料hadoop平臺建立。如果有問題可以加入QQ群:320542475,看到相關資訊我會盡快回復。