zoukankan      html  css  js  c++  java
  • 集群部署

    ZooKeeper和Kafka集群部署

    ZooKeeper集群部署

    准备三台机器搭建集群,所有命令都在三台机器上运行

    基础环境配置

    主机名配置

    # hostnamectl set-hostname zookeeper1

    # hostnamectl set-hostname zookeeper2

    # hostnamectl set-hostname zookeeper3

    # bash    重启生效

    配置文件

    三台机器修改

    vi /etc/hosts

    搭建集群

    安装环境

    三台机器安装JDK环境

    # yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

    查看java版本

    # java -version

    解压软件包 

    将zookeeper压缩包上传到三台机器的/root目录,进行解压

    # tar -zxvf zookeeper-3.4.14.tar.gz

    修改配置文件

    修改三台机器的配置文件

    # cd zookeeper-3.4.14/conf 

    # mv zoo_sample.cfg zoo.cfg

    在文件最后加入三行

    # vi zoo.cfg

    initLimit:ZooKeeper集群模式下包含多个zk进程,其中一个进程为leader,余下的进程为follower。当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间

    syncLimit:配置follower和leader之间发送消息,请求和应答的最大时间长度

    tickTime:tickTime则是上述两个超时配置的基本单位,例如对于initLimit,其配置值为5,说明其超时时间为 2000ms * 5 = 10秒

    server.id=host:port1:port2:其中id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口

    dataDir:其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个myid文件。myid文件的内容只有一行,且内容只能为1 - 255之间的数字,这个数字亦即上面介绍server.id中的id,表示zk进程的id

    创建myid文件

    在三台机器上创建myid文件

    # mkdir /tmp/zookeeper

    # vi /tmp/zookeeper/myid

    文件里的数字为zoo.cfg的指定值,第二台机器为2,第三台为3

    启动服务

    关闭三台机器的防火墙

    # systemctl stop firewalld

    启动zookeeper服务

    # cd zookeeper-3.4.14/bin 

    # ./zkServer.sh start

    查看启动状态

    # ./zkServer.sh status

    两台机器为follower,一台为leader

    Kafka集群部署 

    kafka服务依赖于zookeeper服务。所以用搭建过zookeeper集群的三台机器进行构建kafka集群。所有命令都在三台机器上运行

    搭建集群

    解压软件包

    将kafka压缩包上传到三台机器的/root目录,进行解压

    # tar -zxvf kafka_2.11-1.1.1.tgz

    修改配置文件

    在三台机器上修改配置文件

    # cd kafka_2.11-1.1.1/config

    # vi server.properties

    将配置文件中以下两行注释掉(在文本前加#)

    #broker.id=0

    #zookeeper.connect=localhost:2181

    在文件底部添加配置

    第一台机器

    第二台机器

    第三台机器

    broker.id:每台机器不能一样

    zookeeper.connect:有3台ZooKeeper服务器

    listeners:在配置集群的时候,必须设置,不然以后的操作会报找不到leader的错误。

    启动服务

    在三台机器上启动服务

    # cd kafka_2.11-1.1.1/bin

    # ./kafka-server-start.sh -daemon ../config/server.properties

    查看服务

    # jps

    第一台机器

    第二台机器

    第三台机器

    测试服务 

    # cd kafka_2.11-1.1.1/bin

    在第一台机器创建topic命令

    ./kafka-topics.sh --create --zookeeper 192.168.37.12:2181 --replication-factor 1 --partitions 1 --topic test

    成功输出“Created topic "test"

    在第二台和第三台机器分别测试查看topic

    # ./kafka-topics.sh --list --zookeeper 192.168.37.13:2181

    # ./kafka-topics.sh --list --zookeeper 192.168.37.14:2181

    成功输出test

  • 相关阅读:
    福利贴——爬取美女图片的Java爬虫小程序代码
    select多选 multiple的使用
    Android笔记---点击事件的四种写法
    二叉排序树的插入与删除
    hdu 5269 ZYB loves Xor I && BestCoder Round #44
    linux 下同步异步,堵塞非堵塞的一些想法
    JavaScript编程随笔
    《从零開始学Swift》学习笔记(Day 51)——扩展构造函数
    What's Wrong With Hue Oozie Editor?
    2015.7个人反思小结以及兴许规划
  • 原文地址:https://www.cnblogs.com/tui463/p/12504436.html
Copyright © 2011-2022 走看看