0
点赞
收藏
分享

微信扫一扫

局域网搭建hadoop平台——基于基础镜像通过Dockerfile创建Hadoop镜像

创建一个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,看到相关信息我会尽快回复。

 


举报

相关推荐

0 条评论