一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第25天,点击查看活动详情。
部署zookeeper、kafka(用户权限)
一、 服务器资源
服务名称:Linux服务器
IP:[请查看资源分配文档]
操作系统:CentOS 6.9 x64
二、zookeeper安装
2.1、zookeeper下载
下载地址:mirror.bit.edu.cn/apache/zook…
2.2、将压缩包放到 tools目录下并解压
把apache-zookeeper-3.5.9-bin.tar.gz
上传到/opt/tools
目录下,解压到/opt/app
目录下
# cd /opt/tools
# tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /opt/app/
# cd /opt/app/
目录改名
# mv apache-zookeeper-3.5.9-bin/ zookeeper
2.3、zookeeper配置
# cd /opt/app/zookeeper/conf
# cp zoo_sample.cfg zoo.cfg
编辑修改zoo.cfg文件
# vi zoo.cfg
添加以下内容:
#配置data dir
dataDir=/opt/app/zookeeper/data
#配置jetty启动端口(默认占用8080)
admin.serverPort=8888
2.4、zookeeper启动、关闭、重启
# cd /opt/app/zookeeper
# ./bin/zkServer.sh start
服务启动无误如图:
服务关闭命令:
# ./bin/zkServer.sh start
服务重启命令:
# ./bin/zkServer.sh restart
2.5、配置防火墙
启动2181端口
# vi /etc/sysconfig/iptables
添加以下内容:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2181 -j ACCEPT
重启防火墙
# service iptables restart
三、kafka安装
3.1、kafka下载
下载地址:mirror.bit.edu.cn/apache/kafk…
3.2、将压缩包放到 tools目录下并解压
把kafka_2.13-2.7.0.tgz
上传到/opt/tools
目录下,解压到/opt/app
目录下
# cd /opt/tools
# tar -zxvf kafka_2.13-2.7.0.tgz -C /opt/app/
# cd /opt/app/
目录改名
# mv kafka_2.13-2.7.0/ kafka
3.3、kafka配置
# cd /opt/app/kafka/conf
编辑修改server.properties文件
# vi server.properties
添加以下内容:
#配置kafka的logs路径
log.dirs=/opt/app/kafka/logs
#zookeeper的连接地址
zookeeper.connect=localhost:2181
#配置远程连接
listeners=PLAINTEXT://ip:9092
advertised.listeners=PLAINTEXT://ip:9092
注:以上ip替换为linux服务器的
ip
3.4、kafka启动、关闭
# cd /opt/app/kafka
# ./bin/kafka-server-start.sh ./config/server.properties
后台启动命令:
# nohup ./bin/kafka-server-start.sh ./config/server.properties 1>/dev/null 2>&1 &
服务关闭命令:
# ./bin/kafka-server-stop.sh
3.5、配置防火墙
启动9092端口
# vi /etc/sysconfig/iptables
添加以下内容:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9092 -j ACCEPT
重启防火墙
# service iptables restart
3.6、添加用户权限SASL/PLAIN(非必需)
3.6.1.添加sasl权限配置:
# cd /opt/app/kafka
复制一份server.properties文件:
# cp config/server.properties config/server-sasl.properties
# vi config/server-sasl.properties
添加内容:
#配置kafka的logs路径
log.dirs=/opt/app/kafka/logs
#zookeeper的连接地址
zookeeper.connect=localhost:2181
#配置远程连接
listeners=SASL_PLAINTEXT://ip:9092 #(注意已修改为SASL_PLAINTEXT)
advertised.listeners=SASL_PLAINTEXT://ip:9092
#配置用户名和密码
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
3.6.2.新增kafka_server_jaas.conf 文件:
# vi config/kafka_server_jaas.conf
添加内容:
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="kafka"
password="kafka12qw!@P@ssw0rd"
user_kafka="kafka12qw!@P@ssw0rd"
user_kafkaUser="kafka12qw!@P@ssw0rd";
};
3.6.3.新增kafka_client_jaas.conf 文件:
# vi config/kafka_client_jaas.conf
添加内容:
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="kafkaUser"
password="kafka12qw!@P@ssw0rd";
};
3.6.4.复制一份kafka-server-start.sh文件:
# cp bin/kafka-server-start.sh bin/kafka-server-start-sasl.sh
# vi bin/kafka-server-start-sasl.sh
添加内容:
#配置sasl
if [ "x$KAFKA_OPTS" ]; then
export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/app/kafka/config/kafka_server_jaas.conf"
fi
3.6.5.复制一份kafka-console-producer.sh 和 kafka-console-consumer.sh文件:
# cp bin/kafka-console-producer.sh bin/kafka-console-producer-sasl.sh
# vi bin/kafka-console-producer-sasl.sh
添加内容:
#配置sasl
if [ "x$KAFKA_OPTS" ]; then
export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/app/kafka/config/kafka_client_jaas.conf"
fi
# cp bin/kafka-console-consumer.sh bin/kafka-console-consumer-sasl.sh
# vi bin/kafka-console-consumer-sasl.sh
添加内容:
#配置sasl
if [ "x$KAFKA_OPTS" ]; then
export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/app/kafka/config/kafka_client_jaas.conf"
fi
3.6.6.kafka启动、关闭
# cd /opt/app/kafka
# ./bin/kafka-server-start-sasl.sh ./config/server-sasl.properties
后台启动命令:
# nohup ./bin/kafka-server-start-sasl.sh ./config/server-sasl.properties 1>/dev/null 2>&1 &
服务关闭命令:
# ./bin/kafka-server-stop.sh
3.6.7.kafka测试(生产、消费)
创建个Topic:(Test)
# cd /opt/app/kafka/bin
# ./kafka-topics.sh --zookeeper localhost:2181 --create --topic Test --partitions 1 --replication-factor 1
启动生产者(生产信息):
# ./kafka-console-producer-sasl.sh --broker-list ip:9092 --topic Test --producer-property security.protocol=SASL_PLAINTEXT --producer-property sasl.mechanism=PLAIN
生产信息:
启动消费者(消息信息):
# ./kafka-console-consumer-sasl.sh --bootstrap-server ip:9092 --topic Test --consumer-property security.protocol=SASL_PLAINTEXT --consumer-property sasl.mechanism=PLAIN --from-beginning
消费信息:
3.6.7.kafka tool客户端连接
-
连接得服务器
-
使用
SASL
连接 -
高级配置
-
带账号密码
好了,以上就是linux部署zookeepe
r和kafka
(用户权限
)的全过程了,就是这样了!!!^_^
今天就先到这里了,溜了溜了溜了!!!^_^