美文网首页
zookeeper与kafka基础集群搭建记录

zookeeper与kafka基础集群搭建记录

作者: 鸡龙 | 来源:发表于2021-10-23 21:18 被阅读0次

一、zookeeper

1. 下载

2. 安装

(1)简单单机安装脚本

拿着压缩包一次安装成功,没什么意外,贴上安装指令。

#!/bin/bash
tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
mv apache-zookeeper-3.7.0-bin /usr/local/zookeeper
rm -rf apache-zookeeper-3.7.0-bin.tar.gz
mkdir -p /var/lib/zoopkeeper
cat > /usr/local/zookeeper/conf/zoo.cfg << EOF
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
EOF

启动:/usr/local/zookeeper/bin/zkServer.sh start
状态:/usr/local/zookeeper/bin/zkServer.sh status
停止:/usr/local/zookeeper/bin/zkServer.sh stop

(2)集群配置

vim /usr/local/zookeeper/conf/zoo.cfg

tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=20
syncLimit=5
server.1=0.0.0.0:2888:3888
server.2=192.168.10.152:2888:3888
server.3=192.168.10.153:2888:3888

参数解释:

  1. tickTime:CS通信心跳时间。
  2. initLimit:集群中的follower服务器(F)与leader服务器(L)之间初连接时能容忍的最多心跳数(tickTime的数量)。
  3. syncLimit:集群中flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数。
  4. dataDir:该属性对应的目录是用来存放myid信息跟一些版本,日志,跟服务器唯一的ID信息等。
  5. clientPort:客户端连接的接口,客户端连接zookeeper服务器的端口,zookeeper会监听这个端口,接收客户端的请求访问!这个端口默认是2181。
  6. service.N:service.N =A:B:C。
    1. N:服务器编号,即后面会配置的一个myid文件内的值。
    2. A:集群内其他机器可ping通的一个本机地址。
    3. B:Flower 跟 Leader的通信端口,简称服务端内部通信的端口(默认2888)。
    4. C:选举端口(默认是3888)。

单机改为集群有两个注意点,

  • zoo.cfg中本机的地址(A部分)更改为0.0.0.0。
  • 在dataDir目录下创建myid的文件,里面填入本机地址对应的服务器编号(N部分)。

所有集群机器配置修改完毕后,正常启动即可。
所有机器启动zookeeper完毕后,使用查看状态命令:

Leader状态

/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader

follower状态

/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

二、kafka

1. 下载

2. 安装

为了在server.properties中的listeners项与zookeeper.connect项填入主机名能找到对应的机器。在所有集群机器增加hosts表。以下使用我集群主机名来进行配置示例。

以你的主机名和ip地址来替换,追加到hosts下。
vim /etc/hosts,追加

192.168.10.151 centos7-1
192.168.10.152 centos7-2
192.168.10.153 centos7-3

快速安装

tar -zxvf kafka_2.13-3.0.0.tgz
mv kafka_2.13-3.0.0 /usr/local/kafka
mkdir /tmp/kafka-logs
rm -rf kafka_2.13-3.0.0.tgz
vim /usr/local/kafka/config/server.properties

需要修改的参数解释:

  1. broker.id:每个broker的唯一标识符,不可重复,默认为0。
  2. listeners:套接字服务器侦听的地址,修改为PLAINTEXT://centos7-1:9092
  3. zookeeper.connect:zookeeper地址,使用主机名:端口配置,集群用逗号分隔。

所以在centos7-N机器中,可以应用以下配置(N为数字,自增变化)

broker.id=1
listeners=PLAINTEXT://centos7-N:9092
zookeeper.connect=centos7-1:2181,centos7-2:2181,centos7-3:2181

启动
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.propertie

创建topic测试
/usr/local/kafka/bin/kafka-topics.sh --create --bootstrap-server centos7-1:9092 --replication-factor 1 --partitions 1 --topic test

查看所有topic
/usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server centos7-1:9092

相关文章

  • Kafka学习笔记(二)

    Kafka环境搭建 准备工作 Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群...

  • 多台虚拟机搭建zookeeper集群

    zookeeper集群搭建 kafka是把状态保存在zookeeper中的,首先要搭建zookeeper集群。尽管...

  • kafka 集群搭建

    本文用以记录 kafka 集群安装 基础环境 jdk 1.8zookeeper-3.4.13kafka_2.11-...

  • centos7 搭建kafka集群

    搭建kafka集群,需要先搭建zookeeper集群,搭建zookeeper集群,依赖于jdk 1.下载安装jdk...

  • Docker搭建kafka集群

    搭建zookeeper集群 zookeeper集群搭建 拉取kafka镜像 运行容器 主机一: 主机二: 主机三:

  • Kafka集群搭建

    Kafka集群搭建 准备工作 Kafka 依赖 ZooKeeper ,所以需要提前安装好 ZooKeeper ,...

  • zookeeper与kafka基础集群搭建记录

    一、zookeeper 1. 下载 官方下载[https://downloads.apache.org/zooke...

  • Kafka集群

    Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群。Zookeeper集群部署请...

  • Hadoop+zookeeper+Flume+Spark+Kaf

    Hadoop zookeeper Flume Spark Kafka Hbase大数据集群搭建教程 集群搭建流程 ...

  • kafka集群搭建

    kafka集群搭建 一、zookeeper集群搭建 略,请参考其他文档,这里不再赘述。 二、下载kafka 从ka...

网友评论

      本文标题:zookeeper与kafka基础集群搭建记录

      本文链接:https://www.haomeiwen.com/subject/qyelaltx.html