> Linux集群 > Hadoop >

构建Hadoop集群实验

(1)通过实训平台进入到操作系统界面,在#后输入mkdir ssh命令,创建一个ssh文件夹,然后在#后输入cd ssh命令,进入ssh文件夹中。示例代码如下:
 
[root@it~]# mkdir ssh
 
[root@it~]# cd ssh
 
(2)在#后输入vi Dockerfile命令,创建并编辑一个Dockerfile文件,示例代码如下:
 
[root@itssh]# vi Dockerfile
 
按i(小写)键,进入编辑模式,将以下代码输入至Dockerfile文件当中。示例代码如下:
 
FROM centos
MAINTAINER zing
RUN yum install -y openssh-server openssh-clients sudo
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
 
CMD ["/usr/sbin/sshd", "-D"]
 

 
按Esc键进入末行模式,输入:wq命令,保存内容并退出。示例代码如图1所示:

 
 
(3)在#后输入docker build -t zing/ssh .命令,构建镜像,示例代码如图2所示:


 
 
(4)待构建完成后,在#后输入docker images命令,查看镜像列表。示例代码如图3所示:

 
 
(5)在#后输入docker run -itd -p 2223:22 --name ssh zing/ssh命令,运行SSH镜像,将本地2223端口映射容器22端口。在#后输入docker ps -l命令查看。示例代码如图4所示:
 


 
(6)在#后输入docker inspect ssh |grep IPAddress命令,查看SSH容器的IP地址,然后在#后输入ssh 172.17.0.2(IP地址为查询地址)命令,在提示(yes/no)?后输入yes,并按Enter键确认,在root@172.17.1.2’s password:后输入密码000000,并按Enter键确认,此时可进入SSH容器中,示例代码如图5所示:
 





(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所示:
 

 

(责任编辑:IT)