上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

CentOS7安装部署Zookeeper

guduadmin61天前

文章目录

  • CentOS7安装部署Zookeeper
  • 一、前言
    • 1.简介
    • 2.架构
    • 3.集群角色
    • 4.特点
    • 5.环境
    • 二、正文
      • 1.部署服务器
      • 2.基础环境
        • 1)主机名
        • 2)Hosts文件
        • 3)关闭防火墙
        • 4)JDK 安装部署
        • 3.单机部署
          • 1)下载和解压
          • 2)配置文件
          • 3)数据目录
          • 4)单机启动
          • 5)测试
          • 6)自启动
          • 4.集群部署
            • 1)下载和解压
            • 2)配置文件
            • 3)拷贝ZK
            • 4)数据目录
            • 5)集群启动
            • 6)测试
            • 7)自启动
            • 5.图形化客户端
              • 1)PrettyZoo
              • 2)ZooInspector
              • 6.ZK监控平台
                • 1)修改ZK配置文件
                • 2)安装 Prometheus
                  • (1)下载和安装
                  • (2)修改配置文件
                  • (3)启动
                  • (4)自启动
                  • 3)安装 Grafana
                    • (1)添加YUM仓库
                    • (2)安装Grafana
                    • (3)启动
                    • 4)配置监控面板
                      • (1)配置数据源
                      • (2)导入监控面板
                      • 三、其它
                      • 1.常用命令

                        CentOS7安装部署Zookeeper

                        一、前言

                        1.简介

                        Apache ZooKeeper 是一个分布式应用程序协调服务;用于维护配置信息、命名、提供分布式同步和组服务。

                        2.架构

                        1. 客户端-服务器模型:ZooKeeper 遵循客户端-服务器模型,客户端可以向任何服务器节点发起请求。
                        2. 数据模型:采用类似文件系统的树形结构来存储数据,每个节点称为 ZNode。
                        3. 请求处理:所有写请求都通过一个主服务器(Leader)来保证数据的一致性,而读请求可以由任何服务器(Follower 或 Observer)处理。

                        CentOS7安装部署Zookeeper,在这里插入图片描述,第1张

                        3.集群角色

                        1. Leader:负责处理所有更新请求,保证集群数据的一致性。在任何给定时间,一个 ZooKeeper 集群只有一个 Leader。
                        2. Follower:处理客户端的非写入请求,并参与 Leader 选举和数据同步过程。
                        3. Observer(可选):与 Follower 类似,但不参与 Leader 选举和写操作的投票过程。Observer 可以提升读取性能,因为它们不会增加写请求的投票负担。

                        4.特点

                        • 一致性:保证集群中所有服务器的数据状态一致。
                        • 可靠性:通过复制数据到所有服务器来确保高可用性。
                        • 顺序一致性:所有更新都是全局有序的。

                          5.环境

                          • Linux 发行版:CentOS-7-x86_64-DVD-1804.iso
                          • JDK 版本:Java SE Development Kit 11.0.19
                          • Zookeeper 版本:3.8.3

                            Zookeeper 官网:https://zookeeper.apache.org/

                            Zookeeper 3.8.3:https://zookeeper.apache.org/doc/r3.8.3/index.html

                            Zookeeper Getting Started:https://zookeeper.apache.org/doc/r3.8.3/zookeeperStarted.html

                            Prometheus 官网:https://prometheus.io/

                            Prometheus 文档:https://prometheus.io/docs/introduction/overview/

                            Grafana 官网:https://grafana.com/oss/grafana/

                            Grafana 文档:https://grafana.com/docs/grafana/latest/?pg=oss-graf&plcmt=hero-btn-2

                            ZooKeeper Monitor:https://zookeeper.apache.org/doc/r3.6.4/zookeeperMonitor.html

                            CentOS7安装部署Java11:https://blog.csdn.net/u011424614/article/details/132418561

                            CentOS基础操作命令:https://blog.csdn.net/u011424614/article/details/94555916

                            二、正文

                            1.部署服务器

                            • Zookeeper 默认端口
                              端口作用
                              2181客户端连接端口,用于客户端与 ZooKeeper 集群通信
                              2888用于集群内部服务器之间的 Leader 选举
                              3888用于集群内部服务器之间的复制(数据同步)
                              • 服务器
                                机器名IP节点部署
                                zk-cluster-01192.168.249.141zk 节点
                                zk-cluster-02192.168.249.142zk 节点
                                zk-cluster-03192.168.249.143zk 节点
                                zk-cluster-04192.168.249.144监控节点(Prometheus + Grafana)

                                2.基础环境

                                1)主机名

                                • 修改 4 台服务器的主机名
                                  # 141 执行
                                  hostnamectl set-hostname zk-cluster-01 --static
                                  hostnamectl set-hostname zk-cluster-01 --transient
                                  # 142 执行
                                  hostnamectl set-hostname zk-cluster-02 --static
                                  hostnamectl set-hostname zk-cluster-02 --transient
                                  # 143 执行
                                  hostnamectl set-hostname zk-cluster-03 --static
                                  hostnamectl set-hostname zk-cluster-03 --transient
                                  # 144 执行
                                  hostnamectl set-hostname zk-cluster-04 --static
                                  hostnamectl set-hostname zk-cluster-04 --transient
                                  # 查询状态
                                  hostnamectl status
                                  

                                  2)Hosts文件

                                  • 修改 4 台服务器的 hosts 文件
                                    cat > /etc/hosts < 
                                    

                                    3)关闭防火墙

                                    在 4 台服务器上执行

                                    • 可禁用防火墙,或配置开放的端口,后者比较安全
                                      #--关闭防火墙
                                      systemctl stop firewalld.service
                                      #--开机禁用防火墙
                                      systemctl disable firewalld.service
                                      #--防火墙状态
                                      systemctl status firewalld.service
                                      

                                      4)JDK 安装部署

                                      在 4 台服务器上安装JDK

                                      • 安装参考:《CentOS7安装部署Java11》
                                      • 安装目录:/opt/java/jdk-11.0.19

                                        3.单机部署

                                        在 141 服务器上执行

                                        1)下载和解压

                                        • 创建安装目录,并下载
                                          mkdir /opt/zookeeper
                                          cd /opt/zookeeper
                                          # 下载
                                          wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.3/apache-zookeeper-3.8.3-bin.tar.gz --no-check-certificate
                                          # 解压
                                          tar -xzf apache-zookeeper-3.8.3-bin.tar.gz
                                          # 修改文件夹名称
                                          mv /opt/zookeeper/apache-zookeeper-3.8.3-bin /opt/zookeeper/apache-zookeeper-3.8.3
                                          # 进入安装目录
                                          cd /opt/zookeeper/apache-zookeeper-3.8.3
                                          

                                          2)配置文件

                                          • 创建 zoo.cfg 配置文件
                                            cat > /opt/zookeeper/apache-zookeeper-3.8.3/conf/zoo.cfg < 
                                            

                                            3)数据目录

                                            • whoami 表示当前登录用户
                                              mkdir -p /data/zookeeper
                                              chown -R `whoami` /data/zookeeper
                                              

                                              4)单机启动

                                              • 启动
                                                cd /opt/zookeeper/apache-zookeeper-3.8.3
                                                # 启动
                                                bin/zkServer.sh start
                                                # 停止
                                                bin/zkServer.sh stop
                                                
                                                • 查看运行情况
                                                  bin/zkServer.sh status
                                                  

                                                  5)测试

                                                  • 进入安装目录
                                                    cd /opt/zookeeper/apache-zookeeper-3.8.3
                                                    
                                                    • 连接 zk 客户端
                                                      bin/zkCli.sh -server 192.168.249.141:2181
                                                      
                                                      • 测试数据
                                                        # 创建数据
                                                        create /test mydata
                                                        # 获取数据
                                                        get /test
                                                        # 列出全部节点
                                                        ls /
                                                        # 更新数据
                                                        set /test newdata
                                                        # 删除数据
                                                        delete /test
                                                        # 退出客户端
                                                        quit
                                                        

                                                        6)自启动

                                                        • 创建 zookeeper.service
                                                          cat > /etc/systemd/system/zookeeper.service < 
                                                          
                                                          • 启动服务,并设置开机自启动
                                                            systemctl daemon-reload
                                                            systemctl start zookeeper.service
                                                            systemctl enable zookeeper.service
                                                            
                                                            • 查询进程状态
                                                              systemctl status zookeeper.service
                                                              

                                                              4.集群部署

                                                              1)下载和解压

                                                              在 141 服务器上执行

                                                              • 创建安装目录,并下载
                                                                mkdir /opt/zookeeper
                                                                cd /opt/zookeeper
                                                                # 下载
                                                                wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.3/apache-zookeeper-3.8.3-bin.tar.gz --no-check-certificate
                                                                # 解压
                                                                tar -xzf apache-zookeeper-3.8.3-bin.tar.gz
                                                                # 修改文件夹名称
                                                                mv /opt/zookeeper/apache-zookeeper-3.8.3-bin /opt/zookeeper/apache-zookeeper-3.8.3
                                                                # 进入安装目录
                                                                cd /opt/zookeeper/apache-zookeeper-3.8.3
                                                                

                                                                2)配置文件

                                                                在 141 服务器上执行

                                                                • 创建 zoo.cfg 配置文件
                                                                  cat > /opt/zookeeper/apache-zookeeper-3.8.3/conf/zoo.cfg < 
                                                                  

                                                                  3)拷贝ZK

                                                                  在 142、143 服务器上执行

                                                                  • 142 和 143 服务器创建目录
                                                                    mkdir /opt/zookeeper
                                                                    

                                                                    在 141 服务器上执行

                                                                    • 拷贝 Zookeeper 到其它服务器
                                                                      scp -r /opt/zookeeper/apache-zookeeper-3.8.3 root@192.168.249.142:/opt/zookeeper
                                                                      scp -r /opt/zookeeper/apache-zookeeper-3.8.3 root@192.168.249.143:/opt/zookeeper
                                                                      

                                                                      4)数据目录

                                                                      在 141、142、143 服务器上执行

                                                                      • whoami 表示当前登录用户
                                                                        mkdir -p /data/zookeeper
                                                                        chown -R `whoami` /data/zookeeper
                                                                        
                                                                        • 创建 myid 文件
                                                                          # 141 服务器
                                                                          echo "1" > /data/zookeeper/myid
                                                                          # 142 服务器
                                                                          echo "2" > /data/zookeeper/myid
                                                                          # 143 服务器
                                                                          echo "3" > /data/zookeeper/myid
                                                                          

                                                                          5)集群启动

                                                                          在 141、142、143 服务器上执行

                                                                          • 启动
                                                                            cd /opt/zookeeper/apache-zookeeper-3.8.3
                                                                            # 启动
                                                                            bin/zkServer.sh start
                                                                            # 停止
                                                                            bin/zkServer.sh stop
                                                                            
                                                                            • 查看运行情况
                                                                              bin/zkServer.sh status
                                                                              

                                                                              6)测试

                                                                              在 141 服务器上执行

                                                                              • 进入安装目录
                                                                                cd /opt/zookeeper/apache-zookeeper-3.8.3
                                                                                
                                                                                • 连接 zk 客户端
                                                                                  bin/zkCli.sh -server 192.168.249.141:2181
                                                                                  
                                                                                  • 测试数据
                                                                                    # 创建数据
                                                                                    create /test mydata
                                                                                    # 获取数据
                                                                                    get /test
                                                                                    # 列出全部节点
                                                                                    ls /
                                                                                    # 更新数据
                                                                                    set /test newdata
                                                                                    # 删除数据
                                                                                    delete /test
                                                                                    # 退出客户端
                                                                                    quit
                                                                                    

                                                                                    7)自启动

                                                                                    在 141、142、143 服务器上执行

                                                                                    • 创建 zookeeper.service
                                                                                      cat > /etc/systemd/system/zookeeper.service < 
                                                                                      
                                                                                      • 启动服务,并设置开机自启动
                                                                                        systemctl daemon-reload
                                                                                        systemctl start zookeeper.service
                                                                                        systemctl enable zookeeper.service
                                                                                        
                                                                                        • 查询进程状态
                                                                                          systemctl status zookeeper.service
                                                                                          

                                                                                          5.图形化客户端

                                                                                          1)PrettyZoo

                                                                                          PrettyZoo-GitHub:https://github.com/vran-dev/PrettyZoo

                                                                                          PrettyZoo 是一个基于 Apache Curator 和 JavaFX 实现的 Zookeeper 图形化管理客户端。

                                                                                          2)ZooInspector

                                                                                          ZooInspector:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip

                                                                                          Apache ZooKeeper 官方提供的一个简单的 GUI 工具,用于浏览和编辑存储在 ZooKeeper 中的数据。

                                                                                          6.ZK监控平台

                                                                                          Prometheus 官网:https://prometheus.io/

                                                                                          Prometheus 文档:https://prometheus.io/docs/introduction/overview/

                                                                                          Grafana 官网:https://grafana.com/oss/grafana/

                                                                                          Grafana 文档:https://grafana.com/docs/grafana/latest/?pg=oss-graf&plcmt=hero-btn-2

                                                                                          ZooKeeper Monitor:https://zookeeper.apache.org/doc/r3.6.4/zookeeperMonitor.html

                                                                                          • Zookeeper 从 3.6.0 开始支持 Prometheus 和 Grafana 进行监控。

                                                                                          • Prometheus 是一个开源系统监控和警报工具包。

                                                                                          • Grafana 是一款多平台开源分析和交互式可视化网络应用程序。

                                                                                            1)修改ZK配置文件

                                                                                            在 141、142、143 服务器上执行

                                                                                            • 修改 conf/zoo.cfg 配置文件
                                                                                              cat > /opt/zookeeper/apache-zookeeper-3.8.3/conf/zoo.cfg < 
                                                                                              
                                                                                              • 重启 ZK 集群
                                                                                                systemctl stop zookeeper.service
                                                                                                systemctl daemon-reload
                                                                                                systemctl start zookeeper.service
                                                                                                

                                                                                                2)安装 Prometheus

                                                                                                在 144 服务器上执行

                                                                                                (1)下载和安装
                                                                                                # 安装目录
                                                                                                mkdir /opt/prometheus
                                                                                                cd /opt/prometheus
                                                                                                # 下载
                                                                                                wget https://github.com/prometheus/prometheus/releases/download/v2.48.1/prometheus-2.48.1.linux-amd64.tar.gz --no-check-certificate
                                                                                                # 解压
                                                                                                tar xvfz prometheus-*.tar.gz
                                                                                                # 修改文件夹名称
                                                                                                mv /opt/prometheus/prometheus-2.48.1.linux-amd64 /opt/prometheus/prometheus-2.48.1
                                                                                                # 进入安装目录
                                                                                                cd /opt/prometheus/prometheus-2.48.1
                                                                                                
                                                                                                (2)修改配置文件
                                                                                                vim prometheus.yml
                                                                                                
                                                                                                • 内容(scrape_configs: 下添加配置)
                                                                                                  - job_name: "Zookeeper-QuarumPeermain"
                                                                                                      static_configs:
                                                                                                        - targets: ['zk-cluster-01:7000','zk-cluster-02:7000','zk-cluster-03:7000']
                                                                                                  
                                                                                                  (3)启动
                                                                                                  ./prometheus --config.file=prometheus.yml
                                                                                                  
                                                                                                  • 浏览器访问:
                                                                                                    1. http://192.168.249.144:9090/status

                                                                                                    2. http://192.168.249.144:9090/targets

                                                                                                    (4)自启动
                                                                                                    • 创建 prometheus.service
                                                                                                      cat > /etc/systemd/system/prometheus.service < 
                                                                                                      
                                                                                                      • 启动服务,并设置开机自启动
                                                                                                        systemctl daemon-reload
                                                                                                        systemctl start prometheus.service
                                                                                                        systemctl enable prometheus.service
                                                                                                        
                                                                                                        • 查询进程状态
                                                                                                          systemctl status prometheus.service
                                                                                                          

                                                                                                          3)安装 Grafana

                                                                                                          在 144 服务器上执行

                                                                                                          (1)添加YUM仓库
                                                                                                          tee /etc/yum.repos.d/grafana.repo < 
                                                                                                          
                                                                                                          (2)安装Grafana
                                                                                                          yum install grafana
                                                                                                          
                                                                                                          (3)启动
                                                                                                          • 启动服务,并设置开机自启动
                                                                                                            systemctl start grafana-server
                                                                                                            systemctl enable grafana-server.service
                                                                                                            
                                                                                                            • 查询进程状态
                                                                                                              systemctl status grafana-server
                                                                                                              
                                                                                                              • 浏览器访问:http://192.168.249.144:3000
                                                                                                              • 首次登录:admin / admin

                                                                                                                4)配置监控面板

                                                                                                                (1)配置数据源
                                                                                                                • 左侧菜单 - Data Source

                                                                                                                  CentOS7安装部署Zookeeper,在这里插入图片描述,第2张

                                                                                                                  • Add Data Source

                                                                                                                    CentOS7安装部署Zookeeper,在这里插入图片描述,第3张

                                                                                                                    • 选择 Prometheus

                                                                                                                      CentOS7安装部署Zookeeper,在这里插入图片描述,第4张

                                                                                                                      • 填写 Connection
                                                                                                                      • 最下方点击【Save & test】按钮

                                                                                                                        CentOS7安装部署Zookeeper,在这里插入图片描述,第5张

                                                                                                                        (2)导入监控面板
                                                                                                                        • 下载监控面板的 json 文件(也可以使用面板ID:10465)

                                                                                                                          zookeeper-by-prometheus:https://grafana.com/grafana/dashboards/10465-zookeeper-by-prometheus/

                                                                                                                          CentOS7安装部署Zookeeper,在这里插入图片描述,第6张

                                                                                                                          • 导入面板

                                                                                                                            CentOS7安装部署Zookeeper,在这里插入图片描述,第7张

                                                                                                                            • 选择文件,或者输入面板ID

                                                                                                                              CentOS7安装部署Zookeeper,在这里插入图片描述,第8张

                                                                                                                              • 点击【Import】按钮

                                                                                                                                CentOS7安装部署Zookeeper,在这里插入图片描述,第9张

                                                                                                                                • 导入完成

                                                                                                                                  CentOS7安装部署Zookeeper,在这里插入图片描述,第10张

                                                                                                                                  三、其它

                                                                                                                                  1.常用命令

                                                                                                                                  命令说明
                                                                                                                                  systemctl daemon-reload重新加载服务配置
                                                                                                                                  systemctl start zookeeper.service启动服务
                                                                                                                                  systemctl enable zookeeper.service开机自启动服务
                                                                                                                                  systemctl status zookeeper.service查询服务状态
                                                                                                                                  systemctl stop zookeeper.service停止服务
                                                                                                                                  systemctl restart zookeeper.service重启服务
                                                                                                                                  systemctl disable zookeeper.service禁用开机自启动服务

网友评论

搜索
最新文章
热门文章
热门标签