- 准备三台虚拟机
- 在三台机器的/etc/hosts文件中配置主机名和ip的映射
DEVICE=eth0 #接口名(设备,网卡) HWADDR=00:0C:2x:6x:0x:xx #MAC地址 TYPE=Ethernet #网络类型(通常是Ethemet) UUID=926a57ba-92c6-4231-bacb-f27e5e6a9f44 #随机id #系统启动的时候网络接口是否有效(yes/no) ONBOOT=yes # IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议) BOOTPROTO=static #IP地址 IPADDR=192.168.1.101 #网关 GATEWAY=192.168.1.2 #域名解析器 DNS1=192.168.1.2 |
- 关闭虚拟机防火墙
安装hadoop集群 注意安装目录保持一致 安装使用root用户
- 三台虚拟机安装jdk(在linux01上进行jdk安装和环境变量配置,然后分发到其他机器上去)
注意使用rpm -qa|grep java查找默认jdk并且使用rpm -e --nodeps xxx
- 安装hadoop
- 集群规则设计
- 集群配置
- Hdfs集群配置
1.将jdk的路径明确的配置给hdfs(修改hadoop-env.sh)
[root@ linux01 hadoop]$ vim hadoop-env.sh
|
2.指定namenode节点以及数据的存储目录(修改core-site.xml)
[root@ linux01hadoop]$ vim core-site.xml
|
3.指定secondaryNameNode节点(hdfs-site.xml)
[root@ linux01hadoop]$ vim hdfs-site.xml <!--副本数量-->
|
4.指定datanode从节点(修改etc/hadoop/salves文件,每个节点配置信息占一行)
/opt/module/hadoop-2.7.2/etc/hadoop/slaves [root@ linux01hadoop]$ vim slaves linux01 linux02 linux03 |
(2)yarn集群配置
1.jdk路径明确配置yarn(修改yarn-env.sh)
[root@ linux01 hadoop]$ vim yarn-env.sh
|
2.指定resourceManager老大节点的位置(修改yarn-site.xml)
<!-- reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
<!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>linux02</value> </property> |
3.nodemanager节点的确定是通过salves文件内容确定的
|
(3)mapreduce配置
1.将jdk明确配置给MapReduce(修改mapred-env.sh)
[root@ linux01 hadoop]$ vim mapred-env.sh
|
2.指定MapReduce计算框架运行yarn资源调度框架(修改mapred-site.xml文件)
[root@ linux01hadoop]$ cp mapred-site.xml.template mapred-site.xml [root@ linux01hadoop]$ vim mapred-site.xml
|
5.data目录和其他变动的配置文件都要同步到集群的其他机器上
集群中各个机器上的配置文件保持一致
6.启动集群
-
- 配置三台机器互相访问的ssh免密登录
- 启动hdfs集群之前,需要格式化namenode节点(注意不要重复格式化,格式化动作只做一次!!!注意;格式化和集群启动都在namenode节点进行)