kafka集群搭建部署测试
2018-01-17 17:11
369 查看
由于需求,需要将单节点kafka扩展成为kafka集群,中间遇到了很多问题,特将最终的正确步骤记录下来,仅作参考。
1.软件环境(ubuntu server 3台)
1.1.1.1 server1
2.2.2.2 server2
3.3.3.3 server3
注意机器个数为(2*n+1),同时zookeeper需要java环境才能运行,首先在三台机器上都配置java环境。
java环境配置:
a).下载jdk-8u151-linux-x64.tar.gz至/home/ubuntu
b).tar -xvf jdk-8u151-linux-x64.tar.gz
c)sudo vim /etc/profile,在文件末尾添加
d)source /etc/profile
2.搭建zookeeper集群
3.搭建kafka集群
3.kafka集群监控的搭建
1.软件环境(ubuntu server 3台)
1.1.1.1 server1
2.2.2.2 server2
3.3.3.3 server3
注意机器个数为(2*n+1),同时zookeeper需要java环境才能运行,首先在三台机器上都配置java环境。
java环境配置:
a).下载jdk-8u151-linux-x64.tar.gz至/home/ubuntu
b).tar -xvf jdk-8u151-linux-x64.tar.gz
c)sudo vim /etc/profile,在文件末尾添加
export JAVA_HOME=/home/ubuntu/jdk1.8.0_151 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
d)source /etc/profile
2.搭建zookeeper集群
a).下载zookeeper-3.3.6.tar.gz至/opt/zookeeper中 b).tar -xvf zookeeper-3.3.6.tar.gz c).sudo mkdir zookeeper #项目目录 sudo mkdir zkdata #存放快照日志 sudo mkdir zkdatalog#存放事物日志 d).cd conf cp zoo_sample.cfg zoo.cfg sudo vim zoo.cfg 配置项如下: #The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # the port at which the clients will connect dataDir=/opt/zookeeper/zkdata dataLogDir=/opt/zookeeper/zkdatalog clientPort=2181 server.1=1.1.1.1:2888:3888 server.2=2.2.2.2:2888:3888 server.3=3.3.3.3:2888:3888 三台集群均做相同处理后,使用如下命令在每台机器上生成相应的id文件 #server1 echo "1" > /opt/zookeeper/zkdata/myid #server2 echo "2" > /opt/zookeeper/zkdata/myid #server3 echo "3" > /opt/zookeeper/zkdata/myid 接下来启动zookeeper集群(3台均需启动) ./bin/zkServer.sh start ../conf/zoo.cfg 启动后调用 ./bin/zkServer.sh status 可以查看节点的模式,分为follower与leader 至此,zookeeper集群配置完毕
3.搭建kafka集群
mkdir /opt/kafka mkdir /opt/kafkalogs 将kafka_2.11-1.0.0.tgz下载至/opt/kafka tar -xvf kafka_2.11-1.0.0.tgz cd kafka_2.11-1.0.0 vim /config/server.properties 配置项如下: broker.id=1 num.network.threads=3 num.io.threads=8 socket.send.buffer.bytes=102400 socket.receive.buffer.bytes=102400 socket.request.max.bytes=104857600 log.dirs=/opt/kafka/kafkalogs num.partitions=8 num.recovery.threads.per.data.dir=1 offsets.topic.replication.factor=1 transaction.state.log.replication.factor=1 transaction.state.log.min.isr=1 log.retention.hours=168 message.max.byte=5242880 default.replication.factor=2 replica.fetch.max.bytes=5242880 log.segment.bytes=1073741824 log.retention.check.interval.ms=300000 zookeeper.connect=0.0.0.0:2181,2.2.2.2:2181,3.3.3.3:2181 advertised.host.name=1.1.1.1 zookeeper.connection.timeout.ms=6000 group.initial.rebalance.delay.ms=0 需要注意的地方有: broker.id三台机器不可重复,作为唯一标识 log.dirs配置为我们之前创建的kafkalogs文件夹,不要使用默认配置的/tmp临时文件夹,否则机器重启会导致数据丢失 advertised.host.name=1.1.1.1必须配置否则会导致生产与消费数据的失败 配置完毕后启动kafka集群 ./bin/kafka-server-start.sh ../config/server.properties (三台机器) 测试创建topic ./kafka-topics.sh --create --zookeeper 1.1.1.1:2181 --replication-factor 2 --partitions 1 --topic shuaige #解释 --replication-factor 2 #复制两份 --partitions 1 #创建1个分区 --topic #主题为shuaige '''在一台服务器上创建一个发布者''' #创建一个broker,发布者 ./kafka-console-producer.sh --broker-list 1.1.1.1:19092 --topic test '''在一台服务器上创建一个订阅者''' ./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
3.kafka集群监控的搭建
1、获取kafka-manager源码,并编译打包 # cd /usr/local # git clone https://github.com/yahoo/kafka-manager # cd kafka-manager # ./sbt clean dist 2.编译成功后,会在target/universal下生成一个zip包 # cd /usr/local/kafka-manager/target/universal # unzip kafka-manager-1.3.3.7.zip 将application.conf中的kafka-manager.zkhosts的值设置为你的zk地址 如:kafka-manager.zkhosts="1.1.1.1:2181,2.2.2.2:2181,3.3.3.3:2181" 3.后台运行 默认端口(9000) # ./kafka-manager -h # nohup ./kafka-manager -Dconfig.file=../conf/application.conf & 指定端口 # nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=9001 & 接下来便可以通过http://1.1.1.1:9000/来添加自己的集群,从而进一步管理
相关文章推荐
- Linux下部署Kafka分布式集群,安装与测试
- kafka集群部署以及java客户端测试
- Kafka(二)CentOS7.5搭建Kafka2.11-1.1.0集群与简单测试
- kafka集群部署以及java客户端测试
- kafka集群部署以及java客户端测试
- CentOS7上部署搭建Kafka集群
- kafka集群部署以及java客户端测试
- kafka集群部署以及java客户端测试
- Kafka集群部署及测试
- 安装部署(六) Kafka集群安装部署以及Producer和Consumer的JAVA代码测试
- Linux系统Kafka集群搭建与简单测试
- Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高可用性测试,以及各种坑 (转载)
- kafka集群部署以及java客户端测试
- kafka集群部署以及java客户端测试
- Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高可用性测试,以及各种坑 (转载)
- kafka集群部署以及java客户端测试
- kafka集群部署以及java客户端测试
- Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高可用性测试,以及各种坑
- kafka集群部署以及java客户端测试
- kafka集群部署以及java客户端测试