KAFKA单机和集群安装部署

单机部署

实验环境

将服务压缩包都存放至服务器的/data/install目录中

服务器ip地址

服务名称

服务版本

安装路径

192.168.10.100

JDK

15.0.1

/data/install/jdk

zookeeper

3.8.0

/data/zookeeper-3.8.0

kafka

2.12-3.2.0

/data/kafka_2.12-3.2.0

kafka是依赖于zookeeper服务启动的,zookeeper和kafka都是java服务,需要安装jdk。

一、服务安装包下载地址。

jdk:https://www.jb51.net/softs/691593.html

zookeeper :https://dlcdn.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz

kafka:Index of /dist/kafka

二、将下载安装包上传至服务器

安装包下载完成后上传至服务器的/data/install目录中后解压

#解压jdk

cd /data/install

tar -zxvf jdk-15.tar.gz

#解压zookeeper

tar -zxvf zookeeper-3.8.0 -C ../

#解压kafka

tar -zxvf kafka_2.12-3.2.0 -C ../

三、设置环境变量(全部shell生效)

编辑/etc/profile文件

vim /etc/profile

#在文件末尾添加以下内容

#java

export JAVA_HOME=/data/install/jdk

#zookeeper

export ZOOKEEPER_HOME=/data/zookeeper-3.8.0

#kafka

export KAFKA_HOME=/data/kafka_2.12-3.2.0

export PATH=$JAVA_HOME/bin:$KAFKA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH

保存退出后让环境变量生效

source /etc/profile

检查环境变量是否生效

四、修改zookeeper的配置文件

先将zk的配置文件拷贝为zoo.cfg

cd /data/zookeeper-3.8.0/conf/

cp zoo_sample.cfg zoo.cfg

编辑zoo.cfg的配置文件内容

vim zoo.cfg

#修改数据存放目录

dataDir=/data/zookeeper-3.8.0/data

创建数据存放目录

mkdir /data/zookeeper-3.8.0/data

五、启动zookeeper服务

修改配置文件和创建数据存放目录完成后启动zk服务

zkServer.sh start

启动完成后检查服务器运行状态

ps -ef | grep zookeeper

netstat -anlp | grep 2181

六、修改kafka配置文件

直接修改kafka的配置文件并创建对应的数据存放目录

mkdir /data/kafka_2.12-3.2.0/logs

cd /data/kafka_2.12-3.2.0/

vim config/server.properties

#添加以下内容

listeners=PLAINTEXT://192.168.10.100:9092

advertised.listeners=PLAINTEXT://192.168.10.100:9092

#修改以下内容

log.dirs=/data/kafka_2.12-3.2.0/logs

zookeeper.connect=192.168.10.100:2181

配置文件内容如下

broker.id=0 #集群部署是的节点id

listeners=PLAINTEXT://192.168.10.100:9092 #本机服务器ip

advertised.listeners=PLAINTEXT://192.168.10.100:9092 #本机服务器ip

num.network.threads=3

num.io.threads=8

socket.send.buffer.bytes=102400

socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

log.dirs=/data/kafka_2.12-3.2.0/data #数据存放目录

num.partitions=1 #集群节点数量

num.recovery.threads.per.data.dir=1

offsets.topic.replication.factor=1

transaction.state.log.replication.factor=1

transaction.state.log.min.isr=1

log.retention.hours=168

log.segment.bytes=1073741824

log.retention.check.interval.ms=300000

zookeeper.connect=192.168.10.100:2181 #集群节点ip和端口以逗号隔开

zookeeper.connection.timeout.ms=18000

group.initial.rebalance.delay.ms=0

七、启动kafka服务

配置文件完成修改后就可以启动kafka了

kafka-server-start.sh config/server.properties &

检查kafka服务启动情况

ps -ef | grep kafka

netstat -anlp | 9092

八、测试

测试kafka搭建是否正常

创建一个topic,其中replication-factor为副本数,partitions为分区数,topic-test为创建的topic名字

kafka-topics.sh --create --bootstrap-server 192.168.10.100:9092 replication-factor 1 --partitions 1 --topic topic-test

查看kafka所有的topic

kafka-topics.sh --list --bootstrap-server 192.168.10.100:9092

可以看到刚才创建的topic了

打开两个shell,一个用于生产着发送消息,一个用于消费着接收消息

生产者

kafka-console-producer.sh --broker-list 192.168.10.100:9092 --topic topic-test

消费者

kafka-console-consumer.sh --bootstrap-server 192.168.10.100:9092 --topic topic-test

至此说明kafka单机部署完成

集群部署

实验环境:在原本单机部署的情况下新增两台服务器当作节点服务器

服务器ip地址

192.168.10.100

192.168.10.101

192.168.10.102

其他服务版本,路径等内容相同。

一、新增两台服务器服务部署

按照单机部署时进行服务下载,上传,解压;设置环境变量;创建数据目录等相同操作。

二、设置10.100的服务配置文件

删除zk和kafka中数据存放目录中的文件

