赞
踩
搭建设计
# 使用rpm安装JDK
rpm -ivh jdk-8u261-linux-x64.rpm
# 默认的安装路径是/usr/java/jdk1.8.0_261-amd64
# 配置JAVA_HOME
vim /etc/profile
# 文件最后添加两行
export JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
export PATH=$PATH:$JAVA_HOME/bin
# 退出vim,使配置生效
source /etc/profile
注:三台服务器都要配置
linux121配置
# 解压到/opt目录 tar -zxf zookeeper-3.4.14.tar.gz -C /opt # 配置 cd /opt/zookeeper-3.4.14/conf cp zoo_sample.cfg zoo.cfg vim zoo.cfg # 设置 dataDir=/var/lagou/zookeeper/data # 添加 server.1=linux121:2881:3881 server.2=linux122:2881:3881 server.3=linux123:2881:3881 # 退出vim mkdir -p /var/lagou/zookeeper/data echo 1 > /var/lagou/zookeeper/data/myid # 配置环境变量 vim /etc/profile # 添加 export ZOOKEEPER_PREFIX=/opt/zookeeper-3.4.14 export PATH=$PATH:$ZOOKEEPER_PREFIX/bin export ZOO_LOG_DIR=/var/lagou/zookeeper/log # 退出vim,让配置生效 source /etc/profile # 将/opt/zookeeper-3.4.14拷贝到linux122,linux123 scp -r /opt/zookeeper-3.4.14/ linux122:/opt scp -r /opt/zookeeper-3.4.14/ linux123:/opt
linux122配置
# 配置环境变量
vim /etc/profile
# 在配置JDK环境变量基础上,添加内容
export ZOOKEEPER_PREFIX=/opt/zookeeper-3.4.14
export PATH=$PATH:$ZOOKEEPER_PREFIX/bin
export ZOO_LOG_DIR=/var/lagou/zookeeper/log
# 退出vim,让配置生效
source /etc/profile
mkdir -p /var/lagou/zookeeper/data
echo 2 > /var/lagou/zookeeper/data/myid
linux123配置
# 配置环境变量
vim /etc/profile
# 在配置JDK环境变量基础上,添加内容
export ZOOKEEPER_PREFIX=/opt/zookeeper-3.4.14
export PATH=$PATH:$ZOOKEEPER_PREFIX/bin
export ZOO_LOG_DIR=/var/lagou/zookeeper/log
# 退出vim,让配置生效
source /etc/profile
mkdir -p /var/lagou/zookeeper/data
echo 3 > /var/lagou/zookeeper/data/myid
# 在三台Linux上启动Zookeeper
[root@linux121 ~]# zkServer.sh start
[root@linux121 ~]# zkServer.sh start
[root@linux121 ~]# zkServer.sh start
上传并解压Kafka到/opt
# 解压到/opt
tar -zxf kafka_2.12-1.0.2.tgz -C /opt
# 拷贝到linux122和linux123
scp -r /opt/kafka_2.12-1.0.2/ linux122:/opt
scp -r /opt/kafka_2.12-1.0.2/ linux123:/opt
# 配置环境变量,三台Linux都要配置 vim /etc/profile # 添加以下内容: export KAFKA_HOME=/opt/kafka_2.12-1.0.2 export PATH=$PATH:$KAFKA_HOME/bin # 让配置生效 source /etc/profile # linux121配置 vim /opt/kafka_2.12-1.0.2/config/server.properties broker.id=0 listeners=PLAINTEXT://:9092 advertised.listeners=PLAINTEXT://linux121:9092 log.dirs=/var/lagou/kafka/kafka-logs zookeeper.connect=linux121:2181,linux122:2181,linux123:2181/myKafka # 其他使用默认配置 # linux122配置 vim /opt/kafka_2.12-1.0.2/config/server.properties broker.id=1 listeners=PLAINTEXT://:9092 advertised.listeners=PLAINTEXT://linux122:9092 log.dirs=/var/lagou/kafka/kafka-logs zookeeper.connect=linux121:2181,linux122:2181,linux123:2181/myKafka # 其他使用默认配置 # linux123配置 vim /opt/kafka_2.12-1.0.2/config/server.properties broker.id=2 listeners=PLAINTEXT://:9092 advertised.listeners=PLAINTEXT://linux123:9092 log.dirs=/var/lagou/kafka/kafka-logs zookeeper.connect=linux121:2181,linux122:2181,linux123:2181/myKafka # 其他使用默认配置
注:/var/lagou/kafka/kafka-logs 需要创建下
mkdir -p /var/lagou/kafka/kafka-logs
[root@linux121 ~]# kafka-server-start.sh -daemon /opt/kafka_2.12-1.0.2/config/server.properties
[root@linux122 ~]# kafka-server-start.sh -daemon /opt/kafka_2.12-1.0.2/config/server.properties
[root@linux123 ~]# kafka-server-start.sh -daemon /opt/kafka_2.12-1.0.2/config/server.properties
我们可以使用Kafka-eagle管理Kafka集群
核心模块:
架构:
[root@node4 bin]# vim /opt/kafka_2.12-1.0.2/bin/kafka-server-start.sh
# 下载编译好的包
wget http://pkgs-linux.cvimer.com/kafka-eagle.zip
# 配置kafka-eagle
unzip kafka-eagle.zip
cd kafka-eagle/kafka-eagle-web/target
mkdir -p test
cp kafka-eagle-web-2.0.1-bin.tar.gz test/
tar xf kafka-eagle-web-2.0.1-bin.tar.gz
cd kafka-eagle-web-2.0.1
vim /etc/profile
#添加
KE_HOME=/opt/lagou/software/kafka-eagle/kafka-eagle-web/target/test/kafka-eagle-web-2.0.1
PATH=$PATH:$KE_HOME/bin
conf下的配置文件:system-config.properties
###################################### # multi zookeeper & kafka cluster list ###################################### # 集群的别名,用于在kafka-eagle中进行区分。 # 可以配置监控多个集群,别名用逗号隔开 # kafka.eagle.zk.cluster.alias=cluster1,cluster2,cluster3 kafka.eagle.zk.cluster.alias=cluster1 # cluster1.zk.list=10.1.201.17:2181,10.1.201.22:2181,10.1.201.23:2181 # 配置当前集群的zookeeper地址,此处的值要与Kafka的server.properties中的zookeeper.connect的值一致 # 此处的前缀就是集群的别名 cluster1.zk.list=node2:2181,node3:2181,node4:2181/myKafka #cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181 ###################################### # zookeeper enable acl ###################################### cluster1.zk.acl.enable=false cluster1.zk.acl.schema=digest cluster1.zk.acl.username=test cluster1.zk.acl.password=test123 ###################################### # broker size online list ###################################### cluster1.kafka.eagle.broker.size=20 ###################################### # zookeeper客户端连接数限制 ###################################### kafka.zk.limit.size=25 ###################################### # kafka eagle网页端口号 ###################################### kafka.eagle.webui.port=8048 ###################################### # kafka 消费信息存储位置,用来兼容kafka低版本 ###################################### cluster1.kafka.eagle.offset.storage=kafka cluster2.kafka.eagle.offset.storage=zk ###################################### # kafka metrics, 15 days by default ###################################### kafka.eagle.metrics.charts=true kafka.eagle.metrics.retain=15 ###################################### # kafka sql topic records max ###################################### kafka.eagle.sql.topic.records.max=5000 kafka.eagle.sql.fix.error=true ###################################### # 管理员删除kafka中topic的口令 ###################################### kafka.eagle.topic.token=keadmin ###################################### # kafka 集群是否开启了认证模式,此处是cluster1集群的配置,禁用 ###################################### cluster1.kafka.eagle.sasl.enable=false cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT cluster1.kafka.eagle.sasl.mechanism=SCRAM-SHA-256 cluster1.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka-eagle"; cluster1.kafka.eagle.sasl.client.id= cluster1.kafka.eagle.sasl.cgroup.enable=false cluster1.kafka.eagle.sasl.cgroup.topics= ###################################### # kafka ssl authenticate,示例配置 ###################################### cluster2.kafka.eagle.sasl.enable=false cluster2.kafka.eagle.sasl.protocol=SASL_PLAINTEXT cluster2.kafka.eagle.sasl.mechanism=PLAIN cluster2.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="kafka-eagle"; cluster2.kafka.eagle.sasl.client.id= cluster2.kafka.eagle.sasl.cgroup.enable=false cluster2.kafka.eagle.sasl.cgroup.topics= ###################################### # kafka ssl authenticate,示例配置 ###################################### cluster3.kafka.eagle.ssl.enable=false cluster3.kafka.eagle.ssl.protocol=SSL cluster3.kafka.eagle.ssl.truststore.location= cluster3.kafka.eagle.ssl.truststore.password= cluster3.kafka.eagle.ssl.keystore.location= cluster3.kafka.eagle.ssl.keystore.password= cluster3.kafka.eagle.ssl.key.password= cluster3.kafka.eagle.ssl.cgroup.enable=false cluster3.kafka.eagle.ssl.cgroup.topics= ###################################### # 存储监控数据的数据库地址 # kafka默认使用sqlite存储,需要指定和创建sqlite的目录 # 如 /home/lagou/hadoop/kafka-eagle/db ###################################### kafka.eagle.driver=org.sqlite.JDBC kafka.eagle.url=jdbc:sqlite:/home/lagou/hadoop/kafka-eagle/db/ke.db kafka.eagle.username=root kafka.eagle.password=www.kafka-eagle.org ###################################### # 还可以使用MySLQ存储监控数据 ###################################### #kafka.eagle.driver=com.mysql.jdbc.Driver #kafka.eagle.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull #kafka.eagle.username=root #kafka.eagle.password=123456 ###################################### # kafka eagle 设置告警邮件服务器 ###################################### kafka.eagle.mail.enable=true kafka.eagle.mail.sa=kafka_lagou_alert kafka.eagle.mail.username=kafka_lagou_alert@163.com kafka.eagle.mail.password=Pas2W0rd kafka.eagle.mail.server.host=smtp.163.com kafka.eagle.mail.server.port=25
也可以自行编译, https://github.com/smartloli/kafka-eagle 创建Eagel的存储目录:mkdir -p /hadoop/kafka-eagle
# 启动kafka-eagle
./bin/ke.sh start
会提示登陆地址和账号密码
账号:admin 密码:123456
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。