专栏首页大数据分享(五)ZK集群搭建

(五)ZK集群搭建

分布式集群安装部署

1.集群规划 在hadoop002、hadoop003和hadoop004三个节点上部署Zookeeper。 2.解压安装 (1)解压Zookeeper安装包到/opt/module/目录下 tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/ (2)同步/opt/module/zookeeper-3.4.10目录内容到hadoop003、hadoop004 xsync zookeeper-3.4.10/ 3.配置服务器编号 (1)在/opt/module/zookeeper-3.4.10/这个目录下创建zkData mkdir zkData (2)编辑myid文件 添加myid文件,注意一定要在linux里面创建,在notepad++里面很可能乱码 vi myid 在文件中添加与server对应的编号: 2 (3)拷贝配置好的zookeeper到其他机器上 xsync zkData/ 并分别在hadoop003、hadoop004上修改myid文件中内容为3、4

4.配置zoo.cfg文件 (1)重命名/opt/module/zookeeper-3.4.10/conf这个目录下的zoo_sample.cfg为zoo.cfg mv zoo_sample.cfg zoo.cfg (2)打开zoo.cfg文件 vim zoo.cfg 修改数据存储路径配置 dataDir=/opt/module/zookeeper-3.4.10/zkData 增加如下配置: #######################cluster########################## server.2=hadoop002:2888:3888 server.3=hadoop003:2888:3888 server.4=hadoop004:2888:3888 (3)同步zoo.cfg配置文件 xsync zoo.cfg (4)配置参数解读 server.A=B:C:D。 A是一个数字,表示这个是第几号服务器; 集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。 B是这个服务器的ip地址; C是这个服务器与集群中的Leader服务器交换信息的端口; D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

遇到问题: 如果启动zkServer时,出现Error contacting service. It is probably not running.报错,继续启动下一个节点,只要找到了leader即可。 如果启动zkServer时,出现zookeeper.out: Permission denied报错,找到zookeeper.out此日志文件,添加权限:chmod a+xwr zookeeper.out,再次启动zkServer即可。 采用的是半数选举机制,挂一台没事,挂两台就不行了。

机器过多的时候,就采用ssh脚本启动。 需求:根据输入的命令,启动ZK集群,关闭集群,查看集群状态。 .# !/bin/bash .# 使用case三个分支,写绝对路径,反过来的esac结尾 case

i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh start" done };; "stop"){ for i in hadoop002 hadoop003 hadoop004 do ssh

i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh status" done };; esac

cd /home/xxx/bin vim zk.sh 复制脚本并保存退出 chmod 777 zk.sh 测试: zk.sh start 一键开启 zk.sh stop 一键关闭 zk.sh status 一键查看

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mapreduce -- wordcount执行流程

    注:要和安装的hadoop版本一致,并且运行hdfs <?xml version="1.0" encoding="UTF-8"?>

    wolf
  • (十一)安装sqoop

    1)下载地址:<u>http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/</u> 2)上传安装包sqoop-1.4.6...

    wolf
  • (六)日志生成

    1)代码参数说明 // 参数一:控制发送每条的延时时间,默认是0 Long delay = args.length > 0 ? Long.parseLong...

    wolf
  • zookeeper集群的搭建

    在hadoop101、hadoop102和hadoop103,这三个节点上部署Zookeeper。

    爱学习的孙小白
  • Java压缩图片错误——蒙上一层红色

    生产问题——现场运维反馈安卓客户端从文件服务器获取的压缩后的商品图片存在失真,属于偶现问题。

    城市中的游牧民族
  • python实现扑克牌交互式界面发牌程序

    本文实例为大家分享了python实现扑克牌交互式界面发牌程序的具体代码,供大家参考,具体内容如下

    砸漏
  • imagestring生成验证码字符太小,采用imagettftext函数的验证码修正版

    imagestring只内置了5中字符大小,在前端根据美工设计常常无法满足需求。采用imagettftext函数生成验证码图片,可自定义字体和大小。源码如下:

    世纪访客
  • pygame-KidsCanCode系列jumpy-part17-mask-collide碰撞检测

    如上图,左侧是默认的检测模式:基于矩形的检测(这也是性能最好的模式), 右侧是基于圆形的检测(性能略差于矩形检测)。

    菩提树下的杨过
  • 基于Jenkins和Argocd实现CI/CD

    CI/CD并不是陌生的东西,大部分企业都有自己的CI/CD,不过今天我要介绍的是使用Jenkins和GitOps实现CI/CD。

    没有故事的陈师傅
  • Selenium+python自动化83-chrome手机wap模式

    一、前言 这里是群里(QQ群:226296743)风神出60大洋悬赏的问题,学会这篇就是赚了60大洋了! 我的环境: - chrome 62 - chrome...

    上海-悠悠

扫码关注云+社区

领取腾讯云代金券