Linux下Kafka伪集群搭建

Kafka伪集群搭建

    • 1. kafka单机安装启动
      • 1.1 安装配置
      • 1.2 启动
      • 1.3 生产者和消费者
      • 1.4 关闭kafka
    • 2. kafka集群启动
      • 生产者与消费者

1. kafka单机安装启动

1.1 安装配置

官方下载网址: https://kafka.apache.org/downloads

tar -xzf kafka_2.13-3.0.0.tgz		#解压
mv kafka_2.13-3.0.0 kafka   #修改文件名
cd kafka/config
vim server.properties	#修改kafka配置文件
vim zookeeper.properties #修改zookeeper配置文件 				

server.properties 配置:
需要自己手动创建文件夹。

broker.id=0 
port=9092			#默认端口9092
host.name=localhost #单机可直接用localhost
log.dirs=/home/user/kafka/log #日志存放路径
zookeeper.connect=localhost:2181 		#zookeeper地址和端口

zookeeper.properties 配置:

dataDir=/home/user/kafka/zookeeper/data  #zookeeper数据目录 
dataLogDir=/home/user/kafka/zookeeper/log #zookeeper日志目录 
clientPort=2181 		#默认端口
maxClientCnxns=100 
tickTime=2000 
initLimit=10

1.2 启动

#先启动zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties
#打开另一个终端,启动kafka
bin/kafka-server-start.sh config/server.properties

创建一个主题来存储事件

bin/kafka-topics.sh \
--create \
--topic quickstart-events \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
#出现如下则创建成功
Created topic quickstart-events.

#查看主题
bin/kafka-topics.sh --describe \
--topic quickstart-events \
--bootstrap-server localhost:9092

查看所有topic

bin/kafka-topics.sh --bootstrap-server localhost:9092 --list

删除topic

bin/kafka-topics.sh -delete --bootstrap-server localhost:9092 --topic name

name为topic的主题名。

1.3 生产者和消费者

生产者

#启动生产者
bin/kafka-console-producer.sh \
--topic quickstart-events \
--bootstrap-server localhost:9092
this is first message 	#发送的消息
the second message

消费者

#打开另一个终端
#启动消费者
bin/kafka-console-consumer.sh \
--topic quickstart-events \
--from-beginning \
--bootstrap-server localhost:9092

1.4 关闭kafka

Ctrl-C 可以关闭所有客户端。

bin/zookeeper-server-stop.sh config/zookeeper.properties
bin/kafka-server-stop.sh config/server.properties

2. kafka集群启动

kafka集群搭建之前,需要先搭建zookeeper集群。
zookeeper集群搭建

为了方便管理,在kafka下新建 cluster 文件夹

cd kafka
mkdir cluster
cd cluster
#新建集群配置文件
mkdir cluster-config
#复制配置文件
cp ../config/server.properties cluster-config/server-1.properties
vim cluster-config/server-1.properties

配置文件修改以下内容:

#listeners=PLAINTEXT://:9092
listeners=PLAINTEXT://:9093
#port=9093
broker.id=1			#节点id
#存放节点数据目录  需要自己创建
log.dirs=/home/user1/work/kafka/cluster/logs-1	
num.partitions=3 	#分区数量

default.replication.factor=2	#备份数据的个数
#zoookeeper
zookeeper.connect=localhost:2187,localhost:2188:localhost:2189

接下来复制配置文件,修改参数即可。

cd cluster-config
cp server-1.properties server-2.properties
cp server-1.properties server-3.properties

分别修改 
listeners=PLAINTEXT://:9094
broker.id =2 
log.dirs=/home/user1/work/kafka/cluster/logs-2

启动与关闭:

bin/kafka-server-start.sh cluster/cluster-config/server-1.properties

#关闭
bin/kafka-server-stop.sh cluster/cluster-config/server-1.properties

如需后台启动,添加参数 -daemon 即可。

zookeeper验证是否启动成功:

./zkCli.sh -server 127.0.0.1:2187,127.0.0.1:2188,127.0.0.1:2189

#查看当前zookeeper中所包含的内容
ls /
[admin, brokers, cluster, config, consumers, controller, controller_epoch, feature, 
isr_change_notification, latest_producer_id_block, log_dir_event_notification, zookeeper]

ls /brokers
[ids, seqid, topics]

ls /brokers/ids  #查看节点
[1, 2, 3]

ls /brokers/topics	#查看topic
[__consumer_offsets, test]

生产者与消费者

#启动生产者  创建topic test 
bin/kafka-console-producer.sh --broker-list 127.0.0.1:9093,127.0.0.1:9094,127.0.0.1:9095 --topic test
>hello		#发送消息

#启动消费者 订阅topic
./bin/kafka-console-consumer.sh --bootstrap-list 127.0.0.1:9095,127.0.0.1:9093,127.0.0.1:9094 --topic test --from-beginning
hello 	#接收到的消息

你可能感兴趣的:(kafka,分布式,linux)