在虚拟机单机环境搭建Kafka集群

在虚拟机单机环境搭建Kafka集群

安装java

zookeeper需要java运行环境

yum install java

安装zookeeper

获取安装包,上传

zookeeper地址: https://zookeeper.apache.org/releases.html

解压

解压到/usr/local/software这个目录下,执行

tar -zxvf zookeeper.tar.gz

修改文件夹名字

mv apache-zookeeper-3.7.0-bin zookeeper

配置环境变量

为了方便任何目录启动和访问zookeeper

vim /etc/profile

#zookeeper
export ZOOKEEPER_HOME=/usr/local/software/zookeeper
export PATH=$PATH:${ZOOKEEPER_HOME}/bin


source /etc/profile

修改zookeeper配置文件

进入conf目录,修改配置文件名字,zookeeper启动默认读zoo.cfg这个配置文件

mv zoo_sample.cfg zoo.cfg

zookeeper命令

zkServer.sh start|stop|restart|status

验证是否启动成功

zkCli.sh

安装Kafka

下载Kafka安装包

下载地址: https://kafka.apache.org/downloads
上传至虚拟机/usr/local/software

解压

tar -zxvf kafka.tar

复制server.properties配置文件

cp server.properties server-0.properties
cp server.properties server-1.properties
cp server.properties server-2.properties

修改server.properties

修改如下配置

# 集群节点编号
broker.id=0
#Kafka数据存储位置,三个配置文件配置不同的log地址
log.dirs=/opt/kafka/kafka_2.12-2.2.1/logs
# zk地址
zookeeper.connect=localhost:2181
# istener配置是用来绑定BrokerIP+端口地址​                                           
listeners=PLAINTEXT://192.168.38.22:9092  
# 指定Kafka Broker对外公开的网络IP和端口                                             
advertised.listeners=PLAINTEXT://192.168.38.22:9092

启动Kafka

nohup bin/kafka-server-start.sh config/server-0.properties > nohup-0.txt 2>&1 &

nohup bin/kafka-server-start.sh config/server-1.properties > nohup-1.txt 2>&1 &

nohup bin/kafka-server-start.sh config/server-2.properties > nohup-2.txt 2>&1 &

测试Kafka

# 创建名为test的主题
bin/kafka-topics.sh --create --bootstrap-server 172.16.177.135:9092 --topic test

#  查看目前Kafka中的主题
bin/kafka-topics.sh --list --bootstrap-server 172.16.177.135:9092


# 查看目前Kafka中的主题
bin/kafka-topics.sh --list --bootstrap-server 172.16.177.135:9092

# 生产消息到Kafka
bin/kafka-console-producer.sh --broker-list 172.16.177.135:9092 --topic test

# 从Kafka消费消息
bin/kafka-console-consumer.sh --bootstrap-server 172.16.177.135:9092 --topic test --from-beginning

# 1个分区3个副本的基准测试
bin/kafka-topics.sh --zookeeper 172.16.177.135:2181 --create --topic benchmark --partitions 1 --replication-factor 3


关闭Kafka

创建脚本

bin/kafka-server-stop.sh config/server-0.properties
bin/kafka-server-stop.sh config/server-1.properties
bin/kafka-server-stop.sh config/server-2.properties

关闭防火墙

如果idea需要创建java程序往Kafka发送数据,需要开放对应的端口,或者直接关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

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