共计 1087 个字符,预计需要花费 3 分钟才能阅读完成。
一、目前存在的问题
在阅读这篇文章之前,你应该先阅读:简单认识 namenode 和 datanode.
在之前,我们启动 Hadoop 集群的时候,首先是启动 namenode,然后启动 datanode. 注意:我们之前的做法是手动的将启动 datanode 的命令发送给所有的 datanode,显然如果在集群很庞大的时候,这种做法是不合适的. 我们希望通过 start-dfs.sh 的方式启动所有的节点. 那么我们就需要配置 namenode 机器上面的 slaves 文件,这个文件管理着这个 namenode 下面所有的 datanode. 这个文件的位于:${hadoop_home}/etc/hadoop, 其中 ${hadoop_home} 是 Hadoop 的安装目录.
二、配置 namenode 机器上 slaves 文件
1. 运行 cd /usr/local/hadoop/hadoop-2.7.3/etc/hadoop 进入到 slaves 文件所在的目录
2. 运行 vim slaves 命令,添加 slave 机器名称, 保存并退出。
三、配置免密 SSH 远程登陆
1. 在 namenode 机器上面,进入 /root/.ssh 目录下面,运行命令: ssh-keygen -t rsa
2. 将 namenode 机器上面的公钥 copy 到 npfdev1(本机),npfdev2,npfdev3,npfdev4 上面.
运行如下命令:
ssh-copy-id npfdev1
ssh-copy-id npfdev2
ssh-copy-id npfdev3
ssh-copy-id npfdev4
四、在 namenode 机器上运行 start-dfs.sh 启动集群
1. 启动完成之后,查看:
注意:start-dfs.sh 会默认启动 secondarynamenode
五、在 namenode 机器上运行 stop-dfs.sh 启动集群
1. 停止完成之后,查看:
六、启动和关闭 Hadoop 集群命令步骤总结:
1. 修改 master 上 /etc/hadoop/slaves 文件,每一个 slave 占一行.
2. 配置免密 SSH 远程登陆.
3. start-dfs.sh 启动集群.
4. stop-dfs.sh 停止集群.
注意:如果你出现类似的错误,
解决方法是在 hadoop-env.sh 和 yarn-env.sh 中添加如下两行:
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS=”-Djava.library.path=$HADOOP_PREFIX/lib”
参考文献:
1. Hadoop 2.2.0 集群安装
: