一、实验环境(实验设备)
硬件:单核CPU、内存1G 软件:Ubuntu 16.04操作系统、Docker、Hadoop
二、实验原理及内容
1.在Ubuntu系统中安装Docker
Apt install docker

Apt-get install docker.io

2.Docker 安装 hadoop
1).查找hadoop 镜像

2)将镜像pull下

3)通过docker images命令查看hadoop镜像是否pull成功

4)先通过命令
docker run -i -t --name Master -h Master -p 50070:50070 sequenceiq/hadoop-docker /bin/bash
运行一个hadoop镜像作为hadoop集群的namenode

docker run -i -t --name Slave1 -h Slave1 sequenceiq/hadoop-docker /bin/bash
docker run -i -t --name Slave2 -h Slave2 sequenceiq/hadoop-docker /bin/bash

3.hadoop三个节点之间无秘ssh配置
1)进入Master容器里面运行/etc/init.d/sshd start开启ssh,然后使用命令ssh-keygen -t rsa生成秘钥,最后将秘钥保存到authorized_keys中。





<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://had0:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/data/hadoopdata</value>
</property>
</configuration>
2)hdfs-site.xml配置

<property>
<name>dfs.namenode.name.dir</name>
<value>/home/data/hadoopdata/name</value>
</property>
  <!--配置存储namenode数据的目录-->
  <property>
<name>dfs.datanode.data.dir</name>
<value>/home/data/hadoopdata/data</value>
</property>
  <!--配置存储datanode数据的目录-->
  <property>
<name>dfs.replication</name>
<value>2</value>
</property>
  <!--配置部分数量-->
3)mapred-site.xml配置

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>  <!--配置mapreduce任务所在的资源调度平台-->
</configuration>
4)yarn-site.xml配置

<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>slave1</value>
</property>
<!--配置yarn主节点-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--配置执行的计算框架-->
</configuration>
然后使用命令scp将该配置分发到其余两个节点,至此hadoop的配置完成


