• Zookeeper的安装与配置


    Zookeeper 的安装与配置

    Zookeeper下载

    Zookeeper要求Java运行环境,并且需要jdk版本1.6以上
    JDK下载地址
    下载包:jdk-8u162-linux-x64.rpm
    安装JDK:yum localinstall jdk-8u162-linux-x64.rpm
    Zookeeper下载地址

    Zookeeper安装

    解压:tar -zxvf zookeeper-3.4.11.tar.gz -C /usr/local && cd /usr/local/
    重命名:mv zookeeper-3.4.11/ zookeeper
    修改环境变量 vim /etc/profile

    #ZOOKEEPER配置
    export ZOOKEEPER_HOME=/usr/local/zookeeper
    export PATH=$PATH:$ZOOKEEPER_HOME/bin
    

    刷新配置:source /etc/profile

    Zookeeper搭建方式

    Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式
    1.单机模式:Zookeeper只运行在一台服务器上,适合测试环境
    2.伪集群模式:就是在一台物理机上运行多个Zookeeper 实例 (不推荐)
    3.集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble)

    Zookeeper通过复制来实现高可用性,只要集合体中半数以上的机器处于可用状态,它就能够保证服务继续,至少3台

    1、Zookeeper的单机模式搭建

    cd /usr/local/zookeeper/conf
    mv zoo_sample.cfg zoo.cfg
    修改配置文件:

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/data/zookeeper/data
    dataLogDir=/data/zookeeper/datalog
    clientPort=2181
    

    2、Zookeeper的集群模式搭建

    创建myid
    在dataDir(/data/zookeeper/data)目录创建myid文件
    Server0机器的内容为:0
    Server1机器的内容为:1
    Server2机器的内容为:2

    echo "0" > /data/zookeeper/data/myid
    echo "1" > /data/zookeeper/data/myid
    echo "2" > /data/zookeeper/data/myid
    # 编写配置文件
    cd /usr/local/zookeeper/conf
    mv zoo_sample.cfg zoo.cfg
    

    修改配置文件(三台服务器配置相同):

    tickTime=2000 # 服务器之间或客户端与服务器之间的单次心跳检测时间间隔,单位为毫秒
    initLimit=10  # 集群中leader服务器与follower服务器第一次连接最多次数
    syncLimit=5   # leader与follower之间发送和应答时间,如果该follower在设置的时间内不能与leader进行通信,那么此follower将被视为不可用
    dataDir=/data/zookeeper/data #自定义的zookeeper保存数据的目录
    dataLogDir=/data/zookeeper/datalog
    clientPort=2181 # 客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口,接受客户端的访问请求
    server.0=10.10.40.200:2888:3888 # 服务器编号=服务器IP:LF数据同步端口:LF选举端口
    server.1=10.10.40.201:2888:3888
    server.2=10.10.40.202:2888:3888
    

    maxClientCnxns : 限制连接到zookeeper服务器客户端的数量 (可选参数)

    Zookeeper启动

    启动ZooKeeper的Server:zkServer.sh start
    关闭ZooKeeper的Server:zkServer.sh stop
    查看ZooKeeper的Server状态:zkServer.sh status

    操作Zookeeper

    执行zkCli.sh 进入zookeeper客户端

    kafka单机安装

    官方网站

    # 下载 
    wget http://mirrors.hust.edu.cn/apache/kafka/2.1.0/kafka_2.11-2.1.0.tgz
    tar -xf kafka_2.11-2.1.0.tgz 
    mv kafka_2.11-2.1.0 /usr/local/kafka
    # 修改配置文件
    vim /usr/local/kafka/config/server.properties
    # node1上修改配置文件
    broker.id=0         # 指定节点的ID号,不同节点ID必须不同
    listeners=PLAINTEXT://10.10.40.200:9092  # 监听的ip和端口
    log.dirs=/tmp/kafka-logs
    log.retention.hours=24  #  日志保留的时间单位为小时
    zookeeper.connect=10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181  # zookeeper集群IP端口
    # node2上修改配置文件
    broker.id=1         # 指定节点的ID号,不同节点ID必须不同
    listeners=PLAINTEXT://10.10.40.201:9092  # 监听的ip和端口
    log.dirs=/tmp/kafka-logs
    log.retention.hours=24  #  日志保留的时间单位为小时
    zookeeper.connect=10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181  # zookeeper集群IP端口
    # node3上修改配置文件
    broker.id=2         # 指定节点的ID号,不同节点ID必须不同
    listeners=PLAINTEXT://10.10.40.202:9092  # 监听的ip和端口
    log.dirs=/tmp/kafka-logs
    log.retention.hours=24  #  日志保留的时间单位为小时
    zookeeper.connect=10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181  # zookeeper集群IP端口
    # 启动
    /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties 
    # 查看启动日志
    tail -f /usr/local/kafka/logs/server.log
    

    kafka 操作命令

    ## 单机版
    # 创建Topic
    /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --partitions 1 --replication-factor 1 --topic  syslog
    # 查看Topic
    /usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
    # 获取Topic信息
    /usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic syslog
    # 删除Topic
    /usr/local/kafka/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic syslog
    
    ## 集群版本
    # 创建Topic
    /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181 --partitions 3 --replication-factor 3 --topic  syslog
    # 查看Topic
    /usr/local/kafka/bin/kafka-topics.sh --list --zookeeper 10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181
    # 获取Topic信息
    /usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181 --topic syslog
    # 删除Topic
    /usr/local/kafka/bin/kafka-topics.sh --delete --zookeeper 10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181 --topic syslog
    
  • 相关阅读:
    解决HttpServletResponse输出的中文乱码问题
    Java微信公众平台开发(四)--回复消息的分类及实体的创建
    Java微信公众平台开发(三)--接收消息的分类及实体的创建
    Java微信公众平台开发(二)--微信服务器post消息体的接收
    Java微信公众平台开发(一)--接入微信公众平台
    ****创业者必看:黄太吉商业计划书完整版
    php变量的几种写法
    **对比$_POST、$GLOBALS['HTTP_RAW_POST_DATA']和file_get_contents('php://input')
    CodeIgniter报错: You must use the "set" method to update an entry
    2016年最新苹果开发者账号注册申请流程最强详解!
  • 原文地址:https://www.cnblogs.com/Mrhuangrui/p/8487342.html
Copyright © 2020-2023  润新知