:::warning 3.0版本已内置zk
:::
下载地址:http://kafka.apache.org/downloads # 1、JDKbash
rpm -ivh jdk-8u291-linux-aarch64.rpm
cat /etc/profile.d/my_env.sh
#jdk environment
export JAVA_HOME=/usr/java/jdk1.8.0_291-aarch64/
export JRE_HOME=/jre
export CLASSPATH=.:/jre/lib/rt.jar:/lib/dt.jar:/lib/tools.jar
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/bin
source /etc/profile
# 2、Kafka
## 1. 部署
bash
mkdir /data/kafka; \
tar xf kafka_2.12-3.2.3.tgz -C /data/kafka --strip-components 1; \
mkdir /data/kafka/logs; \
sed -i '/^#/d;/^$/d' /data/kafka/config/server.properties; \
echo "listeners=PLAINTEXT://localhost:9092" >> server.properties; \
+ 添加环境变量
bash
vim /etc/profile.d/my_env.sh
#KAFKA_HOME
export KAFKA_HOME=/opt/kafka
export PATH=$PATH:$KAFKA_HOME/bin
+ 启动服务
bash
bin/zookeeper-server-start.sh -daemon /data/kafka/config/zookeeper.properties
bin/kafka-server-start.sh -daemon /data/kafka/config/server.properties
## 2. 报错处理
### 1)UseG1GC
bash
Error: VM option 'UseG1GC' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
修改**<font style="color:rgb(77, 77, 77);">kafka-run-class.sh</font>**
中的<font style="color:rgb(77, 77, 77);">KAFKA_JVM_PERFORMANCE_OPTS</font>
,直接删除<font style="color:rgb(77, 77, 77);"> -XX:+UseG1GC</font>
重启即可
3、使用
1. 查看Topic
./kafka-topics.sh --bootstrap-server 10.223.225.36:9092 --list
2. 删除Topic
./kafka-topics.sh --bootstrap-server 10.223.225.36:9092 --delete --topic f69fe7297fc84950aa7f8c0f02680d28
3. 创建Topic
./kafka-topics.sh --bootstrap-server 10.223.225.36:9092 --create --topic first
4. 生产消费消息
3.0以上版本生产消息和消费消息使用kafka连接
消费者:
./bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.154:9092 --topic test-topic
生产者:
./bin/kafka-console-producer.sh --bootstrap-server 192.168.0.154:9092 --topic test-topic
查看topic
./bin/kafka-topics.sh --list --bootstrap-server 192.168.0.154:9092
4、优化
vim kafka-server-start.sh
export KAFKA_HEAP_OPTS="-Xmx16G -Xms16G -Xmn12G -XX:MetaspaceSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=50"
- 这种大内存的情况一般都要用G1垃圾收集器,因为年轻代内存比较大,用G1可以设置GC最大停顿时间,不至于一次minor gc就花费太长时间(这里我设置为4G,不设置G1垃圾回收机制)
export KAFKA_HEAP_OPTS="-Xmx4G -Xms4G -Xmn2G -XX:MetaspaceSize=256M -XX:MaxGCPauseMillis=50"