关闭kafka
但是会有延时,关闭的比较慢。
之后再看一下就没了,需要等待一下。
我们删除每台机器的logs文件夹:
我们希望把数据和logs分开来放。
这时候,就相当于kafka新装的一样。
这时候需要注意:还有很多信息再zi里面。
进入zk根目录:
除了zk,其他的都是kafka的数据。
在kafka里面,并没有指定哪个broker是老大。那它怎么直到102 103 104是一个kafka集群呢?
就是通过zk
因为,我们在102 103 104上装的kafka连的都是同一套zk,都会去找zk注册。拿者broker.id去注册。这就是为什么我们需要broker.id不能一样的原因。
我们现在把logs删除掉了。logs里面的是技术据已经被删除了,在zk的元数据,也要被删除掉。
直接进入到:根目录下面的zkData目录,
myid:标志着zk的服务id,自己配置的。
pid:zk的进程号。
暴力删除:
先将zk停掉
删除version目录:
在103 104里面也是删除version目录:
这时候相当于zk重装了。
重启zk:
启动zk之后,看看zk里面除了zk的数据,kafka的数据是不是已经没有了。
这也侧面证明了,version-2是存储zk数据的地方。
这时候去修改kafka的配置文件,将存储数据的目录从logs改成data,实现数据和日志的分离。
然后再去修改 103 104里面的配置文件。
重启kafka:
现在三台全部都正常启动kafka,相当于重装了kafka
重启之后没有创建主题,所以没有目录。
现在去创建主题。
这个000000000000000000.log真正存储数据的地方。
做一个简单的测试,利用生产者往里面写一条数据。
在102上面,开启生产者。
消费者既可以连接zk,也可以连bootstrapserver
发送hello,atguigu两条数据。
因为数据被序列化了,所以,数据不好看。
去first-1里面。
现在敲命令都被序列化,所以关闭当前窗口。
那里面的数据是不允许给我们看的。
这就是我们做的事情。将日志和数据分开存放。