文章转载至:https://www.jb51.net/article/76397.htm
目录
目录
五、创建生产者 topic 和 消费者 topic 简单示例
一、关闭SELINUX、开启防火墙9092端口
1、关闭SELINUX
# vim /etc/selinux/config,代码内编辑内容如下:
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
# :wq! #保存退出
# setenforce 0 #使配置立即生效
2、配置防火墙,开启9092端口
# vim /etc/sysconfig/iptables , 代码内编辑内容如下: (加22端口和kafka的9092端口)
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9092 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# :wq! #保存退出
# service iptables restart #最后重启防火墙使配置生效
二、安装JDK
请读者自行百度:linux下安装jdk1.8, 安装完后 # java -version 查看版本是否安装成功!!!
三、安装kafka
1、下载kafka
(1)到kafka的官网,去下载想用的kafka包:http://kafka.apache.org/downloads
(2)我这里下载的是:kafka_2.12-2.3.0.tgz:
(3)将安装包传送到服务器并解压(默认这里解压了就是安装路径了,可以自己斟酌):
比如我的是解压到 /opt/soft/kafka_2.12-2.3.0
2、配置kafka
(1)在kafka解压目录同一路径下:创建一个kafka_data,用于装kafka和zookeeper的log和数据啥的!
mkdir /opt/soft/kafka_data
mkdir /opt/soft/kafka_data/zookeeper # zookeeper数据
mkdir /opt/soft/kafka_data/log
mkdir /opt/soft/kafka_data/log/kafka # kafka日志
mkidr /opt/soft/kafka_data/log/zookeeper # zookeeper日志
(2)配置kafka服务
# cd /opt/soft/kafka_2.12-2.3.0/config
# vim server.properties #编辑修改相应的参数,内容改动和添加如下:
broker.id=0
port=9092 #端口号
host.name=172.30.200.98 #服务器IP地址,修改为自己的服务器IP
log.dirs=/opt/soft/kafka_data/log/kafka #日志存放路径,上面创建的目录
zookeeper.connect=localhost:2181 #zookeeper地址和端口,单机配置部署,localhost:2181
# :wq! #保存退出
3、配置zookeeper服务
# cd /opt/soft/kafka_2.12-2.3.0/config
# vi zookeeper.properties #编辑修改相应的参数,内容改动和添加如下:
dataDir=/opt/soft/kafka_data/zookeeper #zookeeper数据目录
dataLogDir=/opt/soft/kafka_data/log/zookeeper #zookeeper日志目录
clientPort=2181
maxClientCnxns=100
tickTime=2000
initLimit=10
syncLimit=5
# :wq! #保存退出
四、创建启动和关闭的 kafka 执行脚本
# cd /opt/soft/kafka_2.12-2.3.0
1. 创建启动脚本 # vim kafka_start.sh, 里边内容为:
#!/bin/sh
#启动zookeeper
/opt/soft/kafka_2.12-2.3.0/bin/zookeeper-server-start.sh /opt/soft/kafka_2.12-2.3.0/config/zookeeper.properties &
sleep 3 #等3秒后执行
#启动kafka
/opt/soft/kafka_2.12-2.3.0/bin/kafka-server-start.sh /opt/soft/kafka_2.12-2.3.0/config/server.properties &
# :wq! #保存退出
2. 创建关闭脚本 # vim kafka_stop.sh, 里边内容为:
#!/bin/sh
#关闭zookeeper
/opt/soft/kafka_2.12-2.3.0/bin/zookeeper-server-stop.sh /opt/soft/kafka_2.12-2.3.0/config/zookeeper.properties &
sleep 3 #等3秒后执行
#关闭kafka
/opt/soft/kafka_2.12-2.3.0/bin/kafka-server-stop.sh /opt/soft/kafka_2.12-2.3.0/config/server.properties &
# :wq! #保存退出
至此,在kafka路径下,就有了两个脚本了。一个是启动脚本,一个是关闭脚本!!!如下:
3. 为脚本执行权限
# chmod +x kafkastart.sh
# chmod +x kafkastop.sh
4. 启动和关闭kafka
# cd /opt/soft/kafka_2.12-2.3.0
# sh kafkastart.sh #启动kafka
# sh kafkastop.sh #关闭kafka
5. 启动脚本,设置开机自启动
# vi /etc/rc.d/rc.local #编辑,在最后添加一行
sh /usr/local/kafka/kafkastart.sh & #设置开机自动在后台运行脚本
# :wq! #保存退出
至此,Linux下Kafka单机安装配置完成。。。
五、创建生产者 topic 和 消费者 topic 简单示例
1. 在一个终端执行创建生产者: (推消息到hzy_test)
# cd /opt/soft/kafka_2.12-2.3.0/bin
# ./kafka-console-producer.sh --broker-list 172.30.200.98:9092 --topic hzy_test (注:hzy_test你要建立的topic名)
2. 在另一个终端执行创建消费者:(从hzy_test上消费消息)
# cd /opt/soft/kafka_2.12-2.3.0/bin
# ./kafka-console-consumer.sh --bootstrap-server 172.30.200.98:9092 --topic hzy_test
3. 查看效果: 一个终端不断输入推送的消息,另一个终端则消费这个消息 --->
六、查看运行的进程 和 当前topic
(1)# jps:查看服务,如果下面两个标红的存在,说明zookeeper和kafka 启动了。
(2)查看当前的一些topic
# cd /opt/soft/kafka_2.12-2.3.0/bin
# ./kafka-topics.sh --zookeeper localhost:2181 --list