rm -rf /data/zookeeper-3.8.0/data/*

rm -rf /data/kafka_2.12-3.2.0/logs*

编辑zoo.cfg的配置文件内容

cd /data/zookeeper-3.8.0/conf/

vim zoo.cfg

#有修改,新增的内容如下

dataDir=/data/zookeeper-3.8.0/data

#在文件末尾添加以下内容

server.1=192.168.10.100:2888:3888

server.2=192.168.10.101:2888:3888

server.3=192.168.10.102:2888:3888

并且在存放zk的数据目录添加myid内容为1与server.x对应

cd /data/zookeeper-3.8.0/data

echo 1 > myid

编辑kafka的配置文件

cd /data/kafka_2.12-3.2.0/

vim config/server.properties

#添加以下内容

listeners=PLAINTEXT://192.168.10.100:9092 #本机ip地址

advertised.listeners=PLAINTEXT://192.168.10.100:9092 #本机ip地址

#修改以下内容

broker.id=0

num.partitions=3

log.dirs=/data/kafka_2.12-3.2.0/logs

#zookeeper.connect=ip:port,ip:port,ip:port

zookeeper.connect=192.168.10.100:2181,192.168.10.101:2181,192.168.10.102:2181

三、设置10.101的服务配置文件

编辑zoo.cfg的配置文件内容

cd /data/zookeeper-3.8.0/conf/

vim zoo.cfg

#有修改新增的内容如下

dataDir=/data/zookeeper-3.8.0/data

#在文件末尾添加以下内容

server.1=192.168.10.100:2888:3888

server.2=192.168.10.101:2888:3888

server.3=192.168.10.102:2888:3888

并且在存放zk的数据目录添加myid内容为2与server.x对应

cd /data/zookeeper-3.8.0/data

echo 2 > myid

编辑kafka的配置文件

cd /data/kafka_2.12-3.2.0/

vim config/server.properties

#添加以下内容

listeners=PLAINTEXT://192.168.10.101:9092 #本机ip地址

advertised.listeners=PLAINTEXT://192.168.10.101:9092 #本机ip地址

#修改以下内容

broker.id=1

num.partitions=3

log.dirs=/data/kafka_2.12-3.2.0/logs

#zookeeper.connect=ip:port,ip:port,ip:port

zookeeper.connect=192.168.10.100:2181,192.168.10.101:2181,192.168.10.102:2181

四、设置10.102的服务配置文件

编辑zoo.cfg的配置文件内容

cd /data/zookeeper-3.8.0/conf/

vim zoo.cfg

#有修改新增的内容如下

dataDir=/data/zookeeper-3.8.0/data

#在文件末尾添加以下内容

server.1=192.168.10.100:2888:3888

server.2=192.168.10.101:2888:3888

server.3=192.168.10.102:2888:3888

并且在存放zk的数据目录添加myid内容为3与server.x对应

cd /data/zookeeper-3.8.0/data

echo 3 > myid

编辑kafka的配置文件

cd /data/kafka_2.12-3.2.0/

vim config/server.properties

#添加以下内容

listeners=PLAINTEXT://192.168.10.102:9092 #本机ip地址

advertised.listeners=PLAINTEXT://192.168.10.102:9092 #本机ip地址

#修改以下内容

broker.id=2

num.partitions=3

log.dirs=/data/kafka_2.12-3.2.0/logs

#zookeeper.connect=ip:port,ip:port,ip:port

zookeeper.connect=192.168.10.100:2181,192.168.10.101:2181,192.168.10.102:2181

五、关闭防火墙

关闭防火墙,保证服务器之间网络可以连通

开放指定端口

firewall-cmd --add-port=8080/tcp --permanent

重载入添加的端口

firewall-cmd --reload

查看指定端口是否已经开放

firewall-cmd --query-port=8080/tcp

移除指定端口

firewall-cmd --permanent --remove-port=8080/tcp

查询开放的端口列表

firewall-cmd --zone=public --list-ports

查看防火墙状态 systemctl status firewalld

开启防火墙 systemctl start firewalld

关闭防火墙 systemctl stop firewalld

重启防火墙 service firewalld start

六、启动服务

先启动zk服务

按照100,101,102的顺序执行

zkServer.sh start

等待启动完成检查服务启动情况

ps -ef | grep zookeeper

netstat -anlp | grep 2181

查看zk集群状态

zkServer.sh status

登录zk集群查看是否正常

zkCli.sh

ls /

再启动kafka服务

按照100,101,102的顺序执行

cd /data/kafka_2.12-3.2.0/

kafka-server-start.sh config/server.properties &

启动完成查看端口是否正常监听

netstat -anlp | grep 9020

七、测试

测试kafka搭建是否正常,

其中bootstrap-server连接的ip:port可以集群中的任何一个

创建一个topic,其中replication-factor为副本数,partitions为分区数,topic-test为创建的topic名字

kafka-topics.sh --create --bootstrap-server 192.168.10.100:9092 replication-factor 1 --partitions 1 --topic topic-cluster

查看kafka所有的topic

kafka-topics.sh --list --bootstrap-server 192.168.10.100:9092

可以看到刚才创建的topic了

生产者

kafka-console-producer.sh --broker-list 192.168.10.101:9092 --topic topic-cluster

消费者

kafka-console-consumer.sh --bootstrap-server 192.168.10.102:9092 --topic topic-cluster

可以正常生产和消费,至此集群搭建完成。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值