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

  • 相关阅读:
    Count and Say leetcode
    Find Minimum in Rotated Sorted Array II leetcode
    Find Minimum in Rotated Sorted Array leetcode
    Search in Rotated Sorted Array II leetcode
    search in rotated sorted array leetcode
    Substring with Concatenation of All Words
    Subsets 子集系列问题 leetcode
    Sudoku Solver Backtracking
    Valid Sudoku leetcode
    《如何求解问题》-现代启发式方法
  • 原文地址:https://www.cnblogs.com/tui463/p/12504436.html
Copyright © 2011-2022 走看看