安装Kafka
2023年12月3日大约 4 分钟约 848 字
安装
ubuntu安装kafka_白小白的小白的博客-CSDN博客
安装java
sudo apt-get update
sudo apt-get install openjdk-8-jdk
java -version
安装Zookeeper
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
# 解压
tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz -C /opt/zookeeper
# 进入目录
cd apache-zookeeper-3.7.0-bin/
# 进入conf
cd conf
cp zoo_sample.cfg zoo.cfg
# 进入bin
cd ../bin
./zkServer.sh start
默认端口是8080,如果启动失败执行下面命令查看启动失败原因
./zkServer.sh start-foreground
安装Kafka
https://kafka.apache.org/downloads
# 下载
wget https://archive.apache.org/dist/kafka/3.2.3/kafka_2.13-3.2.3.tgz
# 解压
tar -zxvf kafka_2.13-3.2.3.tgz -C /opt/kafka
# 进入文件夹执行下面命令启动kafka
cd kafka_2.13-3.2.3/
bin/kafka-server-start.sh config/server.properties # 前台启动
nohup bin/kafka-server-start.sh config/server.properties > /kafka.log 2>&1 & # 后台启动
主题
启动主题,主题名称为:quickstart-events
bin/kafka-topics.sh --create --partitions 1 --replication-factor 1 --topic quickstart-events --bootstrap-server localhost:9092
向主题里面发送消息
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
向主题里面接受消息
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
配置环境变量
以后我们启动kafka,如果总是在kafka文件夹下,那么就会很麻烦,这时候,我们配置一下环境变量就可以了
- vim ~/.bashrc
- 添加如下语句,然后保存退出
export KAFKA_HOME=/opt/kafka/kafka_2.13-3.2.3
export PATH=$KAFKA_HOME/bin:$PATH
source ~/.bashrc
配置外网连接
config中
vim server.properties
将这一行注释打开,并写上自己的服务器ip
advertised.listeners=PLAINTEXT://172.16.13.181:9092
图形化界面
官网地址:EFAK
https://github.com/smartloli/kafka-eagle-bin/tags吊炸天的 Kafka 图形化工具 Eagle,必须推荐给你! - 掘金
tar -zxf kafka-eagle-bin-3.0.2.tar.gz
kafka-eagle-bin-3.0.2
tar -zxf efak-web-3.0.2-bin.tar.gz
vim ~/.bashrc
### 在profile文件中添加
export KE_HOME=/opt/kafka-eagle-bin-3.0.2/efak-web-3.0.2
export PATH=$PATH:$KE_HOME/bin
###
# 使修改后的profile文件生效
source ~/.bashrc
- 安装MySQL并添加数据库ke,kafka-eagle之后会用到它;
- 修改配置文件$KE_HOME/conf/system-config.properties,主要是修改Zookeeper的配置和数据库配置,注释掉sqlite配置,改为使用MySQL;
更改配置文件
######################################
# multi zookeeper & kafka cluster list
# Settings prefixed with 'kafka.eagle.' will be deprecated, use 'efak.' instead
######################################
efak.zk.cluster.alias=cluster1
cluster1.zk.list=localhost:2181
######################################
# zookeeper enable acl
######################################
cluster1.zk.acl.enable=false
cluster1.zk.acl.schema=digest
cluster1.zk.acl.username=test
cluster1.zk.acl.password=test123
######################################
# broker size online list
######################################
cluster1.efak.broker.size=20
######################################
# zk client thread limit
######################################
kafka.zk.limit.size=16
######################################
# EFAK webui port
######################################
efak.webui.port=8048
######################################
# EFAK enable distributed
######################################
efak.distributed.enable=false
efak.cluster.mode.status=master
efak.worknode.master.host=localhost
efak.worknode.port=8085
######################################
# kafka jmx acl and ssl authenticate
######################################
cluster1.efak.jmx.acl=false
cluster1.efak.jmx.user=keadmin
cluster1.efak.jmx.password=keadmin123
cluster1.efak.jmx.ssl=false
cluster1.efak.jmx.truststore.location=/data/ssl/certificates/kafka.truststore
cluster1.efak.jmx.truststore.password=ke123456
######################################
# kafka offset storage
######################################
cluster1.efak.offset.storage=kafka
cluster2.efak.offset.storage=zk
######################################
# kafka jmx uri
######################################
cluster1.efak.jmx.uri=service:jmx:rmi:///jndi/rmi://%s/jmxrmi
######################################
# kafka metrics, 15 days by default
######################################
efak.metrics.charts=true
efak.metrics.retain=15
######################################
# kafka sql topic records max
######################################
efak.sql.topic.records.max=5000
efak.sql.topic.preview.records.max=10
######################################
# delete kafka topic token
######################################
efak.topic.token=keadmin
######################################
# kafka sasl authenticate
######################################
cluster1.efak.sasl.enable=false
cluster1.efak.sasl.protocol=SASL_PLAINTEXT
cluster1.efak.sasl.mechanism=SCRAM-SHA-256
cluster1.efak.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka-eagle";
cluster1.efak.sasl.client.id=
cluster1.efak.blacklist.topics=
cluster1.efak.sasl.cgroup.enable=false
cluster1.efak.sasl.cgroup.topics=
cluster2.efak.sasl.enable=false
cluster2.efak.sasl.protocol=SASL_PLAINTEXT
cluster2.efak.sasl.mechanism=PLAIN
cluster2.efak.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="kafka-eagle";
cluster2.efak.sasl.client.id=
cluster2.efak.blacklist.topics=
cluster2.efak.sasl.cgroup.enable=false
cluster2.efak.sasl.cgroup.topics=
######################################
# kafka ssl authenticate
######################################
cluster3.efak.ssl.enable=false
cluster3.efak.ssl.protocol=SSL
cluster3.efak.ssl.truststore.location=
cluster3.efak.ssl.truststore.password=
cluster3.efak.ssl.keystore.location=
cluster3.efak.ssl.keystore.password=
cluster3.efak.ssl.key.password=
cluster3.efak.ssl.endpoint.identification.algorithm=https
cluster3.efak.blacklist.topics=
cluster3.efak.ssl.cgroup.enable=false
cluster3.efak.ssl.cgroup.topics=
######################################
# kafka sqlite jdbc driver address
######################################
#efak.driver=org.sqlite.JDBC
#efak.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
#efak.username=root
#efak.password=www.kafka-eagle.org
######################################
# kafka mysql jdbc driver address
######################################
efak.driver=com.mysql.cj.jdbc.Driver
efak.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=root
efak.password=root
使用如下命令启动kafka-eagle;
$KE_HOME/bin/ke.sh start

访问
admin 123456
start时可能遇到问题
如果是使用apt下载的java,java在/usr/lib/jvm/下
vim ~/.bashrc
###
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
###
source ~/.bashrc