这首先有两个Linux命令需要知道,查看端口的占用情况
1、lsof -i: 端口号
2、netstat -tunlp|grep 端口号
有可能找不到这个命令,那就需要加载这个插件
命令:yum install 加载的linux命令
前提是你的虚拟机能联网,你可以ping一下看有没有网
在启动之前有个问题:启动fakfa有前台启动和后台启动
- 前台启动:默认的启动命令,但是当前窗口不能再进行其他的命令了了,比如关闭退出,因为这意味着你主动关闭了服务
- 后台启动:主动的是当前窗口一样可以进行别的命令操作,但是不能关闭退出,要不和上面一样,命令:linux后台运行和关闭、查看后台任务
1、先启动zookeeper
在zookeeper目录下
[root@bogon zookeeper]# bin/zkServer.sh start conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: conf/zoo.cfg
Starting zookeeper ... STARTED
查看启动成功了吗?
[root@bogon zookeeper]# bin/zkServer.sh status conf/zoo.cfg
//下面的是返回的信息
ZooKeeper JMX enabled by default
Using config: conf/zoo.cfg
Mode: standalone
再看端口是否被监听
[root@bogon bin]# lsof -i:2181
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 17224 root 27u IPv6 84341 0t0 TCP *:eforward (LISTEN) //监听看这句话
java 17224 root 28u IPv6 122119 0t0 TCP localhost:eforward->localhost:43638 (ESTABLISHED)
java 21302 root 106u IPv6 122118 0t0 TCP localhost:43638->localhost:eforward (ESTABLISHED)
启动成功
2、再启动fakfa
在kafka目录下
常规模式启动kafka
[root@bogon kafka]# bin/kafka-server-start.sh config/server.properties
进程守护模式启动kafka
[root@bogon kafka]# nohup bin/kafka-server-start.sh config/server.properties >/dev/null 2>&1 &
查看端口是否被监听
[root@bogon bin]# lsof -i:9092
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 21302 root 162u IPv6 122122 0t0 TCP *:XmlIpcRegSvc (LISTEN) //监听看这句话
java 21302 root 178u IPv6 122134 0t0 TCP bogon:54158->bogon:XmlIpcRegSvc (ESTABLISHED)
java 21302 root 179u IPv6 122135 0t0 TCP bogon:XmlIpcRegSvc->bogon:54158 (ESTABLISHED)
启动成功
3、创建一个主题,也就相当于消息队列名
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
解释:创建一个名为“test”的Topic,只有一个分区和一个备份
有可能创建失败:Error while executing topic command : Topic ‘test’ already exists.
主题已存在,因为我学习的过程中已经创建过了
4,查询所有的主题
[root@bogon kafka]# bin/kafka-topics.sh --list --zookeeper localhost:2181
__consumer_offsets
test
5、生产者
[root@bogon kafka]# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
>first
>secoo^H^H^H^Hd^H^H^H^H^H^H^H^H^H^H^H
>php
>ss^H^H
>java
>c++
>
这里的 ^H是backspace键,也是平常的删除键,这不允许删除
把输入的消息输到服务器端,一行为一条
6、消费者
旧版本的消费者用的还是–zookeeper
新版的消费者用的都是–bootstrap-server,这俩有本质区别
[root@bogon kafka]# bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
this
hellp sjsdSDJSJjfkd
jkjkjfs
hello kak
hellp kafka
first
phpoo
ss
java
c++
这为什么信息这么多呢?这写前面的是我以前的数据,
在消费者最后我加了 –from-beginning,是把以前的数据都拿到
kafka中的消息队列中对于消息有一个过期时间,默认是7天,当然这个时间人为可以设定
[root@bogon kafka]# bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test
oooo
去掉了 –from-beginning就没问题了,
关闭服务
[root@bogon kafka]# bin/kafka-server-stop.sh