centos8安装kafka
1.Kafka依赖说明ZooKeeper是一个分布式协调服务,它的主要作用是为分布式系统提供一致性服务,提供的功能包括:配置维护、命名服务、分布式同步、组服务等。Kafka的运行依赖ZooKeeper。1.下载kafkawget http://mirrors.hust.edu.cn/apache/kafka/2.6.0/kafka_2.13-2.6.0.tgztar -zxvf kafka_2.1
1.Kafka依赖说明
ZooKeeper是一个分布式协调服务,它的主要作用是为分布式系统提供一致性服务,提供的功能包括:配置维护、命名服务、分布式同步、组服务等。Kafka的运行依赖ZooKeeper。
1.下载安装包
注意事项:
注意zookeeper中的版本必须与kafka中zookeeper的jar包的版本一样
要先下载kafka 然后下载zookeeper下载时不能下载这个:apache-zookeeper-3.6.2.tar.gz ,它不带src和一个jar
当然如果你只是单机版的也可以不用安装zookeeper,因为kafka_2.13-2.6.0中自带zookeeper
cd /usr/local/src
//下载kafka
wget http://mirrors.hust.edu.cn/apache/kafka/2.6.0/kafka_2.13-2.6.0.tgz
//解压
tar -zxvf kafka_2.13-2.6.0.tgz
查看版本:
cd kafka_2.13-2.6.0/libs
ls
zookeeper包就下载这个
下载zookeeper
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz
tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz
安装zookeeper
1.修改配置文件
cd /usr/local/src/apache-zookeeper-3.5.8-bin/conf
cp zoo_sample.cfg zoo.cfg
启动测试
cd /usr/local/src/apache-zookeeper-3.5.8-bin/bin
//启动
./zkServer.sh start
//停止
./zkServer.sh stop
以下代表成功
ps -ef|grep zookeeper
zookeeper系统启动配置(下面两种启动方式选一种就行)
(1)加入系统命令:
vi /etc/profile
export PATH=$PATH:/usr/local/src/apache-zookeeper-3.5.8-bin/bin
source /etc/profile
启动方式:
zkServer.sh start
zkServer.sh stop
(2)增加systemd(使用systemctl )管理
vi /etc/systemd/system/zookeeper.service
[Unit]
Description=zookeeper.service
After=network.target
ConditionPathExists=/usr/local/src/apache-zookeeper-3.5.8-bin/conf/zoo.cfg
[Service]
Type=forking
User=root
Group=root
ExecStart=/usr/local/src/apache-zookeeper-3.5.8-bin/bin/zkServer.sh start
ExecStop=/usr/local/src/apache-zookeeper-3.5.8-bin/bin/zkServer.sh stop
[Install]
WantedBy=multi-user.target
启动方式
//启动
systemctl start zookeeper
//停止
systemctl stop zookeeper
配置kafka
(1)配置server.properties
cd kafka_2.13-2.6.0
vi /usr/local/src/kafka_2.13-2.6.0/config/server.properties
advertised.listeners=PLAINTEXT://localhost:9092
//指定服务的端口
listeners=PLAINTEXT://localhost:9092
//dataDir是数据存放位置,默认是/tmp/kafka-logs
dataDir=xxxx
//这个是删除topic时才用得到的,如果不想删除topic,可以不加
delete.topic.enable=true
默认配置 # advertised.listeners=PLAINTEXT://:your.host.name:9092 修改为 advertised.listeners=PLAINTEXT://localhost:9092
listeners=PLAINTEXT://localhost:9092
说明:advertised.listeners 表示生产者和消费者在一起 ,如果生产者和消费者不在同一台服务器上则分开配置
localhost:9092 :规定访问ip和端口 如果只允许本地访问 则用 localhost ,如果是所有的网络等能用则用:0.0.0.0或空
启动kafka
启动Kafka 首先要启动ZooKeeper
kafka会自带ZooKeeper(注意:Kafka是用zookeeper来存储元数据,生产环境请一定要部署一个独立的zookeeper集群(至少3个 节点))
前端启动
bin/kafka-server-start.sh config/server.properties
后台启动
nohup bin/kafka-server-start.sh config/server.properties >> /dev/null &
创建topic(2181必须是zookeeper的端口号)
bin/kafka-topics.sh --create --replication-factor 1 --partitions 1 --topic test --zookeeper localhost:2181/kafka
topic字段说明:
–replication-factor 3 备份因子 副本数 3
–partitions 1 分片数 这个主题有几个分片
创建了一个有一个分片,每个分片有3个副本的主题 my-13-topic 。
分片是对主题Topic 的数据的分布式存储,它是对数据的物理分割 。 但它本身是一个逻辑概念。
分片的存储实体是副本 3个副本,就是这个分片的数据会存3份。
bin/kafka-topics.sh --create --bootstrap-server 192.168.100.12:9092 --replication-factor 3 --partitions 1 --topic my-13-topic
bin/kafka-topics.sh --describe --bootstrap-server 192.168.100.12:9092 --topic my-13-topic
bin/kafka-topics.sh --create --bootstrap-server 39.96.13.43:9092 --replication-factor 3 --partitions 3 --topic my-43-topic
创建生产者 (启动成功会阻塞 需要另外重新打开 可以在控制台输出生产者数据 消费者能及时消费)
–broker-list:数指定了所使用的broker(Broker:Kafka 集群包含一个或多个服务器,这种服务器被称为 broker)
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
创建消费者
字段说明:–bootstrap-server 从kafka开始 新的消费者 使用的参数设置
from-beginning 读取历史未消费的数据
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
测试结果:
生产者
消费者
配置系统命令
vi /etc/profile
export PATH=$PATH:/usr/local/src/kafka_2.13-2.6.0/bin
source /etc/profile
kafka的一些使用
kafka topic
kafka-topics.sh
生产者
kafka-console-producer.sh
消费者
kafka-console-consumer.sh
topic的操作:
查看列表
kafka-topics.sh --zookeeper 127.0.0.1:2181 --list
添加
kafka-topics.sh --create --replication-factor 1 --partitions 1 --topic test --zookeeper localhost:2181/kafka
查看某个topic
kafka-topics.sh --zookeeper localhost:2181 --describe --topic test
删除topic(分两步)
(第一步)
kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
(第二步 找到top存放位置:server.properties中dataDir)
cd /tmp/kafka-log
删除 test-0
rm -rf test-0
更多的kafka topic常用操作看这个:
https://www.cnblogs.com/itwild/p/12287850.html
更多推荐
所有评论(0)