Hadoop 集群搭建
2019-01-03
配置 HDFS
环境预先安装 Java 并配置 JAVA_HOME
环境变量。下载 Hadoop 的二进制包,解压并移动至 /usr/local
,一般情况下我会去掉文件夹上的版本号。配置 HADOOP_HOME
环境变量并把 HADOOP_HOME
下的 bin 和 sbin 加入PATH 。
设置所有机器的 core-site.xml
指定 master 机器和 tmp
目录。
1 | <property> |
格式化 HDFS
,master 格式化为 Namenode
,slave 为 Datanode
。
1 | hdfs namenode -format |
设置 ssh 免密登录后,将所有 slave 的 hostname 加入 /usr/local/hadoop/etc/hadoop/slaves
文件当中,这个时候 HDFS 系统就可启动了,执行:start-dfs.sh
,可在 http://master:50070 中查看相关信息。
如果需要在其他客户端机器访问 HDFS ,会遇到权限问题,暂时关闭可以配置为:
1 | <property> |
Yarn 配置
指定 ResourceManager
和 NodeManager
即可。
master 的 yarn-site.xml
配置如下:
1 | <property> |
slave 的 yarn-site.xml
配置如下:
1 | <property> |
启动 start-yarn.sh
,在 http://master:8088 查看 yarn 集群状态。
MapReduce 配置
HDFS、Yarn 和 MapReduce 三者是低耦合的,虽然可以一起使用,但并不互相依赖。
可以指定 MapReduce 使用 Yarn 调度计算资源,可以设置为 local
即本机运行,也可以指定为 yarn
。
1 | <property> |
测试
新建一个文件,例如:
1 | hello hadoop |
把它放入 HDFS 文件系统,使用 Hadoop 例子测试 Word Count ,测试结果为:
1 | hadoop 1 |