kafka安装部署

kafka安装部署

单机kafka安装部署

拷贝文件

先拷贝kafka_2.11-2.2.0.tgz和zookeeper-3.4.14.tar.gz到/opt/software

解压缩
cd /opt
mkdir software #存放压缩包
mkdir module #存放解压缩后的文件
cd software
tar -zxvf zookeeper-3.4.14.tar.gz -C ../module #解压缩到module文件夹,安装kafka前需要先安装jdk环境和zookeeper
tar -zxvf kafka_2.11-2.2.0.tgz -C ../module #解压缩到module文件夹
修改zookeeper配置并启动
cd /opt/module/zookeeper-3.4.14/
mkdir data
cd /opt/module/zookeeper-3.4.14/conf/
cp zoo_sample.cfg zoo.cfg
vim /opt/module/zookeeper-3.4.14/conf/zoo.cfg
# 修改dataDir=/opt/module/zookeeper-3.4.14/data

image-20200728154010049

:wq #保存退出
/opt/module/zookeeper-3.4.14/bin/zkServer.sh start #启动zookeepr

image-20200728154248450

修改kafka配置并启动
cd /opt/module/kafka_2.11-2.2.0
mkdir log  #后面放日志用
vim /opt/module/kafka_2.11-2.2.0/config/server.properties
#修改log.dirs=/opt/module/kafka_2.11-2.2.0/log

image-20200803111131665

按上图修改后

:wq  #保存并退出
/opt/module/kafka_2.11-2.2.0/bin/kafka-server-start.sh -daemon
/opt/module/kafka_2.11-2.2.0/config/server.properties #用刚才的配置文件后台启动
#可以输入jps -l 或者jcmd查看是否启动成功(若是命令不行可以输入这条指令先安装)
yum install java-1.8.0-openjdk-devel.x86_64 -y
#(vim /opt/module/kafka_2.11-2.2.0/bin/kafka-server-stop.sh修改为
#PIDS=$(jps -lm | grep -i 'kafka.Kafka' | awk '{print $1}')
#)不然无法关闭进程

image-20200801111502883

image-20200728163051200

 

 

创建主题并验证
/opt/module/kafka_2.11-2.2.0/bin/kafka-topics.sh --zookeeper localhost:2181 
--create --topic dyyy --partitions 2 --replication-factor 1 #创建主题
/opt/module/kafka_2.11-2.2.0/bin/kafka-topics.sh --zookeeper localhost:2181
--list # 列出主题
/opt/module/kafka_2.11-2.2.0/bin/kafka-topics.sh --zookeeper localhost:2181
--describe --topic dyyy #查看详情

image-20200728164054831

发布订阅测试
/opt/module/kafka_2.11-2.2.0/bin/kafka-console-consumer.sh  
--bootstrap-server 192.168.70.198:9092 --topic dyyy --from-beginning#消费者监听dyyy主题
#这时再打开一个窗口,切换到kafka的bin目录,输入命令(--from-beginning)表示从头开始取消息)
/opt/module/kafka_2.11-2.2.0/bin/kafka-console-producer.sh
--broker-list 192.168.70.198:9092 --topic dyyy
#然后输入文字,消费者那接收到了

image-20200728164908937

image-20200728164956880

各种命令
启动kafka
/opt/module/kafka_2.11-2.2.0/bin/kafka-server-start.sh -daemon 
/opt/module/kafka_2.11-2.2.0/config/server.properties
关闭kafka
/opt/module/kafka_2.11-2.2.0/bin/kafka-server-stop.sh #关闭需要等待一两分钟
修改kafka配置
vim /opt/module/kafka_2.11-2.2.0/config/server.properties
查看kafka进程
ps -ef|grep kafka
列出kafka主题
/opt/module/kafka_2.11-2.2.0/bin/kafka-topics.sh --zookeeper localhost:2181 --list
关闭zookeeper
/opt/module/zookeeper-3.4.14/bin/zkServer.sh stop
开启zookeeper
/opt/module/zookeeper-3.4.14/bin/zkServer.sh start
查看zookeeper状态
/opt/module/zookeeper-3.4.14/bin/zkServer.sh status
删除topic
vim /opt/module/kafka_2.11-2.2.0/config/server.properties
delete.topic.enable=true     #添加这条配置
#然后,才能通过命令删除topic
/opt/module/kafka_2.11-2.2.0/bin/kafka-topics.sh  --delete  --zookeeper localhost:2181 --topic dyyy

 

集群搭建

这里以3台服务器为例子,首先解压zookeeper到/opt/module/zookeeper-3.4.14/

修改zookeeper配置文件
vim /opt/module/zookeeper-3.4.14/conf/zoo.cfg

image-20200731152437568

  • dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。

  • server.A=B:C:D

    A:其中 A 是一个数字,表示这个是服务器的编号;

    B:是这个服务器的 ip 地址;

    C:Leader选举的端口;

    D:Zookeeper服务器之间的通信端口。

  我们需要修改的第一个是 dataDir ,在指定的位置处创建好目录。

  第二个需要新增的是 server.A=B:C:D 配置,其中 A 对应下面我们即将介绍的myid 文件。B是集群的各个IP地址,C:D 是端口配置

创建myid文件

在 上一步 dataDir 指定的目录下,创建 myid 文件。

image-20200731152802375

然后在该文件添加上一步 server 配置的对应 A 数字。

比如这里的示例ip是192.168.70.198,那么myid中写入0。

启动zookeeper

./zkServer.sh start 另外两个服务器按照以上步骤启动。

查看各实例运行情况
/opt/module/zookeeper-3.4.14/bin/zkServer.sh status

image-20200731154544370

image-20200731154604797

image-20200731154718626

成功了,一个leader,两个follower。要是集群没成功,记得打开3888端口的防火墙

修改kafka配置文件

vim /opt/module/kafka_2.11-2.2.0/config/server.properties

image-20200801111110687

image-20200801110917679

num.partitions=3 #设置分区数
default.replication.factor=3 #设置副本数,才能保证集群稳定
group.initial.rebalance.delay.ms=3000

 

kafka创建主题
/opt/module/kafka_2.11-2.2.0/bin/kafka-topics.sh --zookeeper 192.168.70.194:2181,192.168.70.195:2181,192.168.70.198:2181 
--create --replication-factor 3 --partitions 3 --topic testdyyy#创建zookeeper的ip可以自己选个数,这里选了3个ip的zookeeper并创建testdyyy的主题

现在去上面3台的任意一处,输入/opt/module/kafka_2.11-2.2.0/bin/kafka-topics.sh --zookeeper localhost:2181 --list都能看到testdyyy的主题

生产者测试

向主题中写入内容

/opt/module/kafka_2.11-2.2.0/bin/kafka-console-producer.sh --broker-list 192.168.70.194:9092,192.168.70.195:9092,192.168.70.198:9092 --topic testdyyy#这里也可以选择zookeeper的数量
消费者测试
/opt/module/kafka_2.11-2.2.0/bin/kafka-console-consumer.sh  --bootstrap-server 192.168.70.195:9092 --topic testdyyy --from-beginning #任意一台虚拟机中输入任意一个服务器地址可以看到下面的内容

image-20200803093118265

image-20200803093139001

好了,集群搭建并测试通过

posted @ 2021-01-21 16:07  大肥兔子  阅读(574)  评论(0)    收藏  举报