【Mac大数据开发】第五篇-分布式集群和免密登陆
2019-06-26 本文已影响0人
irving_yuan
1. 集群配置
此前使用的是伪分布式的单机模式,本篇使用分布式的集群配置。
配置方案如下:
bigdata1 | bigdata2 | bigdata3 | |
---|---|---|---|
HDFS | NameNode SecondaryNameNode DataNode | DataNode | DataNode |
YARN | nodeManager | ResourceManger NodeManager | nodeManager |
修改对应的配置文件即可。
同时更改hadoop的/etc目录下的slaves,添加三个节点的hostname。
(配置很多,配好一个scp同步给另外两台服务器即可)
如果此前使用了单机伪分布式集群的模式,注意此时要删除data目录和logs目录,重新format,否则后续启动会报错。
2. 配置免密登陆
为什么配置免密登陆?
不配置免密登陆,hadoop集群间的很多操作都需要输入密码,十分不方便
设置方式:
- 在三台服务器上分别生成公私钥
ssh-keygen -t rsa
生成过程中不需要输入任何二次密码,全部回车确认
- 分别复制公钥到指定服务器
ssh-copy-id bigdata1
ssh-copy-id bigdata2
ssh-copy-id bigdata3
以上完成免密登陆配置
3. 启动集群
在分布式集群环境中,hdfs和yarn,都需要在配置中指定的namenode和resourcemanager服务器启动-主节点。其他从节点会自动启动
首先启动hdfs系统,在data1服务器上使用指令
sbin/start-dfs.sh
第二步,启动yarn ResourceManager,在data2上执行
sbin/start-yarn.sh
注意:不能再使用start-all脚本,该脚本会启动当前节点的所有功能。
启动后,通过web控制端访问可以看到如下页面,则集群搭建成功
yarn集群效果
测试上传文件,看到3个副本
上传文件测试
4. Hadoop的Demo测试
Hadoop的share/hadoop/mapreduce目录下,官方提供了一些例子,使用wordcount进行测试(统计text文件中的单词个数)
使用指令-解析test.txt输出到out目录
hadoop jar hadoop-mapreduce-examples-2.8.4.jar wordcount /test.txt /out
通过web端和命令行都可以看到执行结果
生成out目录下的文件 统计结果
注意:在使用虚拟机过程中,一定要先关闭hadoop再关闭虚拟机,否则会造成datanode异常