zoukankan      html  css  js  c++  java
  • CentOS7搭建Zookeeper环境

    Linux下安装JDK

    1、检查一下系统中的jdk版本
    [root@localhost software]# java -version
    显示:
    openjdk version "1.8.0_102"
    OpenJDK Runtime Environment (build 1.8.0_102-b14)
    OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
    2、检测jdk安装包
    [root@localhost software]# rpm -qa | grep java
    显示:
    java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
    python-javapackages-3.4.1-11.el7.noarch
    tzdata-java-2016g-2.el7.noarch
    javapackages-tools-3.4.1-11.el7.noarch
    java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
    java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
    java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
    3、卸载openjdk
    [root@localhost software]# rpm -e --nodeps tzdata-java-2016g-2.el7.noarch
    [root@localhost software]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
    [root@localhost software]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
    [root@localhost software]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
    [root@localhost software]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
    或者使用
    [root@localhost jvm]# yum remove *openjdk*
    之后再次输入rpm -qa | grep java 查看卸载情况:
    [root@localhost software]# rpm -qa | grep java
    python-javapackages-3.4.1-11.el7.noarch
    javapackages-tools-3.4.1-11.el7.noarch
    4、安装新的jdk
    [root@localhost software]# ll
    total 181192
    -rw-r--r-- 1 root root 185540433 May 20  2017 jdk-8u131-linux-x64.tar.gz
    解压 jdk-8u131-linux-x64.tar.gz安装包
    [root@localhost software]# mkdir -p /opt/soft
    [root@localhost software]# mv jdk-8u131-linux-x64.tar.gz  /opt/soft
    [root@localhost software]# tar -zxvf jdk-8u131-linux-x64.tar.gz 
    [root@localhost software]# ln -s jdk1.8.0_131 jdk
    5、设置环境变量
    [root@localhost software]# vim /etc/profile
    在最前面添加:
    export JAVA_HOME=/opt/soft/jdkexport JRE_HOME=${JAVA_HOME}/jre  export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  export  PATH=${JAVA_HOME}/bin:$PATH
    6、执行profile文件
    [root@localhost software]# source /etc/profile
    7、检查新安装的jdk
    [root@localhost software]# java -version
    显示:
    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
    到此为止,整个安装过程结束。
    8、脚本安装
    mkdir -p /opt/soft/cd  /opt/soft/
    #download jdk-8u161-linux-x64.tar.gz#wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.tar.gz
    wget --no-check-certificate --no-cookies --header "Cookie: s_nr=1392900709523; ORA_WWW_PERSONALIZE=v:1~i:6~r:6~g:APAC~l:en~cs:NOT_FOUND~cn:scut; ORASSO_AUTH_HINT=v1.0~20140322121132; ORA_UCM_INFO=3~xxxx21212xxxx~xxxx~xxxx~xxxx@163.com; s_cc=true; oraclelicense=accept-securebackup-cookie; gpw_e24=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjava-archive-downloads-javase6-419409.html%23jdk-6u45-oth-JPR; s_sq=%5B%5BB%5D%5D;" http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz
    #extract jdk#tar -xvf jdk-8u161-linux-x64.tar.gz
    tar -xvf jdk-8u161-linux-x64.tar.gz
    rm -f jdk
    ln -s jdk1.8.0_161 jdk
    
    #set environmentexport JAVA_HOME="/opt/soft/jdk"if ! grep "JAVA_HOME=/opt/soft/jdk" /etc/profilethen
      echo "export JAVA_HOME=/opt/soft/jdk" | tee -a /etc/profile
      echo "export JRE_HOME=${JAVA_HOME}/jre " | tee -a /etc/profile
      echo "export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib" | tee -a /etc/environment
      echo "export  PATH=${JAVA_HOME}/bin:$PATH" | tee -a /etc/profilefi
    #update environmentsource /etc/profileecho "jdk is installed !"

     Linux下安装ZooKeeper

    一共三个节点,zk集群不小于3个节点,要求服务器之间系统时间保持一致。
    
    (一)上传zk并且解压
    进行解压: tar -zxvf zookeeper-3.4.6.tar.gz
    重命名: mv zookeeper-3.4.6 zookeeper
    
    (二) 修改zookeeper环境变量
    vi /etc/profile
    export JAVA_HOME=/opt/jdk1.8.0_71
    export ZOOKEEPER_HOME=/usr/local/zookeeper
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
    source /etc/profile
    
    (三)修改zoo_sample.cfg文件
    cd /usr/local/zookeeper/conf
    mv zoo_sample.cfg zoo.cfg
    修改conf: vi zoo.cfg 修改两处
    (1) dataDir=/usr/local/zookeeper/data(注意同时在zookeeper创建data目录)
    (2)最后面添加
    server.0=ip1:2888:3888
    server.1=ip2:2888:3888
    server.2=ip3:2888:3888
    
    (四)创建服务器标识
    服务器标识配置:
    创建文件夹: mkdir data
    创建文件myid并填写内容为0: vi
    myid (内容为服务器标识 : 0)
    
    (五)克隆zookeeper虚拟机服务器
    把ip1、 ip2中的myid文件里的值修改为1和2
    路径(vi /usr/local/zookeeper/data/myid)
    
    (六)启动zookeeper:
    路径: /usr/local/zookeeper/bin
    执行: zkServer.sh start
    (注意这里3台机器都要进行启动)
    状态: zkServer.sh status(在三个节点上检验zk的mode,一个leader和俩个follower)

    注:启动失败,可能原因未关闭防火墙。
    查看防火墙状态:firewall-cmd --state
    停止防火墙:systemctl stop firewalld.service
    禁止开机启动:systemctl disable firewalld.service

    Zookeeper配置文件说明

    # The number of milliseconds of each tick 
    tickTime=2000 
     
    # The number of ticks that the initial  
    # synchronization phase can take 
    initLimit=10 
     
    # The number of ticks that can pass between  
    # sending a request and getting an acknowledgement 
    syncLimit=5 
     
    # the directory where the snapshot is stored. 
    # do not use /tmp for storage, /tmp here is just  
    # example sakes. 
    dataDir=/opt/soft/zookeeper/data 
     
    # the port at which the clients will connect 
    clientPort=2181 
     
    # ZooKeeper server and its port no. # ZooKeeper ensemble should know about every other machine in the ensemble # specify server id by creating 'myid' file in the dataDir # use hostname instead of IP address for convenient maintenance
    server.1=127.0.0.1:2888:3888 
    server.2=127.0.0.1:2988:3988  
    server.3=127.0.0.1:2088:3088 
     
    # 
    # Be sure to read the maintenance section of the  
    # administrator guide before turning on autopurge. 
    # 
    # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance 
    # 
    # The number of snapshots to retain in dataDir 
    # autopurge.snapRetainCount=3 
    # Purge task interval in hours 
    # Set to "0" to disable auto purge feature  <br>
    #autopurge.purgeInterval=1 
    dataLogDir=/opt/soft/zookeeper/log
    
    
    tickTime:心跳时间,为了确保连接存在的,以毫秒为单位,最小超时时间为两个心跳时间
    initLimit:多少个心跳时间内,允许其他server连接并初始化数据,如果ZooKeeper管理的数据较大,则应相应增大这个值
    clientPort:服务的监听端口
    dataDir:用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里(注意:一个配置文件只能包含一个dataDir字样,即使它被注释掉了。)
    dataLogDir:用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争
    syncLimit:多少个tickTime内,允许follower同步,如果follower落后太多,则会被丢弃。
     
    server.A=B:C:D:
    A是一个数字,表示这个是第几号服务器,B是这个服务器的ip地址
    C第一个端口用来集群成员的信息交换,表示的是这个服务器与集群中的Leader服务器交换信息的端口
    D是在leader挂掉时专门用来进行选举leader所用

    Zookeeper客户端

    zkCli.sh -server 127.0.0.1:2181 连接到 ZooKeeper 服务,连接成功后,系统会输出 ZooKeeper 的相关环境以及配置信息。
    命令行工具的一些简单操作如下:
    1. 显示根目录下、文件: ls / 使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
    2. 显示根目录下、文件: ls2 / 查看当前节点数据并能看到更新次数等数据
    3. 创建文件,并设置初始内容: create /zk "test" 创建一个新的 znode节点“ zk ”以及与它关联的字符串
    4. 获取文件内容: get /zk 确认 znode 是否包含我们所创建的字符串
    5. 修改文件内容: set /zk "zkbak" 对 zk 所关联的字符串进行设置
    6. 删除文件: delete /zk 将刚才创建的 znode 删除
    7. 退出客户端: quit
    8. 帮助命令: help
    zookeeper图像化客户端工具ZooInspector
    使用cmd运行ZooInspectoruildzookeeper-dev-ZooInspector.jar
    输入的命令为java -jar zookeeper-dev-ZooInspector.jar
    图像化界面链接即可
  • 相关阅读:
    Bioinfomatics dataset
    在Vue中使用sass和less,并解决报错问题(this.getOptions is not a function)
    axios获取文件流并下载文件
    原码,反码,补码总结
    leetcode_sql
    Mysql中Limit用法三个简单事例
    idea新建maven项目没有target文件夹
    重启mysql
    Windows下载安装netcat(nc)命令
    启动hive
  • 原文地址:https://www.cnblogs.com/bky-lzw/p/10733401.html
Copyright © 2011-2022 走看看