欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Hadoop集群搭建-02安装配置Zookeeper

程序员文章站 2022-04-12 11:44:12
"Hadoop集群搭建 05安装配置YARN" "Hadoop集群搭建 04安装配置HDFS " "Hadoop集群搭建 03编译安装hadoop" "Hadoop集群搭建 02安装配置Zookeeper" "Hadoop集群搭建 01前期准备" 这一篇接着记录集群搭建,开始安装配置zookeepe ......

hadoop集群搭建-05安装配置yarn

hadoop集群搭建-04安装配置hdfs 

hadoop集群搭建-03编译安装hadoop

hadoop集群搭建-02安装配置zookeeper

hadoop集群搭建-01前期准备

这一篇接着记录集群搭建,开始安装配置zookeeper,它的作用是做集群的信息同步,zookeeper配置时本身就是一个独立的小集群,集群机器一般为奇数个,只要机器过半正常工作那么这个zookeeper集群就能正常工作,工作时自动选举一个leader其余为follower,所以最低是配置三台。

注意本篇文章的几乎所有操作如不标注,则默认为hadoop用户下操作

1.首先修改下上一篇写的批量脚本

复制一份,然后把ips内删除两台机器名,,只留下前三台即可,然后把几个脚本的名称啥的都改一下,和内部引用名都改一下。

可以用我改好的 密码:1qq6

2.安装zookeeper

可以用xshell的rz命令上传zookeeper安装包,安装包在这里 密码:8a10

[hadoop@nn1 ~]$ cd zk_op/
批量发送给三台机器
[hadoop@nn1 zk_op]$ ./zk_scp_all.sh ~/upload/zookeeper-3.4.8.tar.gz /tmp/   
查看是否上传成功
[hadoop@nn1 zk_op]$ ./zk_ssh_all.sh "ls -l /tmp | grep zoo*"  
批量解压到各自的/usr/local/目录下
[hadoop@nn1 zk_op]$ ./zk_ssh_root.sh tar -zxf /tmp/zookeeper-3.4.8.tar.gz -c /usr/local/
再次查看是否操作成功
[hadoop@nn1 zk_op]$ ./zk_ssh_all.sh "ls -l /usr/local/ | grep zoo*"  
批量改变/usr/local/zookeeper-3.4.8目录的用户组为hadoop:hadoop
[hadoop@nn1 zk_op]$ ./zk_ssh_root.sh chown -r hadoop:hadoop /usr/local/zookeeper-3.4.8
[hadoop@nn1 zk_op]$ ./zk_ssh_root.sh chmod -r 770 /usr/local/zookeeper-3.4.8
[hadoop@nn1 zk_op]$ ./zk_ssh_all.sh "ls -l /usr/local/ | grep zookeeper-3.4.8"  
批量创建软链接(可以理解为快捷方式)
[hadoop@nn1 zk_op]$ ./zk_ssh_root.sh ln - s /usr/local/zookeeper-3.4.8/ /usr/local/zookeeper
[hadoop@nn1 zk_op]$ ./zk_ssh_all.sh "ls -l /usr/local/ | grep zookeeper"
这里软链接的用户组合权限可以不用修改,默认为root或者hadoop都可以。  

修改/usr/local/zookeeper/conf/zoo.cfg

可以用我改好的 密码:1qq6

批量删除原有的zoo_sample.cfg文件,当然先备份为好
[hadoop@nn1 zk_op]$ ./zk_ssh_root.sh rm -f /usr/local/zookeeper/conf/zoo_sample.cfg
把我们准备好的配置文件放进去,批量。
[hadoop@nn1 zk_op]$ ./zk_scp_all.sh ~/zoo.cfg /usr/local/zookeeper/conf/

=================================================================================================

然后修改/usr/local/zookeeper/bin/zkenv.sh脚本文件,添加日志文件路径
[hadoop@nn1 zk_op]$ vim /usr/local/zookeeper/bin/zkenv.sh
zoo_log_dir=/data

把这个配置文件批量分发给其他机器
[hadoop@nn1 zk_op]$ ./zk_scp_all.sh /usr/local/zookeeper/bin/zkenv.sh /usr/local/zookeeper/bin/
给5台机器创建/data目录,注意这里是给5台机器创建。用的没改过的原本批量脚本。
[hadoop@nn1 hadoop_base_op]$ ./ssh_root.sh mkdir /data
[hadoop@nn1 hadoop_base_op]$ ./ssh_root.sh chown hadoop:hadoop /data
[hadoop@nn1 hadoop_base_op]$ ./ssh_all.sh "ls -l | grep data"

 上面为啥是突然创建5个/data呢,,,因为后边的hdfs和yarn都需要,后边的hdfs是运行在后三台机器上的,所以现在直接都创建好。

然后回到zk_op中,给前三台机器创建id文件。用于zookeeper识别
[hadoop@nn1 zk_op]$ ./zk_ssh_all.sh touch /data/myid

然后_分别进三台机器_,给这个文件追加id值。

第一台:

echo "1" > /data/myid 

第二台:

echo "2" > /data/myid 

第三台:

echo "3" > /data/myid

3.批量设置环境变量

在nn1上切换到root用户更改系统环境变量
[hadoop@nn1 zk_op]$ su - root
[root@nn1 ~]# vim /etc/profile
文件在末尾添加
#set hadoop path
export hadoop_home=/usr/local/hadoop
export hadoop_common_home=${hadoop_home}
export hadoop_hdfs_home=${hadoop_home}
export hadoop_mapred_home=${hadoop_home}
export hadoop_yarn_home=${hadoop_home}
export hadoop_conf_dir=${hadoop_home}/etc/hadoop
export hdfs_conf_dir=${hadoop_home}/etc/hadoop
export yarn_conf_dir=${hadoop_home}/etc/hadoop
export ld_library_path=$hadoop_home/lib/native:/usr/lib64

export hbase_home=/usr/local/hbase
export hive_home=/usr/local/hive
export path=$path:$java_home/bin:$hadoop_home/bin:$hadoop_home/sbin:$hbase_home/bin:$hive_home/bin:/usr/local/zookeeper/bin

然后批量发送给其他两台机器

[hadoop@nn1 zk_op]$ ./zk_scp_all.sh /etc/profile /tmp/
[hadoop@nn1 zk_op]$ ./zk_ssh_root.sh cp -f /tmp/profile /etc/profile
批量检查一下
[hadoop@nn1 zk_op]$ ./zk_ssh_all.sh tail /etc/profile
批量source一下环境变量
[hadoop@nn1 zk_op]$ ./zk_ssh_root.sh source /etc/profile

4.批量启动zookeeper

[hadoop@nn1 zk_op]$ ./zk_ssh_all.sh /usr/local/zookeeper/bin/zkserver.sh start
查看一下是否启动。看看有没有相关进程
[hadoop@nn1 zk_op]$ ./zk_ssh_all.sh jps

如下图查看进程,有qpm进程就说明启动成功

Hadoop集群搭建-02安装配置Zookeeper

或者直接查看状态,

Hadoop集群搭建-02安装配置Zookeeper

好了,zookeeper安装配置顺利结束!!!