Hadoop高可用集群搭建步骤

搭建hadoo高可用集群的详细步骤
摘要由CSDN通过智能技术生成

环境准备:三台已经配置好网络的虚拟机,能够连接到外网

进入到每台虚拟机中查看虚拟机里面自带的jdk是否已经卸载,输入

 rpm -qa | grep -i java

如果有请卸载掉,输入

rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps

准备一个集群分发脚本。ps:之后会经常用到,在自己的家目录下创建bin目录(我的家目录是/home/human,可以用 cd ~ 就可以进入到自己的家目录中了)如下图:

cd ~
mkdir bin

 进人到bin目录中开始创建脚本

 cd /home/human/bin
 vi xsync 

在文本中输入以下内容
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
  echo Not Enough Arguement!
  exit;
fi
#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
do
  echo ====================  $host  ====================
  #3. 遍历所有目录,挨个发送
  for file in $@
  do
    #4 判断文件是否存在
    if [ -e $file ]
    then
      #5. 获取父目录
      pdir=$(cd -P $(dirname $file); pwd)
      #6. 获取当前文件的名称
      fname=$(basename $file)
      ssh $host "mkdir -p $pdir"
      rsync -av $pdir/$fname $host:$pdir
    else
      echo $file does not exists!
    fi
  done
done

输入完成后,输入:wq退出并保存

输入以下命令,给文件附加权限

chmod 777 xsync

 测试脚本

 xsync xsync

开始配置ssh免密登录

cd ~/.ssh进入到.ssh目录中,输入

ssh-keygen -t rsa

敲三下回车就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

 将公钥拷贝到需要免密登录的机器上面

ssh-copy-id hadoop102

ssh-copy-id hadoop103

ssh-copy-id hadoop104

hadoop103、hadoop104也要执行上面的命令

ssh-keygen -t rsa

ssh-copy-id hadoop102

ssh-copy-id hadoop103

ssh-copy-id hadoop104

免密登录完成

开始安装JDK

进入到software目录中

cd /opt/software

里面我已经上传了JDK、Hadoop、Zookeeper的安装包

tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/ 

配置JDK环境变量

sudo vi /etc/profile.d/my_env.sh

添加如下内容,然后保存(:wq)退出

#JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_212

export PATH=$PATH:$JAVA_HOME/bin

让环境变量生效

source /etc/profile.d/my_env.sh

分发JDK

xsync /opt/module/jdk1.8.0_212/

分发环境变量(注意,因为是分发系统文件,因此需要root权限,并且要带上脚本文件所在目录)

sudo /home/human/bin/xsync /etc/profile.d/my_env.sh

去其它两台虚拟机上面让环境变量生效

source /etc/profile.d/my_env.sh

JDK配置完成!

开始配置zookeeper

到/home/human中解压zookeeper

tar -zxvf zookeeper-3.5.7.tar.gz -C /opt/module/

修改zookeeper的名字

mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7

同步/opt/module/zookeeper-3.5.7目录内容到其它两台虚拟机中

xsync /opt/module/zookeeper-3.5.7/

进入zookeeper中

cd /opt/module/zookeeper-3.5.7

在/opt/module/zookeeper-3.5.7/这个目录下创建zkData

mkdir zkData

在/opt/module/zookeeper-3.5.7/zkData目录下创建一个myid的文件

vi myid

在文件中添加与server对应的编号:

      2

拷贝配置好的zookeeper到其他机器上

 xsync myid

并分别在hadoop103、hadoop104上修改myid文件中内容为3、4

重命名/opt/module/zookeeper-3.5.7/conf这个目录下的zoo_sample.cfg为zoo.cfg

mv zoo_sample.cfg zoo.cfg

vim zoo.cfg

       修改数据存储路径配置

dataDir=/opt/module/zookeeper-3.5.7/zkData

      增加如下配置

#######################cluster##########################

server.2=hadoop102:2888:3888

server.3=hadoop103:2888:3888

server.4=hadoop104:2888:3888

同步zoo.cfg配置文件

xsync zoo.cfg

分别在虚拟机中执行以下操作

bin/zkServer.sh start

分别查看每台虚拟机中的状态

bin/zkServer.sh status

在hadoop102的/home/atguigu/bin目录下创建脚本

vim zk.sh

在脚本中编写如下内容

#!/bin/bash

case $1 in

"start"){

for i in hadoop102 hadoop103 hadoop104

do

        echo ---------- zookeeper $i 启动 ------------

ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"

done

};;

"stop"){

for i in hadoop102 hadoop103 hadoop104

do

        echo ---------- zookeeper $i 停止 ------------    

ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"

done

};;

"status"){

for i in hadoop102 hadoop103 hadoop104</

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值