配置原型
1.首先,我们将使用之前准备的 hadoop_proto 镜像启动为容器:
docker run -d --name=hadoop_temp --privileged hadoop_proto /usr/sbin/init
2.进入 Hadoop 的配置文件目录:
cd $HADOOP_HOME/etc/hadoop
3.现在对这里的文件的作用做简单的描述:
文件 | 作用 |
---|---|
workers | 记录所有的数据节点的主机名或 IP 地址 |
core-site.xml | Hadoop 核心配置 |
hdfs-site.xml | HDFS 配置项 |
mapred-site.xml | MapReduce 配置项 |
yarn-site.xml | YARN 配置项 |
4.编辑 workers ,更改文件内容为:
dn1 dn2
5.编辑 core-site.xml,在 中添加以下配置项:
<!-- 配置 HDFS 主机地址与端口号 --> <property> <name>fs.defaultFS</name> <value>hdfs://nn:9000</value> </property> <!-- 配置 Hadoop 的临时文件目录 --> <property> <name>hadoop.tmp.dir</name> <value>file:///home/hadoop/tmp</value> </property>
6.配置 hdfs-site.xml,在 中添加以下配置项:
<!-- 每个数据块复制 2 份存储 --> <property> <name>dfs.replication</name> <value>2</value> </property> <!-- 设置储存命名信息的目录 --> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/hadoop/hdfs/name</value> </property>
7.最后需要配置一下 SSH :
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa ssh-copy-id -i ~/.ssh/id_rsa hadoop@localhost
部署集群
1.进入命名节点:
docker exec -it nn su hadoop
2.格式化 HDFS:
hdfs namenode -format
3.如果没有出错,那么下一步就可以启动 HDFS:
start-dfs.sh/start-yarn.sh
最后,jps检测是否成功启动