构建Hadoop集群实验
(1)在#后输入cd /home/命令,进入home目录下,在#后输入vi Dockerfile命令,创建并编辑一个Dockerfile文件,示例代码如下:[root@xxx home]# vi Dockerfile按i(小写)键,进入编辑模式,将以下代码输入至Dockerfile文件当中。示例代码如下:FROM centosMAINTAINER zingADD jdk-7u79...
(1)在#后输入cd /home/命令,进入home目录下,在#后输入vi Dockerfile命令,创建并编辑一个Dockerfile文件,示例代码如下:
[root@xxx home]# vi Dockerfile
按i(小写)键,进入编辑模式,将以下代码输入至Dockerfile文件当中。示例代码如下:
FROM centos
MAINTAINER zing
ADD jdk-7u79-linux-x64.tar.gz /usr/local/
ENV JAVA_HOME /usr/local/jdk1.7.0_79
ENV PATH $JAVA_HOME/bin:$PATH
ADD hadoop-2.6.4.tar.gz /usr/local
ADD hadoop-env.sh /usr/local/hadoop-2.6.4/etc/hadoop/hadoop-env.sh
ADD hdfs-site.xml /usr/local/hadoop-2.6.4/etc/hadoop/hdfs-site.xml
ADD core-site.xml /usr/local/hadoop-2.6.4/etc/hadoop/core-site.xml
ADD yarn-site.xml /usr/local/hadoop-2.6.4/etc/hadoop/yarn-site.xml
ADD mapred-site.xml /usr/local/hadoop-2.6.4/etc/hadoop/mapred-site.xml
ADD slaves /usr/local/hadoop-2.6.4/etc/hadoop/slaves
ENV HADOOP_HOME /usr/local/hadoop-2.6.4
ENV PATH $HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
RUN yum install -y openssh-server openssh-clients sudo which
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
RUN echo "root:000000" | chpasswd
RUN echo "root ALL=(ALL) ALL" >> /etc/sudoers
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN mkdir /var/run/sshd
EXPOSE 22 50070 8088
CMD ["/usr/sbin/sshd", "-D"]
按Esc键进入末行模式,输入:wq命令,保存内容并退出。示例代码如图1所示:
(2)在#后输入docker build -t zing/hadoop .命令,构建镜像,示例代码如图2所示:
(3)待构建完成后,在#后输入docker images命令,查看镜像列表。示例代码如图3所示:
(4)通过在#后输入docker network create --subnet 192.168.5.0/24 --gateway 192.168.5.1 hadoop_net命令,创建Hadoop集群的网络。示例代码如图4所示:
(5)在#后输入docker run -idt -P --name master -h master --net hadoop_net zing/hadoop命令,使用Hadoop镜像创建master容器,然后在#后输入docker run -idt -P --name slave -h slave --net hadoop_net zing/hadoop命令,使用Hadoop镜像创建slave容器,示例代码如图5所示:
(6)在#后docker exec -it master ping -c 4 slave命令,检查Hadoop集群之间是否能通信,示例代码如图6所示:
(7)在#后输入docker exec -it master ssh-keygen命令,为master容器配置SSH无密钥登录,在(/root/.ssh/id_rsa):后按Enter键,在(empty for no passphrase):后按Enter键,在Enter same passphrase again:后按Enter键,示例代码如图7所示:
(8)在#后输入docker exec -it slave ssh-keygen命令,为master容器配置SSH无密钥登录,在(/root/.ssh/id_rsa):后按Enter键,在(empty for no passphrase):后按Enter键,在Enter same passphrase again:后按Enter键,示例代码如图8所示:
(9)在#后输入docker exec -it master ssh-copy-id slave命令,将master容器中的秘钥复制到slave中,在(yes/no)?后输入yes,在root@slave’s password:后输入密码000000,按Enter键,示例代码如图9所示:
(10)在#后输入docker exec -it slave ssh-copy-id master命令,将slave容器中的秘钥复制到master中,在(yes/no)?后输入yes,在root@master’s password:后输入密码000000,按Enter键,示例代码如图10所示:
(11)在#后输入docker exec -it master ssh-copy-id master命令,将master容器中的秘钥复制到master中,在(yes/no)?后输入yes,在root@master’s password:后输入密码000000,按Enter键,示例代码如图11所示:
(12)在#后输入docker exec -it slave ssh-copy-id slave命令,将slave容器中的秘钥复制到slave中,在(yes/no)?后输入yes,在root@slave’s password:后输入密码000000,按Enter键,示例代码如图12所示:
(13)在#后输入docker exec -it master hadoop namenode –format命令,初始化Hadoop集群,示例代码如图13所示:
初始化完成示例代码如图14所示:
(14)在#后输入docker exec -it master start-all.sh命令,启动Hadoop集群,在(yes/no)?后输入yes,并按Enter键。示例代码如图15所示:
(15)在#后输入docker port master命令,查看Hadoop集群映射端口,示例代码如图16所示:
(16)在#后输入curl -L http://127.0.0.1:32772命令(端口号为8088映射的端口),通过curl获取Hadoop集群网页代码,示例代码如图17所示:
更多推荐
所有评论(0)