• 高可用的zookeeper


    Install zookeeper

    wget  http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
    tar -zxvf zookeeper-3.4.13.tar.gz
    mv zookeeper-3.4.13 /usr/local/
    useradd zookeeper
    chown -R zookeeper.zookeeper /usr/local/zookeeper-3.4.13
    
    
    
    cd /usr/local/zookeeper-3.4.13/conf/
    cp zoo_sample.cfg zoo.cfg
    
    ln -sf /usr/local/zookeeper-3.4.13/conf/zoo.cfg /etc/zookeeper/
    
    mkdir -p /var/lib/zookeeper
    chown -R zookeeper:zookeeper /var/lib/zookeeper
    
     用来标识主机
    echo 1 > /var/lib/zookeeper/myid
    echo 2 > /var/lib/zookeeper/myid 
    echo 3 > /var/lib/zookeeper/myid
    

     修改配置文件

    vi /etc/zookeeper/zoo.cfg 
    # 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=/tmp/zookeeper
    dataDir=/var/lib/zookeeper
    # the port at which the clients will connect
    clientPort=2181
    # the maximum number of client connections.
    # increase this if you need to handle more clients
    #maxClientCnxns=60
    maxClientCnxns=0
    #
    # 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
    #autopurge.purgeInterval=1
    
    server.1=hd03.bitauto.com:2888:3888
    server.2=hd04.bitauto.com:2888:3888
    server.3=hd12.bitauto.com:2888:3888

     

    172.17.2.146 hd01.bitauto.com hd01
    172.17.2.147 hd02.bitauto.com hd02
    172.17.2.148 hd03.bitauto.com hd03
    172.17.2.149 hd04.bitauto.com hd04
    172.17.2.150 hd05.bitauto.com hd05
    172.17.2.249 hd06.bitauto.com hd06
    172.17.2.250 hd07.bitauto.com hd07
    172.17.2.105 hd08.bitauto.com hd08
    172.17.2.33 hd09.bitauto.com hd09
    172.17.2.21 hd10.bitauto.com hd10
    172.17.2.22 hd11.bitauto.com hd11
    172.17.2.23 hd12.bitauto.com hd12
    172.17.2.24 hd13.bitauto.com hd13
    

      

    1、安装

    yum install csh

    http://cr.yp.to/daemontools/daemontools-0.76.tar.gz下载

    yum install gcc tcsh # gcc, csh 要求
    wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
    tar -zxf daemontools-0.76.tar.gz
    cd admin
    mv daemontools-0.76 /var/lib/ # 非常重要, 安装完成后不能删除: /var/lib/daemontools-0.76
    chown root:root -R /var/lib/daemontools-0.76
    chmod 755 /var/lib/daemontools-0.76
    cd /var/lib/daemontools-0.76/ # 必须进入此目录才能编译
    ./package/install
    sed -i '$acsh -cf x27/command/svscanboot &x27' /etc/rc.d/rc.local
    

     

    最后一句命令是在 ‘/etc/rc.d/rc.local’ 文件上加上了一句:

    csh -cf '/command/svscanboot &'

    启用:


    sh /etc/rc.local
    systemctl start rc-local

    检查服务是否启动:

    ps -ef|grep svscanboot
    root     13716     1  0 04:44 pts/1    00:00:00 /bin/sh /command/svscanboot
     

      

    使机器重启后生效:

    chmod +x /etc/rc.d/rc.local                              # 必须有,否则重启不能启动 svscanboot 服务

    如果你的glibc库比较新,此时你很可能会遇到下面错误:

    /usr/bin/ld: errno:
    TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in envdir.o
    /lib/libc.so.6: could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make: *** [envdir] Error 1
    Copying commands into ./command...
    cp: cannot stat `compile/svscan': No such file or directory

    为了解决这个问题,接着上面的安装步骤继续:

    cd src
    wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch
    patch < daemontools-0.76.errno.patch
    cd ..
    package/install
    

    通过ps -ef | grep svscan 来确认安装是否成功

    然后添加监视进程

    1 cd /service/

    2  mkdir zookeeper

    3 vim run 

    4 填写内容为

    #!/bin/bash
    exec 2>&1
    exec /usr/local/zookeeper-3.4.13/bin/zkServer.sh  start
    date

     拥有执行权限

     chmod +x run

    开机启动  暂时不需要

    [root@localhost ~]# vi /etc/init.d/zookeeper 
    #! /bin/sh
    #
    # chkconfig: 2345 90 10
    # description: zookeeper daemon
    
    . /etc/init.d/functions
    
    # You will probably want to change only two following lines.
    BASEDIR="/usr/local/zookeeper-3.4.9"
    USER="zookeeper"
    
    PROG="zookeeper"
    CMD="bin/zkServer.sh"
    RETVAL=0
    
    start () {
    echo -n $"Starting ${PROG}: "
    runuser ${USER} -c "cd ${BASEDIR}
    ${CMD} start > /dev/null &"
    echo
    }
    
    stop () {
    echo -n $"Stopping ${PROG}: "
    runuser ${USER} -c "cd ${BASEDIR}
    ${CMD} stop > /dev/null &"
    echo
    }
    
    restart () {
    stop
    start
    }
    
    
    # See how we were called.
    case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart)
    restart
    ;;
    *)
    echo $"Usage: $0 {start|stop|status}"
    RETVAL=2
    ;;
    esac
    
    exit $RETVAL
    
    # chmod 755 /etc/init.d/zookeeper
    # /etc/init.d/zookeeper start
    # chkconfig zookeeper on
    
  • 相关阅读:
    几个可以通过curl查询公网IP的站点
    CentOS安装 netdata 实时监视 Linux 系统性能
    Linux用ifconfig设置IP、掩码、网关
    Linux添加用户(user)到用户组(group)
    使用密码登陆Amazon EC2
    ulimit 命令详解
    linux命令行光标移动技巧
    阿里云epel源
    用scp实现多服务器文件分发
    2019年春季第二周作业
  • 原文地址:https://www.cnblogs.com/jack-Star/p/9937134.html
Copyright © 2020-2023  润新知