【Kafka安装】

本文涉及的产品
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 【Kafka安装】

文章目录


Kafka

一、Kafka是什么?

二、Docker安装kafka

三、安装包安装kafka

一、安装JDK

二、安装Zookeeper

三、安装Kafka

四、启动并验证kafka

启动kafka

进入zookeeper目录通过zookeeper客户端查看下zookeeper的目录树

校验kafka

创建主题

查看kafka中目前存在的topic

发送消息

消费消息

消费之前的消息

Kafka可视化管理工具kafka-manager


本文内容:


Kafka


d224986bddd2469d8cc6c66286f0e658.png


一、Kafka是什么?

定义:Kafka是一个基于zookeeper协调的分布式、多副本的(replica)、支持分区的(partition)系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写的项目。


二、Docker安装kafka


Kafka是用Scala语言开发的,运行在JVM上,在安装Kafka之前需要先安装JDK。

yum install java-1.8.0-openjdk* -y


下载zookeeper镜像

docker pull wurstmeister/zookeeper


开放端口

firewall-cmd --add-port=2181/tcp --permanent
firewall-cmd --reload
firewall-cmd --query-port=2181/tcp
systemctl restart docker


启动镜像生成容器

docker run -dit --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2  --name zookeeper \
-p 2181:2181 \
-v /etc/localtime:/etc/localtime \
-t wurstmeister/zookeeper


下载kafka镜像

docker pull wurstmeister/kafka


开放端口

firewall-cmd --add-port=9092/tcp --permanent
firewall-cmd --reload
firewall-cmd --query-port=9092/tcp
systemctl restart docker


启动kafka镜像生成容器

docker run -dit --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=172.21.17.47:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://172.21.17.47:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka


参数说明:


-e KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己

-e KAFKA_ZOOKEEPER_CONNECT=ip:2181/kafka 配置zookeeper管理kafka的路径ip:2181/kafka,ip地址改为内网ip

-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://ip:9092 把kafka的地址端口注册给zookeeper,ip地址改成内网ip

-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口

-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间


验证kafka是否可以使用


进入容器

docker exec -it kafka bash


进入 /opt/kafka_2.13-2.7.1/bin/ 目录下

cd /opt/kafka_2.13-2.7.1/bin/


运行kafka生产者发送消息

./kafka-console-producer.sh --broker-list 106.14.132.94:9092 --topic sun


发送消息

{"datas[{"channel":"","metric":"temperature","producer":"ijinus","sn":"IJA0101-00002245","time":"1543207156000","value":"80"}],"ver":"1.0"}


停止zookeeper和kafka

docker stop zookeeper
docker rm zookeeper
docker stop kafka
docker rm kafka


三、安装包安装kafka


一、安装JDK


yum install java-1.8.0-openjdk* -y


二、安装Zookeeper



进入到/home目录下,下载zookeeper

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz
tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz
cd apache-zookeeper-3.5.8-bin/
cp conf/zoo_sample.cfg conf/zoo.cfg
cd /home/apache-zookeeper-3.5.8-bin/bin
./zkServer.sh start
./zkCli.sh
ls /


打印结果:

[zk: localhost:2181(CONNECTED) 5] ls /
[admin, brokers, cluster, config, consumers, controller, controller_epoch, isr_change_notification, kafka, latest_producer_id_block, log_dir_event_notification, zookeeper]
[zk: localhost:2181(CONNECTED) 6] 


三、安装Kafka



进入到/home目录下,下载kafka

wget https://archive.apache.org/dist/kafka/2.4.1/kafka_2.11-2.4.1.tgz
tar -xzf kafka_2.11-2.4.1.tgz
cd /home/kafka_2.11-2.4.1/config
vim config/server.properties


配置文件编辑

#broker.id属性在kafka集群中必须要是唯一
broker.id=0
#kafka部署的机器ip和提供服务的端口号
listeners=PLAINTEXT://内网ip:9092   
#kafka的消息存储文件
log.dir=/usr/local/data/kafka-logs
#kafka连接zookeeper的地址
zookeeper.connect=内网ip:2181


如果填写外网ip可能会遇上这种情况:


7be41d6e45b5473ab396337fe1f1fdb9.png


四、启动并验证kafka


启动kafka
/home/kafka_2.11-2.4.1/bin/kafka-server-start.sh config/server.properties &


进入zookeeper目录通过zookeeper客户端查看下zookeeper的目录树
/home/apache-zookeeper-3.5.8-bin/bin/zkCli.sh
ls /
ls /brokers/ids


校验kafka


创建主题
/home/kafka_2.11-2.4.1/bin/kafka-topics.sh --create --zookeeper 106.14.132.94:2181 --replication-factor 1 --partitions 1 --topic test


查看kafka中目前存在的topic
/home/kafka_2.11-2.4.1/bin/kafka-topics.sh --list --zookeeper 106.14.132.94:2181


发送消息
/home/kafka_2.11-2.4.1/bin/kafka-console-producer.sh --broker-list 106.14.132.94:9092 --topic test 
this is a msg


消费消息
/home/kafka_2.11-2.4.1/bin/kafka-console-consumer.sh --bootstrap-server 106.14.132.94:9092--topic test


消费之前的消息
/home/kafka_2.11-2.4.1/bin/kafka-console-consumer.sh --bootstrap-server 106.14.132.94:9092 --from-beginning --topic test


a0423d3ae65d418097b14842e270d5bc.png


通过jps命令查看运行的情况


0e57b48fca3c443c9b256bd2201384f5.png


Kafka可视化管理工具kafka-manager


7f1ccb7e54a543b7ab708fe4c893d873.png


安装及基本使用可参考:Java廖志伟

相关文章
|
6月前
|
消息中间件 监控 数据可视化
Linux安装Kafka图形化界面
Linux安装Kafka图形化界面
250 4
|
4月前
|
消息中间件 Ubuntu Java
在Ubuntu 18.04上安装Apache Kafka的方法
在Ubuntu 18.04上安装Apache Kafka的方法
193 0
|
26天前
|
消息中间件 Ubuntu Java
Ubuntu系统上安装Apache Kafka
Ubuntu系统上安装Apache Kafka
|
3月前
|
消息中间件 Java Linux
linux 之centos7安装kafka;;;;;待补充,未完成
linux 之centos7安装kafka;;;;;待补充,未完成
|
7月前
|
消息中间件 Java Kafka
Kafka【环境搭建 01】kafka_2.12-2.6.0 单机版安装+参数配置及说明+添加到service服务+开机启动配置+验证+chkconfig配置说明(一篇入门kafka)
【2月更文挑战第19天】Kafka【环境搭建 01】kafka_2.12-2.6.0 单机版安装+参数配置及说明+添加到service服务+开机启动配置+验证+chkconfig配置说明(一篇入门kafka)
257 1
|
5月前
|
消息中间件 Java Kafka
kafka Linux环境搭建安装及命令创建队列生产消费消息
kafka Linux环境搭建安装及命令创建队列生产消费消息
110 4
|
4月前
|
消息中间件 存储 Ubuntu
在Ubuntu 14.04上安装Apache Kafka的方法
在Ubuntu 14.04上安装Apache Kafka的方法
20 0
|
4月前
|
消息中间件 Java Kafka
Docker 安装 kafka
Docker 安装 kafka
94 0
|
4月前
|
消息中间件 Kafka Apache
部署安装kafka集群
部署安装kafka集群
|
6月前
|
消息中间件 存储 Ubuntu
Linux安装kafka3.5.1
Linux安装kafka3.5.1
135 2

热门文章

最新文章

下一篇
无影云桌面