zoukankan      html  css  js  c++  java
  • zookeeper安装及部署

    安装及部署

    一. 单机安装、配置

    1、下载zookeeper二进制安装包

    • 下载

    curl -L -O http://apache.fayea.com/zookeeper/stable/zookeeper-3.4.6.tar.gz
    • 解压

    tar zxvf zookeeper-3.4.6.tar.gz

    2、设置环境变量

    ZOOKEEPER_HOME关键字为添加的配置项

    # /etc/profile
    
    # System wide environment and startup programs, for login setup
    # Functions and aliases go in /etc/bashrc
    
    # It's NOT a good idea to change this file unless you know what you
    # are doing. It's much better to create a custom.sh shell script in
    # /etc/profile.d/ to make custom changes to your environment, as this
    # will prevent the need for merging in future updates.
    
    pathmunge () {
        case ":${PATH}:" in
            *:"$1":*)
                ;;
            *)
                if [ "$2" = "after" ] ; then
                    PATH=$PATH:$1
                else
                    PATH=$1:$PATH
                fi
        esac
    }
    
    
    if [ -x /usr/bin/id ]; then
        if [ -z "$EUID" ]; then
            # ksh workaround
            EUID=`id -u`
            UID=`id -ru`
        fi
        USER="`id -un`"
        LOGNAME=$USER
        MAIL="/var/spool/mail/$USER"
    fi
    
    # Path manipulation
    if [ "$EUID" = "0" ]; then
        pathmunge /sbin
        pathmunge /usr/sbin
        pathmunge /usr/local/sbin
    else
        pathmunge /usr/local/sbin after
        pathmunge /usr/sbin after
        pathmunge /sbin after
    fi
    
    HOSTNAME=`/bin/hostname 2>/dev/null`
    HISTSIZE=1000
    if [ "$HISTCONTROL" = "ignorespace" ] ; then
        export HISTCONTROL=ignoreboth
    else
        export HISTCONTROL=ignoredups
    fi
    
    export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
    
    # By default, we want umask to get set. This sets it for login shell
    # Current threshold for system reserved uid/gids is 200
    # You could check uidgid reservation validity in
    # /usr/share/doc/setup-*/uidgid file
    if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
        umask 002
    else
        umask 022
    fi
    
    for i in /etc/profile.d/*.sh ; do
        if [ -r "$i" ]; then
            if [ "${-#*i}" != "$-" ]; then
                . "$i"
            else
                . "$i" >/dev/null 2>&1
            fi
        fi
    done
    
    unset i
    unset pathmunge
    
    JAVA_HOME=/usr/java/jdk1.7.0_51
    #zookeeper环境变量设置
    ZOOKEEPER_HOME=/usr/local/logdeal/zookeeper-3.4.6
    PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$ZOOKEEPER_HOME/lib:
    TOMCAT_HOME=/usr/local/tomcat7
    CATALINA_HOME=/usr/local/tomcat7
    export ZOOKEEPER_HOME
    export JAVA_HOME
    export PATH
    export CLASSPATH
    export TOMCAT_HOME
    export CATALINA_HOME
    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

    3、配置

    配置文件存放在$ZOOKEEPER_HOME/conf/目录下,将zoo_sample.cfd文件名称改为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
    # 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
    #
    # 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
    • 配置说明:

    tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。

    dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。

    dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置。

    clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

    4、启动Zookeeper

    当这些配置项配置好后,你现在就可以启动zookeeper了:

    ./zkServer.sh start #启动
    netstat -tunlp|grep 2181 #查看zookeeper端口
    ./zkServer.sh stop #停止

    二. 集群安装、配置

    集群安装与配置暂时省略,下次在作补充。

    • 参考资料:

    zookeeper入门(1)在单机上实现ZooKeeper伪机群/伪集群部署

    zookeeper单机伪集群配置

    Zookeeper 安装和配置

    zookeeper原理(转)

  • 相关阅读:
    MySQL 联合索引测试
    Redis的安装
    MySQL中int(5) 中的5代表什么意思?
    JS树结构转list结构
    SpringMVC数组参数
    立即执行函数(function(){})()与闭包
    女票口红礼物列表
    Idea中编辑后需要重启问题
    Myeclipse6.5迁移到IDEA
    Layui前端框架
  • 原文地址:https://www.cnblogs.com/wangyangliuping/p/5546506.html
Copyright © 2011-2022 走看看