hadoop 2.x 完全分布式 ha配置

hadoop 2.x 完全分布式 ha配置
a.服务器分布如下:
1.master NN ZKFC
2.node1 NN DN JN ZK ZKFC
3.node2 DN JN ZK RS
4.node3 DN JN ZK RS
b.时间同步(服务器),关闭防火墙
1.在所有服务器上运行“yum install ntp”命令,安装ntp时间服务器,安装完成
2.在所有服务器上运行“ntpdate -u s1a.time.edu.cn”命令,实现时间同步
3.输入 systemctl status firewalld.service ,若如图,防火墙处于running状态,则执行第4和第5步,否则直接进入第6步
4.输入 systemctl stop firewalld.service ,关闭防火墙
5.输入 systemctl disable firewalld.service ,禁用防火墙
c.jdk环境搭建
d.设置静态IP地址,添加hosts文件,更改hostname文件(每台服务器操作)
1.vi /etc/sysconfig/network-scripts/ifcfg-ens33 更改
BOOTPROTO="static" #设置静态ip
追加
ONBOOT="yes"
IPADDR="192.168.152.111" #ip地址
GATEWAY="192.168.152.2" #网关(注:不要设置成192.168.152.1,一般是vmware已占用)
NETMASK="255.255.255.0" #子网掩码
DNS1="192.168.152.2" #DNS服务器
2.vi /etc/hosts追加
192.168.152.110 master
192.168.152.111 node1
192.168.152.112 node2
192.168.152.113 node3
3. 更改hostname文件,vi /etc/hostname,更改主机名
4. 重启网络 service network restart
e.ssh免密码登录
1.ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 创建一个无密码的公钥,-t是类型的意思,dsa是生成的密钥类型,-P是密码,’’表示无密码,-f后是秘钥生成后保存的位置
2.cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 将公钥id_dsa.pub添加进keys,这样就可以实现无密登陆ssh,在每台机器上执行a、b
3.ssh localhost 测试一下能否免密码本机
4.scp root/.ssh/id_dsa.pub root@IP或者主机名:/tmp 把公钥复制到其他机器/tmp上
5.cat /tmp/id_dsa.pub >> ~/.ssh/authorized_keys在其他机器上执行,免密码登录原理:本机生成/root/.ssh/id_dsa.pub文件,追加到其他需要免密码登录机器上/root/.ssh/authorized_keys
f.下载hadoop。
1.下载完成后,解压到/home下,tar -zxvf hadoop安装包名
2.为hadoop添加到环境变量
export HADOOP_HOME=/home/hadoop-2.5.1
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
3.修改vi hadoop-env.sh 修改JAVA_HOME=/usr/java/jdk1.8.0_151
4.vi core-site.xml添加
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>node1:2181,node2:2181,node3:2181</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>

5.设置hdfs-site.xml添加
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn1</name>
<value>master:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn2</name>
<value>node1:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn1</name>
<value>master:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn2</name>
<value>node1:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://node1:8485;node2:8485;node3:8485/mycluster</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>

<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_dsa</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/journal/data</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
6.设置mapred-site.xml追加
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
7.设置yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster1</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>node2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>node3</value>
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>node1:2181,node2:2181,node3:2181</value>
</property>
远程复制配置文件到其他机器scp ./*.xml node1:/home/hadoop-2.5.1/etc/hadoop
g.zookeeper配置
设置环境变量
export ZOOKEEPER_HOME=/home/zookeeper-3.4.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin
更改dataDir=/opt/zookeeper,zoo.cfg添加
server.1 = node1:2888:3888
server.2 = node2:2888:3888
server.3 = node3:2888:3888
创建/opt/zookeeper文件夹以及zookeeper下创建myid文件,
node1写入内容“1”
node2写入内容“2”
node3写入内容“3”
分别在三台机器上运行“zkServer.sh start”
查询运行状态"zkServer.sh status"
h.启动
1.启动JN,hadoop-daemon.sh start journalnode在node1-3执行
2.格式化NN,在一台NN中执行hdfs namenode -format,格式化以后再master执行hadoop-daemon.sh start namenode,在node1执行hdfs namenode -bootstrapStandby
3.在任意一台NN执行:hdfs zkfc -formatZK
4.启动dfs:start-all.sh
5.yarn-daemon.sh start resourcemanager在node2、node3
验证是否安装成功分别访问 http://master:50070、http://node1:50070、http://node2:8088、http://node3:8088
i关闭
1.stop-all.sh
2.zkServer.sh stop
3.yarn-daemon.sh stop resourcemanager

猜你喜欢

转载自blog.csdn.net/qq_24811513/article/details/79011121
今日推荐