zoukankan      html  css  js  c++  java
  • zookeeper集群搭建

    作为程序员的我们可能都知道,在公司开发过程中如果不是leader和架构,很少有机会自己搭建软件的架构。zookeeper作为Java程序相对来说安装起来很容易,解压即可,省去了编译的过程。可能对于没有了解的小白听到集群感觉很高大上的样子,其实所有的知识都一样,当你学习多了,好多的知识都是相通的,好了废话不多说了,下面开始搭建。

    一、准备工作

    1、如果你的资源充沛,可以搞几台linux服务器(这里上一篇文章说过这里最好使用2n+1 :为了更充分的利用资源),如果没条件就准备一台虚拟机(这里对虚拟机的安装和linux服务器的安装就不做过多的赘述)

    2、下载zookeeper压缩包(最新版直接到官网下载: https://zookeeper.apache.org/   历史版本:http://archive.apache.org/dist/zookeeper/)这里使用的是3.4.6版本

    3、下载jdk压缩包() https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html  

    二、jdk安装

    首先看一下你的你的linux服务器有没有安装jdk(java -version)  如果没有进行安装  如果已经安装可以略过jdk的安装

    1、使用xshell  和  xftp 连接服务器  ,使用 Xftp 将jdk压缩包上传到服务器上,  建立文件夹/usr/local/java/  ,将文件拷贝到建好的文件夹 , 解压。

    mkdir -p /usr/local/java/    ---->  mv jdk-8u261-linux-x64.tar.gz  /usr/local/java/  ----->   tar xf  jdk-8u261-linux-x64.tar.gz

    2、配置环境变量:

    export JAVA_HOME=/usr/local/java/jdk1.8.0_261
    export JRE_HOME=/usr/local/java/jdk1.8.0_261/jre
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

    3、配置完成后需要让配置文件生效:source /etc/profile

    测试安装成功 :java -version   出现Java版本即为成功

    三、zookeeper安装

    这里搭建以最少数量3台机器为例:在虚拟机建立三台linux服务器 , 使用 ip addr 查看ip地址记录下来

    1、建立文件夹 :进入opt 文件夹  , 在opt下创建dongl文件  mkdir /dongl/  

    2、使用xftp将下载好的zookeeper压缩包上传到/opt/dongl/ 文件夹下 然后解压-------->   解压 文件: tar xf zookeeper-3.4.6.tar.gz 

    3、进入zookeeper文件夹内 :cd opt/dongl/zookeeper-3.4.6

    这里有bin/----->里面有很多的脚本命令   

    conf/ ------>里面有zoo_sample.cfg配置文件

    4、(zookeeper启动默认加载的是zoo.cfg)  所以需要拷贝一份或者将zoo_sample.cfg改名    这里进行拷贝 cp zoo_sample.cfg zoo.cfg

    5、进入zoo.cfg 进行配置文件的修改:vi zoo.cfg

    tickTime=2000(心跳时间)
    initLimit=10 当有一个从节点追随一个主节点时 主节点可以忍受2000*10这么长时间的初始延迟
    syncLimit=5 同步时间为2000*5 如果leader 下发同步数据的命令在10s没回复认为follower有问题
    dataDir=/**/**/ 存放临时数据 修改目录名 dataDir=/var/dongl/zk
    clientPort=2181 客户端连接zookeeper进程使用的端口号
    maxClientCnxns=60 zookeeper最大连接数
    配置集群server信息:

    server.1=192.168.247.132:2888:3888

    server.2=192.168.247.133:2888:3888

    server.3=192.168.247.134:2888:3888

    3888---->当zookeeper主节点(leader)挂掉后 他们通过3888建立连接 ---->选出一个leader--->leader会起一个2888的端口,其他foller通过2888和leader建立socate连接,之后他们的所有通信都在这个2888下进行 前面的1234 为了快速选出leader

    6、创建 var/dongl/zk 文件夹 mkdir -p /var/dongl/zk 进入var/dongl/zk 之后持久化的数据会在这个目录下

    这个目录下还要放一个东西:myid -----> vi myid ---> 写入上面配置服务的id   即为 server.1  就为1 --->退出

    7、配置环境变量:进入profile文件: cd  /etc/  ------>   vi profile

    export JAVA_HOME=/usr/local/java/jdk1.8.0_261
    export JRE_HOME=/usr/local/java/jdk1.8.0_261/jre
    export ZOOKEEPER_HOME=/opt/dongl/zookeeper-3.4.6
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ZOOKEEPER_HOME/bin
    export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

    8、让profile生效  : source /etc/profile        测试配置是否成功:zk  +tal键  会出现命令

    到这里单机的zookeeper就安装好了剩下两台机器的安装和上面的相同

    9、下面需要将第一台配置好的机器的zookeeper信息copy到另外的集群机器中:

    发起一个远程的copy :

    scp -r ./dongl/ 192.168.247.133>'pwd'

    scp -r ./dongl/ 192.168.247.134>'pwd'

    进入另外的机器 查看 配置文件 cd opt/dongl/zookeeper-3.4.6/conf ---->vi zoo.cfg
    分别建立/var/dongl/zk 目录 mkdir -p /var/dongl/zk ---->echo 2 > /var/dongl/zk/myid ----> cat /var/dongl/zk/myid 会看到文件中存放一个2
    依次给下面的几台机器同样的操作

    10、使用命令启动:zkServer.sh  help   可以查看命令详情    依次使用 zkServer.sh start 启动   -------->zkServer.sh  status 查看状态

     四、【总结】

    到这里zookeeper的简单集群就搭建好了,是不是也没有想象那么困难  如果有疑问可以互相讨论

  • 相关阅读:
    2017-2018-1 20155326 实验四 外设驱动程序设计
    2017-2018-1 20155326 20155320《信息安全技术》实验四 木马及远程控制技术
    20155326 2017-2018-1 《信息安全系统设计基础》第六章课上考试题
    6月20日云栖精选夜读:阿里怎么发工资?自研薪酬管理系统首次曝光
    一个成功的研发团队应具备的9大属性
    那些创业的艰辛整理
    明明可以靠脸吃饭偏要靠才华_你身边有女神程序员吗?
    程序猿们_一二三四线城市你更愿意选择去哪里工作?
    微服务架构实践之邮件通知系统改造
    谈谈“僵尸猎手小明”手游兼容性踩到的坑
  • 原文地址:https://www.cnblogs.com/dongl961230/p/13716989.html
Copyright © 2011-2022 走看看