• kafka---- zookeeper集群搭建


    1.准备工作:
    ##准备3个节点,要求配置好主机名称,服务器之间系统时间保持一致
    ##注意/etc/hostname 和/etc/hosts 配置主机名称(在这个里我准备Prac-zk-133, Prac-zk-134 , Prac-zk-135二节点)
    vim  /etc/hosts #保证可以通过主机名互通 添加格式为IP  主机名称
    ## 比如
    172.16.144.133 Prac-zk-133
    172.16.144.134 Prac-zk-134
    172.16.144.135 Prac-zk-135
    ## 测试
    ping ip 
    ping 主机名
    ##注意关闭防火墙
    # 1. 启动防火墙
    systemctl start firewalld
    # 2.  关闭防火墙
    systemctl stop firewalld
    # 3. 重启防火墙
    systemctl restart firewalld
    # 4.查看防火墙状态
    systemctl status firewalld
    # 5. 开启禁用的防火墙
    systemctl disable firewalld
    
    ##特别注意以下操作3个节点要同时进行操作哦!
    2.上传zk到三台服务器节点
    ## 复制到其他机器 暂时测试不好用
    #scp zookeeper-3.4. 6. tar.gz 192. 168.11.222: /usr/local /software/ 
    ## 上传到/usr/local/software
    cd /usr/local/software
    ##注意我这里解压到/usr/local下
    ## 2.1进行解压: 
    tar -zxvf  zookeeper-3.4.6.tar.gz -C /usr/local/
    cd /usr/local/
    # 2.2重命名: 
    mv zookeeper-3.4.6 zookeeper
    # 2.3修改环境变量:
    vim ~/.bash_profile 
    
    ##这里要添加zookeeper的全局变量 jdk如果不会装,可以看之前文章
    export JAVA_HOME=/usr/local/jdk1.8
    export ZOOKEEPER_HOME=/usr/local/zookeeper
    export PATH=.:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
    
    ## 2.4刷新环境变量:
    source  ~/.bash_profile  
    
    # 2.5到zookeeper 下修改配置文件:
    # 2.5.1首先到指定目录: 
    cd /usr/local/zookeeper/conf
    # 2.5.2然后复制zoo_sample.cfg文件, 复制后为zoo.cfg:
    mv zoo_sample.cfg zoo.cfg
    # 2.5.3然后修改两处地方,最后保存退出:
    vim /usr/local/zookeeper/conf/zoo.cfg
    # (1)修改数据的dir 存储数据的地方
    dataDir=/usr/local/zookeeper/data
    
    # (2) 修改集群地址
    server.0=Prac-zk-133:2888:3888
    server.1=Prac-zk-134:2888:3888
    server.2=Prac-zk-135:2888:3888
    
    
    ## 2.5.4 增加服务器标识配置,需要2步骤,第一是创建文件夹和文件, 第二是添加配置内容:
    # (1)创建文件夹: 
    mkdir /usr/local/zookeeper/data
    # (2)创建文件myid路径应该创建在/usr/local/zookeeper/data 下面,如下:
    vim /usr/local/zookeeper/data/myid
    # 注意这里每台服务 器的myid文件内容不同,分别修改里面的值为0, 1, 2;与我们之前的zoo.cfg配置文件里:
    # server.0, server.1, server.2 顺序相对应,然后保存退出;
    # 2.7到此为止,Zookeeper集群环境大功告成!启动zookeeper命令
    启动路径: cd /usr/local/zookeeper/bin (也可在任意目录,因为配置了环境变量)
    执行命令: zkServer.sh start (注意这里3台机器都要进行启动,启动之后可以查看状态)
    ./zkServer.sh start-foreground   # 有日志的打印的启动
    查看状态: zkServer.sh status (在三个节点上检验zk的mode,会看到一个leader和俩个 follower)
    关闭 : zkServer.sh stop
    ## zkCli.sh进入zookeeper客户端
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    HostnameIpRoot
    Prac-zk-133172.16.144.133root
    Prac-zk-134172.16.144.134root
    Prac-zk-135172.16.144.135root

    172.16.144.133 Prac-zk-133
    172.16.144.134 Prac-zk-134
    172.16.144.135 Prac-zk-135

    zkServer.sh start-foreground 使用它启动会出现地址已在使用

    Zookeeper启动失败(java.net.BindException: 地址已在使用

    端口被占用了,把2181端口改成别的就可以

    lsof -i:2181 #查到进程
    kill -s 9 2715 #然后杀掉上面的进程
    
    • 1
    • 2

    如果只是使用zkServer.sh stop会停不干净,后续继续研究,方法在上

    zoo.cfg配置说明
    tickTime : 时间单位
    initLimit follower与leader 同步数据的时间(initLimit*tickTime))
    Synclimit 心跳检测最大延迟时间。
    dataDir 默认情况下,zookeeper的事务日志 和 数据快照 都会保存在 dataDir 目录下.
    dataLogDir log日志存储目录,默认dataDir下
    clientPort 客户端与服务端建立连接的端口号,默认2181

  • 相关阅读:
    数字孪生+工业互联网标识解析,打造智能工厂新标杆!
    嵌入式系统开发笔记101:STM32CubeIDE安装过程中的2个错误及其解决方法
    一句SQL构建斐波那契数列
    阿里云ecs服务器,nginx多域名多项目部署教程,含本地部署教程
    NIO的浅了解
    MySQL数据库(Java的数据库编程:JDBC)
    Unity Webgl发布的一些注意的点
    (三)推断的逼近方法-通过加权重采样的贝叶斯定理
    2023校招美团第二次笔试
    HEVC熵编码核心点介绍
  • 原文地址:https://blog.csdn.net/weixin_39213232/article/details/132572107