Zookeeper+Kafka全家桶部署

Kafka部署

Kafka:kafka_2.11-0.10.2.2
Zookeeper:3.5.6
修正为3.4.14,否则会导致eagle不能读取文件占用的问题
kafka Tool:2.0.7
kafka Eagle:1.4.8
CentOS:7.5

一、zookeeper

1.1 安装

1、解压缩
2、新建data文件夹,用于存储数据
3、conf/下,新建zoo.cfg或者拷贝一个进去,主要修改内容:

###数据保存位置
dataDir=/home/xxx/apache-zookeeper-3.5.6-bin/data/
### 暴露出的端口号,IP地址不需要额外配置即可通过公网访问
clientPort=5017
注意防火墙放行
1.2 启动和测试
1.进入zookeeper的bin目录
#cd /home/xxx/apache-zookeeper-3.5.6-bin/bin
2.启动指令
#zkServer.sh start
3.查看状态
#zkServer.sh status
4.通过客户端测试
#./zkCli.sh -server 58.56.00.01:5017
5.连接结果
#[zk:58.56.00.01:5017(CONNECTED) 0]
1.3 开机启动

1、开机启动有两种方案,这里采用systemctl的方式进行设置;
2、新建zookeeper.service,放置在 /etc/systemd/system;

[Unit]
Description=Zookeeper service
After=network.target
[Service]
Type=forking
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/fhb/jdk1.8.0_231/bin"
User=root
Group=root
ExecStart=/home/fhb/apache-zookeeper-3.5.6-bin/bin/zkServer.sh start
ExecStop=/home/fhb/apache-zookeeper-3.5.6-bin/bin/zkServer.sh stop
Restart=on-failure
[Install]
WantedBy=multi-user.target

4、增加777权限;
5、通过systemctl 操作

systemctl startzookeeper	#启动zookeeper服务状态
systemctl status zookeeper	#查看zookeeper服务状态
systemctl stop zookeeper	#关闭zookeeper服务
systemctl restart zookeeper	#重启zookeeper服务
systemctl enable zookeeper	#设为开机启动
netstat -tunlp|grep 5017  #查看端口号占用

二、Kafka

2.1 安装

1、解压缩
2、创建日志目录/kafka_2.11-0.10.2.2/logs
3、修改/kafka_2.11-0.10.2.2/config/server.properties

listeners=PLAINTEXT://172.17.4.2:5016
# ip地址为内网地址,不能是127.0.0.1或者localhost,
# 这里通过修改#/etc/host文件,映射一下名称和IP也是可以的


advertised.listeners=PLAINTEXT://外网IP:5016
#外网IP和端口填写,以暴露kafka到公网


log.dirs=/home/xxx/kafka_2.11-0.10.2.2/logs/


zookeeper.connect=127.0.0.1:5017
#直接填IP+Port即可

2.2 启动

启动
#./bin/kafka-server-start.sh config/server.properties
生产
#./bin/kafka-console-producer.sh --broker-list 外网IP:5016--topic hello
消费
#./bin/kafka-console-consumer.sh --bootstrap-server 外网IP:5016--topic hello --from-beginning
注意:都是连接的kafka的地址和端口,不是zookeeper的

2.3 开机启动

[Unit]
Description=Apache Kafka server (broker)
After=network.target zookeeper.service

[Service]
Type=forking
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/xxx/jdk1.8.0_231/bin"
User=root
Group=root
ExecStart=/home/xxx/kafka_2.11-0.10.2.2/bin/kafka-server-start.sh /home/xxx/kafka_2.11-0.10.2.2/config/server.properties
ExecStop=/home/xxx/kafka_2.11-0.10.2.2/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target


三、kafkaTool

3.1 安装(略,有windows版的)

3.2 配置

1、新增Clusters,在Properties配置Zookeeper的外网地址和端口号
2、如果是虚拟机安装,kafka配置只需要设置【listeners】项,即可点击KafkaTool的Connect进行连接;
3、如果是服务器部署,kafka需按照上述配置进行;
   同时,Kafka Tool内需要配置Advanced项,在Bootstrap servers内填写kafka的对外保留地址+端口;
   注意:不进行3的配置,也可正常连接和读取数据,但是连接kafka的速度较慢;应该是自动搜索zookeeper内的kafka导致;

3.3 问题


