Zookeeper on Kafka集群搭建

环境准备

  • jdk-8u162-linux-x64.tar

  • zookeeper-3.4.12.tar

  • kafka_2.11-2.0.0 .tgz

主机名IP地址zookeepermyid
kafka-0172.18.12.135server.11
kafka-1172.18.12.143server.22
kafka-2172.18.12.144server.33

Kafka&zookeeper下载地址   提取码:6lgw


一、安装JDK并配置环境变量

[root@localhost /]# tar -xzvf jdk-8u221-linux-x64.tar.gz
[root@localhost /]# vim etc/profile

添加如下:

#set java environment
JAVA_HOME=/sk/jdk1.8.0_221
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

使配置生效

[root@localhost /]# source /etc/profile

查看JDK版本

[root@localhost /]# javaVersion

二、搭建zookeeper集群

[root@localhost tmp]# tar -zxvf zookeeper-3.4.12.tar.gz     //解压
[root@localhost tmp]# mv zookeeper-3.4.12  zookeeper        //重命名
[root@localhost tmp]# vim /etc/profile                      //配置zookeeper环境变量

添加如下:

#set zookeeper environment
export ZK_HOME=/tmp/zookeeper
export PATH=$ZK_HOME/bin:$PATH
[root@localhost zookeeper]# source /etc/profile
[root@localhost zookeeper]# mv /tmp/zookeeper/conf/zoo_sample.cfg /tmp/zookeeper/conf/zoo.cfg #重命名否则会启动服务失败

编辑zookeeper配置文件:

[root@localhost zookeeper]# vim /tmp/zookeeper/conf/zoo.cfg
#修改数据文件夹路径
dataDir=/tmp/zookeeper/data
dataLogDir=/tmp/zookeeper/log

#在文件末尾添加
server.1=172.18.12.135:2888:3888
server.2=172.18.12.143:2888:3888
server.3=172.18.12.144:2888:3888

三台主机分别执行:

[root@localhost zookeeper]# mkdir data log
[root@localhost zookeeper]# touch data/myid
[root@localhost zookeeper]# echo "1" > data/myid        //其他两台主机分别写2,3
[root@localhost tmp]# systemctl stop firewalld
[root@localhost tmp]# /tmp/zookeeper/bin/zkServer.sh start

三、搭建Kafka集群

解压kafka包

[root@localhost tmp]# tar -zxvf kafka_2.11-2.0.0\ .tgz
[root@localhost tmp]# mv kafka_2.11-2.0.0/ kafka
[root@localhost tmp]# vim /etc/profile

编辑环境变量

#set kafka environmentexport
KAFKA_HOME=/tmp/kafka
PATH=${KAFKA_HOME}/bin:$PATH
[root@localhost tmp]# source /etc/profile

编辑配置文件

[root@localhost kafka]# vim /tmp/kafka/config/server.properties

修改配置如下(IP地址broker_id应该根据实际情况填写)

broker.id=1
listeners=PLAINTEXT://172.18.12.135:9092
zookeeper.connect=172.18.12.135:2181,172.18.12.143:2181,172.18.12.144:2181

启动kafka服务

[root@localhost tmp]# /tmp/kafka/bin/kafka-server-start.sh -daemon /tmp/kafka/config/server.properties
[root@localhost bin]# jps | grep -v Jps         //查看kafka进程

如果kafka程序总是中断进程修改config/server.properties中zookeeper.connection.timeout.ms=60000

[root@localhost tmp]# /tmp/kafka/bin/kafka-topics.sh --create --zookeeper 172.18.12.135:2181 --replication-factor 1 --partitions 1 --topic test-topic    //在其中一台虚拟机(172.18.12.135)创建topic
[root@localhost tmp]# /tmp/kafka/bin/kafka-topics.sh --describe --zookeeper 172.18.12.135:2181 --topic test-topic        //查看创建的topic信息
[root@localhost bin]# ./kafka-topics.sh --list --zookeeper 172.18.12.135:2181 //列出所有topic信息

四、测试服务

[root@localhost bin]# kafka-console-producer.sh --broker-list 172.18.12.143:9092 --topic test       //运行 producer,然后在控制台输入一些消息以发送到服务器。
[root@localhost bin]# kafka-console-consumer.sh --bootstrap-server 172.18.12.135:9092  --topic test --from-beginning     //启动消费者

### Kafka集群搭建教程 #### 环境准备 为了成功搭建Kafka集群,需完成如下环境准备工作: - **安装Java Development Kit (JDK)**:Kafka依赖于Java运行时环境,因此需要预先安装好适合版本的JDK[^1]。 - **下载并解压Kafka二进制文件**:访问Apache Kafka官方网站获取最新稳定版的Kafka压缩包,并将其放置到服务器上适当位置后进行解压操作[^3]。 #### Zookeeper配置 由于Kafka利用Zookeeper来进行集群管理和协调工作,在此之前应该先建立好Zookeeper服务实例。具体做法包括但不限于创建`zookeeper.properties`这样的配置文档,并设定必要的选项比如数据存储路径(`dataDir`)、客户端连接端口(`clientPort`)以及最大并发连接数(`maxClientCnxns`)等参数。 ```properties # zookeeper.properties example configuration file content dataDir=/var/lib/zookeeper clientPort=2181 maxClientCnxns=0 ``` 对于多节点部署场景,则建议按照专门针对Zookeeper集群建设指南先行组织起一套稳定的Zookeeper群集结构[^2]。 #### Kafka配置调整 接下来就是对各个Kafka Broker节点执行个性化定制化设置了。这通常涉及到编辑位于解压后的Kafka目录下的`config/server.properties`文件,其中可能涉及的关键属性有broker.id, listeners, advertised.listeners, log.dirs等等。 ```bash # Example command to edit server properties on each broker node vi /path/to/kafka/config/server.properties ``` #### 启动与验证 当上述所有前置条件均已满足之后就可以依次开启各组件的服务进程了——首先是启动Zookeeper实例;接着再分别激活每一个Broker上的Kafka守护程序。最后可以通过命令行工具来检验整个系统的健康状况,例如尝试新建Topic或者发送接收消息测试等功能是否正常运作。 ```shell # Start ZooKeeper service /path/to/zookeeper/bin/zkServer.sh start # Start Kafka broker service /path/to/kafka/bin/kafka-server-start.sh -daemon /path/to/kafka/config/server.properties # Create a new topic named 'test' /path/to/kafka/bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 # List all topics available in the cluster /path/to/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值