kafka在虚拟机上启动并实现单例生产消费队列(二)

这首先有两个Linux命令需要知道,查看端口的占用情况
1、lsof -i: 端口号
2、netstat -tunlp|grep 端口号
有可能找不到这个命令,那就需要加载这个插件
命令:yum install 加载的linux命令
前提是你的虚拟机能联网,你可以ping一下看有没有网

在启动之前有个问题:启动fakfa有前台启动和后台启动

  1. 前台启动:默认的启动命令,但是当前窗口不能再进行其他的命令了了,比如关闭退出,因为这意味着你主动关闭了服务
  2. 后台启动:主动的是当前窗口一样可以进行别的命令操作,但是不能关闭退出,要不和上面一样,命令: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++
>

这里的 ^Hbackspace键,也是平常的删除键,这不允许删除
把输入的消息输到服务器端,一行为一条

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

你可能感兴趣的:(#,kafka)