hadoop集群搭建
一、基本配置
ip | ||
hadoop01 | 192.168.32.131 | |
hadoop02 | 192.168.32.132 | |
hadoop03 | 192.168.32.133 |
二、环境配置
1、安装jdk
三、hadoop安装配置
1、修改hadoop-env.sh
2、修改core.site.xml
3、vim hdfs.site.xml
<configuration>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<!--指定hdfs的nameservice为ns,需要和core-site.xml中的保持一致 -->
<property>
<name>dfs.nameservices</name>
<value>ns</value>
</property>
<!-- ns下面有两个NameNode,分别是nn1,nn2 -->
<property>
<name>dfs.ha.namenodes.ns</name>
<value>nn1,nn2</value>
</property>
<!-- nn1的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns.nn1</name>
<value>hadoop01:9000</value>
</property>
<!-- nn1的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ns.nn1</name>
<value>0.0.0.0:50070</value>
</property>
<!-- nn2的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns.nn2</name>
<value>hadoop02:9000</value>
</property>
<!-- nn2的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ns.nn2</name>
<value>0.0.0.0:50070</value>
<property>
<!-- 指定NameNode的元数据在JournalNode上的存放位置 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://hadoop01:8485;hadoop02:8485;hadoop03:8485/ns</value>
</property>
<!-- 指定JournalNode在本地磁盘存放数据的位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/data/hadoop-2.7.1/tmp/journal</value>
</property>
<!-- 开启NameNode故障时自动切换 -->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!-- 配置失败自动切换实现方式 -->
<property>
<name>dfs.client.failover.proxy.provider.ns</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!-- 配置隔离机制 -->
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<!-- 使用隔离机制时需要ssh免登陆 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///data/hadoop-2.7.1/tmp/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///data/hadoop-2.7.1/tmp/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- 在NN和DN上开启WebHDFS (REST API)功能,不是必须 -->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
四、修改mapred.site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
五、修改yarn.site.xml
<!-- 指定nodemanager启动时加载server的方式为shuffle server -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定resourcemanager地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata-test-5</value>
</property>
六、配置slave
hadoop01
hadoop02
hadoop03
七、配置ssh免密登陆
看之前博文
八、zookper安装配置
1、每个zookeeper目录下都创建一个目录tmp
2、conf目录下,将zoo_sample.cfg变为zoo.cfg并在里面修改两处
3、在tmp下面创建myid文件。
并在里面加入对应的序号,序号和上面的截图中server后面跟着的一样
八、测试集群
启动zookeeper
zkServer.sh start。如果出现zookper集群启动问题,可以查看防火墙是否关闭
hadoop-daemons.sh start journalnode
hdfs zkfc -formatZK 仅仅第一次启动需要
hdfs namenode -format 仅仅第一次启动需要
hadoop-daemon.sh start namenode
hdfs namenode -bootstrapStandby
hadoop-daemon.sh start namenode
hadoop-daemons.sh start datanode
start-yarn.sh
hadoop-daemon.sh start zkfc
hadoop-daemon.sh start zkfc