1、zk不能连接
#用tcp助手连接公网IP:Port,如果不通,请检查映射和IP设置;

2、zk可以连接,brokers不能连接,提示broker 0 ....
	1、TCP检查端口是否正常,不正常去设置端口映射
	2、kafka配置文件配置完整
	

四、kafka-eagle:

4.1 安装

1、解压缩;
2、设置环境变量

vim /etc/profile
export KE_HOME= /xxx/kafka-eagle
PATH=$PATH:$KE_HOME/bin

3、更新变量

source /etc/profile

4、修改配置文件

cd kafka-eagle/conf
vim system-config.properties
######################################
# multi zookeeper&kafka cluster list
# zookeeper和kafka集群配置
######################################
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=10.0.0.200:2181
#这里写zookeeper的地址和端口
######################################
# kafka eagle webui port 
# web页面访问端口号
######################################
kafka.eagle.webui.port=8048
######################################
# kafka jdbc driver address
# kafka默认使用sqlite数据库,Centos自带,注意配置下数据库存放路径就行
######################################
kafka.eagle.driver=org.sqlite.JDBC
kafka.eagle.url=jdbc:sqlite:/opt/software/kafka-eagle/db/ke.db
kafka.eagle.username=root
kafka.eagle.password=www.kafka-eagle.org

4.2 启动

cd ../bin/
chmod +x ke.sh
./ke.sh start

启动成功:

*******************************************************************
* Kafka Eagle system monitor port successful...
*******************************************************************
[2020-02-07 17:05:57] INFO: Status Code[0]
[2020-02-07 17:05:57] INFO: [Job done!]
Welcome to
__ __ ___ ____ __ __ ___ ______ ___ ______ __ ______
/ //_/ / | / __/ / //_/ / | / ____/ / | / ____/ / / / ____/
/ ,< / /| | / /_ / ,< / /| | / __/ / /| | / / __ / / / __/
/ /| | / ___ | / __/ / /| | / ___ | / /___ / ___ |/ /_/ / / /___ / /___
/_/ |_| /_/ |_|/_/ /_/ |_| /_/ |_| /_____/ /_/ |_|\____/ /_____//_____/
Version 1.3.8
*******************************************************************
* Kafka Eagle Service has started success.
* Welcome, Now you can visit 'http://10.0.0.200:8048/ke'
* Account:admin ,Password:123456
*******************************************************************
* ke.sh [start|status|stop|restart|stats]
* https://www.kafka-eagle.org/
*******************************************************************

如果出现错误,请查看日志日志是否出问题
tailf …/log/log.log

如果没问题,则直接登录

http://host:8048/ke
默认用户名:admin
默认密码:12345

4.3 JMX端口

Kafka系统默认是没有开启JMX端口的,所以Kafka Eagle的监控趋势图默认采用不启用的方式,即kafka.eagle.metrics.charts=false。如果需要查看监控趋势图,需要开启Kafka系统的JMX端口,设置该端口在$KAFKA_HOME/bin/kafka-server-start.sh脚本中,设置内容如下:

vim  /opt/software/kafka-eagle/conf/system-config.properties

######################################
# enable kafka metrics
######################################
kafka.eagle.metrics.charts=true
kafka.eagle.sql.fix.error=true
vi /xxx/kafka/bin/kafka-server-start.sh

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"
    # 这里的端口不一定非要设置成9999,端口只要可用,均可。
    export JMX_PORT="9999" 
    #export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi

注意:如果是外网访问(不是虚拟机环境),需要修改kafka-run-class.sh文件

  KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote 
  -Djava.rmi.server.hostname=127.0.0.1 
  -Dcom.sun.management.jmxremote.port=5014 
  -Dcom.sun.management.jmxremote.authenticate=false  
  -Dcom.sun.management.jmxremote.ssl=false "

4.4 开机启动

[Unit]
Description=eagle
After=network.target

[Service]
Type=forking
Environment="KE_HOME=/home/xxx/kafka-eagle-web-1.4.8"
Environment="JAVA_HOME=/home/xxx/jdk1.8.0_231"
ExecStart=/home/xxx/kafka-eagle-web-1.4.8/bin/ke.sh start
ExecStop=/home/xxx/kafka-eagle-web-1.4.8/bin/ke.sh stop
Restart=on-failure

[Install]
WantedBy=multi-user.target

如果检查不出问题,一定要查看防火墙设置


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值