linux下搭建kafka环境(图文详细过程)

我这里用的是kafka自带的zookeeper,没有单独搞。

配置过程比较简单,下载kafka压缩包,解压,我是建立了一个kafka文件夹。

linux下搭建kafka环境(图文详细过程)_第1张图片

解压后的目录:

linux下搭建kafka环境(图文详细过程)_第2张图片

接下来直接去配置环境变量:

现在我找到了另一种配置环境变量的方式:https://blog.csdn.net/qq_39314099/article/details/103306898


配置kafka环境变量:

bash_profile文件:

linux下搭建kafka环境(图文详细过程)_第3张图片

bashrc文件:

linux下搭建kafka环境(图文详细过程)_第4张图片

然后都source下。


接下来配置一下配置文件。先配置zookeeper:

进入kafka下的config目录,找到zookeeper.properties,编辑:

linux下搭建kafka环境(图文详细过程)_第5张图片

dataDir代表zk存放数据的目录,我新建了一个文件夹;

dataLogDir代表zk的日志目录,我自己新建的文件夹;

tickTime代表发送心跳时间间隔,单位毫秒;

initLimit代表最长能忍受多少个心跳时间间隔数;

syncLimit代表leader和follower之间发消息,请求和应答时间长度。

这样Zk就配置好了。

下一步配置kafka配置文件,只是做部署过程记录,就只做一个单点。

Config目录下的server.properties:

linux下搭建kafka环境(图文详细过程)_第6张图片

这两个写成自己的ip。

linux下搭建kafka环境(图文详细过程)_第7张图片

日志目录,自定义。

在zookeeper这里填好zk地址。

linux下搭建kafka环境(图文详细过程)_第8张图片

配置到这里就可以了。

 

启动zk:

用nohup 加command 加 &符号启动。可以查看nohup.out日志,如此启动成功。

nohup zookeeper-server-start.sh ./config/zookeeper.properties &
上面的命令会在当前目录生成一个nohup.out文件,作为日志文件,但是zk有自己的日志文件,这样显得有点多余,可以用下面的命令不生成这个nohup.out文件:
nohup zookeeper-server-start.sh ./config/zookeeper.properties >/dev/null 2>&1 &

 

linux下搭建kafka环境(图文详细过程)_第9张图片

可以查看日志文件,也可以用其他命令查看,比如监听端口:

关闭zookeeper:

 zookeeper-server-stop.sh

同样的命令形式去启动kafka:

 nohup kafka-server-start.sh ./config/server.properties >/dev/null 2>&1 &

linux下搭建kafka环境(图文详细过程)_第10张图片

可以看到nohup.out输出的日志,启动成功。

查看端口:

关闭kafka:

kafka-server-stop.sh

测试下,创建一个topic:

bin/kafka-topics.sh --create --zookeeper 192.168.179.128:2181 --replication-factor 1 --partitions 3 --topic TEST-TOPIC

linux下搭建kafka环境(图文详细过程)_第11张图片

可以看到,nohup日志已经打印出来了。日志里显示已经创建了topic。

接下里调用命令来查看下:

./bin/kafka-topics.sh --list --zookeeper localhost:2181

创建的topic都在这里了。


后记:

在上面的操作完成后。kafka和zk就基本配置完成了。但是我忽略了一个问题。那就是端口问题。现在如果直接去ping ip + 端口是ping不通的。当然如果你的防火墙根本没开就不用担心这个问题了。

针对这问题需要在防火墙开放端口:

firewall-cmd --zone=public --add-port=2181/tcp --permanent

firewall-cmd --zone=public --add-port=9092/tcp --permanent

添加完重载下防火墙即可。

这时候应该就没有问题了。

如果再程序中添加了topic,想查看,可以在xshell中执行命令查看:

./bin/kafka-console-consumer.sh --bootstrap-server 192.168.179.128:9092 --topic topicname--from-beginning
 

这里有一点需要注意的就是如果你的server的地址ip写的和配置文件里配的不能对应的话,会报错:

比如,我配置文件配置的是ip,但是命令写的确实localhost,报错如下

(localhost/127.0.0.1:9092) could not be established。这时候一般将localhost改为ip即可正常查询。

 

linux下搭建kafka环境(图文详细过程)_第12张图片

你可能感兴趣的:(linux)