0%

一般执行命令时带个-version参数,就能看到程序的版本号,但Kafka不行。

如何查看呢,先看到kafka的进程id。

1
# ps -ef | grep kafka

或者

1
2
3
4
# jps
29190 Kafka
29675 Jps
28734 QuorumPeerMain

然后看查此进程的启动位置。

1
2
# pwdx 29190
29190: /usr/local/kafka/kafka_2.12-2.6.2

就能查看到Kafka的版本了,正常人在安装时,都不会修改这个路径的。

在 CentOS 7 ssh 下执行 jps 命令,返回 command not found。

1
2
3
4
5
6
7
$ which java

$ ll -l /usr/bin/java
lrwxrwxrwx. 1 root root 22 Oct 12 2020 /usr/bin/java -> /etc/alternatives/java

$ ll -l /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 Oct 12 2020 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64/jre/bin/java

这个版本的java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64,是通过yum安装的openjdk。需要换成我们自己下载的jdk。

1
2
3
$ sudo rm -rf /usr/bin/java

$ sudo ln -s /usr/local/java/jdk1.8.0_231/bin/java /usr/bin/java

添加环境变量,修改~/.bash_profile

1
export PATH=$PATH:/usr/local/java/jdk1.8.0_231/bin/

激活

1
$ source ~/.bash_profile

此时再执行 jps 命令,就可以执行成功了。

1
2
$ jps
27455 Jps

环境:CentOS 7
Kafka版本:kafka_2.12-2.6.2

下载Kafka安装文件

1
$ sudo wget https://mirror.nodesdirect.com/apache/kafka/2.6.2/kafka_2.12-2.6.2.tgz

解压安装

1
$ sudo tar -xzf kafka_2.12-2.6.2.tgz -C /usr/local/kafka

启动Zookeeper

1
$ sudo bin/zookeeper-server-start.sh config/zookeeper.properties

启动Kafka

修改server.properties配置文件。

如果要使用外部程序去调用Kafka的话,需要设置advertised.listeners参数的IP地址。
advertised.listeners=PLAINTEXT://192.168.0.2:9092

1
$ sudo bin/kafka-server-start.sh config/server.properties

测试

创建Topic

1
2
3
4
5
$ bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
$ bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092
Topic:quickstart-events PartitionCount:1 ReplicationFactor:1 Configs:
Topic: quickstart-events Partition: 0 Leader: 0 Replicas: 0 Isr: 0
S

写消息

1
2
3
$ bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
This is my first event
This is my second event

读消息

1
2
3
$ bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
This is my first event
This is my second event