Hadoop高可用安装

本文详细介绍了在四台服务器上安装Hadoop高可用集群的过程,包括分发和安装JDK,配置免密钥登录,设置Namenode的HA,安装Zookeeper,启动JournalNode和Namenode,以及验证集群的正常运行状态。
摘要由CSDN通过智能技术生成

hadoop高可用安装

四台机子分别为node03\node05\node06\node07
虚拟机开机黑屏的问题,可在命令提示符窗口输入“netsh winsock reset”,然后重启计算机即可解决。(命令提示符窗口应用管理员身份运行)

分发jdk到node05、06、07
-scp jdk-7u67-linux-x64.rpm node05:pwd
-scp jdk-7u67-linux-x64.rpm node06:pwd
-scp jdk-7u67-linux-x64.rpm node07:pwd
ll查看jdk是否发送成功
在这里插入图片描述

给node05、06、07分别安装jdk
分别在node05、06、07上执行rpm安装命令
-rpm -i jdk-7u67-linux-x64.rpm
在node03上cd /etc,在此目录下把profile文件分发到node05、06、07上。
scp profile node05:pwd
利用Xshell全部会话栏,source /etc/profile
利用Xshell全部会话栏,jps,看05、06、07这三台机子的jdk是否装好。
在这里插入图片描述

同步所有服务器的时间
1.yum进行时间同步器的安装
-yum -y install ntp
2.执行同步命令
-ntpdate time1.aliyun.com

装机之前的配置文件检查
1、-cat /etc/sysconfig/network
查看HOSTNAME是否正确
2、-cat /etc/hosts
查看IP映射是否正确
在这里插入图片描述
3、-cat /etc/sysconfig/selinux里是否
SELINUX=disabled
在这里插入图片描述
4、service iptables status查看防火墙是否关闭
在这里插入图片描述

NN与其他三台机子的免秘钥设置
1、在家目录下ll –a看下有无.ssh文件,如果没有就ssh loalhost一下
在这里插入图片描述
2、-cd .ssh ,并ll查看一下
3、把node03的公钥发给其他三台机子
在这里插入图片描述
在node03上分别ssh node05,ssh node06,ssh node07,看是否能免密钥登录,每次ssh都别忘了exit
在这里插入图片描述
4、在node05的.ssh目录下看是否有node03.pub
如果有,那就追加到authorized_keys
cat node03.pub >> authorized_keys
并且在node03上ssh node05看是否免密钥了,记住要exit
给node06、07都追加一下node03.pub,也就是在node06、07的.ssh目录下执行cat node03.pub >> authorized_keys

两个NN间互相免密钥
在node05上:
ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsa
在这里插入图片描述
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh localhost验证一下
在这里插入图片描述
分发到node03上:scp id_dsa.pub node03:pwd/node05.pub
在node03的.ssh目录下,cat node05.pub >> authorized_keys,
在node04上ssh node03验证一下可否免密钥登录

修改namenode的一些配置信息
先进入到hadoop文件下cd /opt/zq/hadoop-2.6.5/etc/hadoop
1、vi hdfs-site.xml


dfs.replication
3


dfs.nameservices
mycluster


dfs.ha.namenodes.mycluster
nn1,nn2


dfs.namenode.rpc-address.mycluster.nn1
node03:8020


dfs.namenode.rpc-address.mycluster.nn2
node05:8020


dfs.namenode.http-address.mycluster.nn1
node03:50070


dfs.namenode.http-address.mycluster.nn2
node05:50070


dfs.namenode.shared.edits.dir
qjournal://node03:8485;node05:8485;node06:8485/mycluster


dfs.journalnode.edits.dir
/var/zq/hadoop/ha/jn


dfs.client.failover.proxy.provider.mycluster
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider


dfs.ha.fencing.methods
sshfence


dfs.ha.fencing.ssh.private-key-files
/root/.ssh/id_dsa


dfs.ha.automatic-failover.enabled
true

2、vi core-site.xml


