zoukankan      html  css  js  c++  java
  • linux下搭建zookeeper集群全流程Centos7.2版本

    准备环境

    Centos7.2 1511版本下载

    链接:https://pan.baidu.com/s/1jjHoz_GQNe9pwTT40ZWryg
    提取码:4mtp

    zookeeper安装包下载

    链接:https://pan.baidu.com/s/1n7UtDJInpa_OAe_kcXM7fQ
    提取码:mfoq

    1.关闭防火墙

    [root@master ~]# systemctl stop firewalld
    [root@master ~]# systemctl disable firewalld

    2.关闭selinux## 标题

    [root@master ~]# setenforce 0
    [root@master ~]# vim /etc/selinux/config

    设置
    SELINUX=disabled
    都关闭后必须重启

    3.安装jdk和zookeeper

    [root@master ~]# mkdir /usr/java
    [root@master software]# cd /usr/java/
    [root@master java]# tar -zxvf jdk-8u281-linux-x64.tar.gz
    [root@master ~]# mkdir /usr/local/software
    [root@master ~]# cd /usr/local/software/
    [root@master software]# tar -zxvf apache-zookeeper-3.5.9.tar.gz

    4.配置jdk环境变量

    [root@slave1 java]# vi /etc/profile
    #set java environment shift+G跳转到最后一行
    export JAVA_HOME=/usr/java/jdk1.8.0_281
    export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
    export PATH=$JAVA_HOME/bin:$PATH

    5.环境变量生效

    [root@master java]# source /etc/profile 

    6.查看jdk版本

    [root@master java]# java -version  

    7.修改zookeeper配置文件

    [root@master conf]# cd /usr/local/software/apache-zookeeper-3.5.9/conf/
    [root@master conf]# ll
    total 12
    -rw-r--r--. 1 502 games  535 Oct  5 11:01 configuration.xsl
    -rw-r--r--. 1 502 games 2712 Jan  6 13:56 log4j.properties
    -rw-r--r--. 1 502 games  922 Jan  6 13:56 zoo_sample.cfg
    [root@master conf]# cp zoo_sample.cfg zoo.cfg
    [root@master conf]# vim zoo.cfg
    

      

    上面红色框住的内容即是我们修改的内容:

    ①、tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2倍tickTime

    ②、dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。

    ③、client:监听客户端连接的端口。

    ④、initLimit:允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。

    ⑤、syncLimit:表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。

    ⑥、server.A=B:C:D

    A:其中 A 是一个数字,表示这个是服务器的编号;

    B:是这个服务器的 ip 地址;

    C:Leader选举的端口;

    D:Zookeeper服务器之间的通信端口。
        
    我们需要修改的第一个是 dataDir ,在指定的位置处创建好目录。
    第二个需要新增的是 server.A=B:C:D 配置,其中 A 对应下面我们即将介绍的myid 文件。B是集群的各个IP地址,C:D 是端口配置。

    8.创建myid文件

    **在上一步创建的dataDir对应目录创建myid文件 内容为对应的server.X 对应的数字X
    3个节点内容分别为1 2 3 **

    [root@master data]# vi data/myid
    [root@master data]# ls
    myid
    [root@master data]# cat myid 
    0
    [root@slave1 data]# cat myid 
    1
    [root@slave2 data]# cat myid 
    2
    

     

    9.配置zookeeper环境变量

    [root@ master apache-zookeeper-3.5.9]# vi /etc/profile
    添加
    #set zookeeper environment
    export ZK_HOME=/usr/local/software/apache-zookeeper-3.5.9
    export PATH=$PATH:$ZK_HOME/bin
    "/etc/profile" 83L, 2041C written
    #环境变量生效
    [root@master data]# source /etc/profile
    

      

    10.启动zookeeper

    [root@master data]# zkServer.sh start
    ZooKeeper JMX enabled by default
    Using config: /usr/local/software/apache-zookeeper-3.5.9/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    

      

    启动命令
    zkServer.sh start
    停止命令
    zkServer.sh stop
    重启命令
    zkServer.sh restart
    查看集群节点状态
    zkServer.sh status

    三台机器,slave1 成功的通过了选举称为了leader(领导者),而剩下的两台成为了 follower(跟随者)。这时候,如果你将slave1关掉,会发现剩下两台又会有一台变成了 leader节点。

    11.(番外)配置阿里云yum源

    安装阿里云yum源

    [root@slave1 yum.repos.d]# cd /etc/yum.repos.d/
    [root@slave1 yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo
    

      

    #备份原yum源

    [root@slave1 yum.repos.d]# mv CentOS-Base.repo CentOs-Base.repo.bak
    [root@slave1 yum.repos.d]# mv Centos-7.repo CentOs-Base.repo
    #清理缓存
    [root@slave1 yum.repos.d]# yum clean all
    #重新生成缓存
    [root@slave1 yum.repos.d]# yum makecache
    #升级yum源
    [root@slave1 yum.repos.d]# yum uptade
  • 相关阅读:
    dotnet core 获取 MacAddress 地址方法
    dotnet core 获取 MacAddress 地址方法
    dotnet core 发布只带必要的依赖文件
    dotnet core 发布只带必要的依赖文件
    Developing Universal Windows Apps 开发UWA应用 问答
    Developing Universal Windows Apps 开发UWA应用 问答
    cmd 如何跨驱动器移动文件夹
    cmd 如何跨驱动器移动文件夹
    C++ 驱动开发 error LNK2019
    C++ 驱动开发 error LNK2019
  • 原文地址:https://www.cnblogs.com/cndeveloper/p/14393384.html
Copyright © 2011-2022 走看看