fs.defaultFS
hdfs://mycluster


ha.zookeeper.quorum
node05:2181,node06:2181,node07:2181

3、vi slaves
node05
node06
node07
4、安装hadoop
cd /opt ,将其下的zq目录分发到node05、06、07
scp –r zq/ node05:pwd
scp –r zq/ node06:pwd
scp –r zq/ node07:pwd
5、将hdfs-site.xml和core-site.xml分发到node05、06、07
-scp hdfs-site.xml core-site.xml node05:pwd
-scp hdfs-site.xml core-site.xml node06:pwd
-scp hdfs-site.xml core-site.xml node07:pwd

安装zookeeper
1.解压安装zookeeper
tar xf zookeeper-3.4.6.tar.gz -C /opt/zq
2.修改zookeeper的配置文件
cd /opt/zq/zookeeper-3.4.6/conf
给zoo_sample.cfg改名
cp zoo_sample.cfg zoo.cfg
在这里插入图片描述

vi zoo.cfg
改dataDir=/var/zq/zk
并在末尾追加
server.1=node05:2888:3888
server.2=node06:2888:3888
server.3=node07:2888:3888
在这里插入图片描述
3.把zookeeper分发到其他节点
scp -r zookeeper-3.4.6/ node06:pwd
scp -r zookeeper-3.4.6/ node07:pwd
并用ll /opt/zq检查下看分发成功没
在这里插入图片描述

4.给每台机子创建刚配置文件里的路径
mkdir -p /var/zq/zk
对node05来说:
echo 1 > /var/zq/zk/myid
cat /var/zq/zk/myid
对node06来说:
echo 2 > /var/zq/zk/myid
cat /var/zq/zk/myid
对node07来说:
echo 3 > /var/zq/zk/myid
cat /var/zq/zk/myid
在这里插入图片描述
5.在vi /etc/profile里面配置
export ZOOKEEPER_HOME=/opt/zq/zookeeper-3.4.6
export PATH= P A T H : / u s r / j a v a / j d k 1.7. 0 6 7 / b i n : PATH:/usr/java/jdk1.7.0_67/bin: PATH:/usr/java/jdk1.7.067/bin:HADOOP_HOME/bin: H A D O O P H O M E / s b i n : HADOOP_HOME/sbin: HADOOPHOME/sbin:ZOOKEEPER_HOME/bin
在这里插入图片描述
6.然后在把/etc/profile分发到其他node06、node07
scp /etc/profile node06:/etc
scp /etc/profile node07:/etc
在node05、06、07里source /etc/profie,这步千万别忘
验证source这句是否完成,输入zkCli.s,按Tab可以把名字补全zkCli.sh

7.启动zookeeper
全部会话:zkServer.sh start
接着用zkServer.sh status查看每个zookeeper节点的状态
在这里插入图片描述
在这里插入图片描述
注意:如果启动不起来,请把/etc/profile里的JAVA_HOME改成绝对路径。

启动journalnode
在03、04、05三台机子上分别把journalnode启动起来
hadoop-daemon.sh start journalnode
用jps检查下进程启起来了没
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

格式化任一namenode
随意挑一台namenode上执行hdfs namenode –format
另一台namenode不用执行,否则clusterID变了,找不到集群了。
在这里插入图片描述
然后,启动刚刚格式化的那太namenode
hadoop-daemon.sh start namenode
在这里插入图片描述

给另一namenode同步数据
hdfs namenode -bootstrapStandby

格式化zkfc
hdfs zkfc -formatZK
在node05上执行zkCli.sh打开zookeeper客户端看hadoop-ha是否打开
在这里插入图片描述
在node03上启动hdfs集群:
start-dfs.sh
在这里插入图片描述
然后全部会话jps看一下都起来些什么进程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用浏览器访问node03:50070和node05:50070
在这里插入图片描述
在这里插入图片描述
关闭集群命令:stop-dfs.sh
关闭zookeeper命令:zkServer.sh stop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值