利用zookeeper部署kafka集群
1.准备工作:
iptables -F #关闭防火墙
systemctl stop firewalld.service #关闭防火墙
准备三台虚拟机并放入/etc/hosts下

192.168.100.242 testceph
192.168.100.244 redis1
192.168.100.245 redis2
将testceph的/etc/hosts文件拷贝到其他两台虚拟机上
命令:
[root@testceph ~]# for i in 244 245
> do
> scp /etc/hosts 192.168.100.$i:/etc/
> done
root@192.168.100.244's password: 输入密码
hosts 100% 238 231.1KB/s 00:00
root@192.168.100.245's password: 输入密码
hosts 100% 238 418.2KB/s 00:00
2.安装依赖包
[root@testceph ~]yum install -y gcc g++ make gcc-c++ kernel-devel automake autoconf libtool make wget tcl vim unzip git java
3.准备 zookeeper目录 三个节点 192.168.100.242 192.168.100.244 192.168.100.245 (三台都要操作)
命令:mkdir /opt/zookeeper
mkdir /opt/zookeeper/zkdata
mkdir /opt/zookeeper/zkdatalog

zookeeper安装路径:wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

命令:cp /root/zookeeper-3.4.14.tar.gz /opt/
命令:cd /opt
命令:tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/zookeeper
命令:cp /opt/zookeeper/zookeeper-3.4.14/conf/zoo_sample.cfg /opt/zookeeper/zookeeper-3.4.14/conf/zoo.cfg #备份配置文件
4.修改zookeeper配置文件
命令:vim /opt/zookeeper/zookeeper-3.4.14/conf/zoo.cfg # 这样查看的配置 cat /opt/zookeeper/zookeeper-3.4.14/conf/zoo.cfg | egrep -v "^$|^#"
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/zkdata
dataLogDir=/opt/zookeeper/zkdatalog
clientPort=2181
server.1=192.168.100.242:2888:3888
server.2=192.168.100.244:2888:3888
server.3=192.168.100.245:2888:3888
(注意:前面不能有空格)

注意:server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目 录下面myid文件里
192.168.100.245为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的 端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888
注意
如果指定了日志位置需要修改下面参数
cp /opt/zookeeper/zookeeper-3.4.14/bin/zkServer.sh /opt/zookeeper/zookeeper-3.4.14/bin/zkServer.sh.bak
命令:vim /opt/zookeeper/zookeeper-3.4.14/bin/zkServer.sh
ZOO_LOG_DIR="$($GREP "^[[:space:]]*dataLogDir" "$ZOOCFG" | sed -e 's/.*=//')" #124添加这一行

5.拷贝配置好的文件到其他主机
命令:scp -r /opt/zookeeper 192.168.100.244:/opt/
命令:scp -r /opt/zookeeper 192.168.100.245:/opt/
创建快照目录myid文件
#server.1
echo "1" > /opt/zookeeper/zkdata/myid
#server.2
echo "2" > /opt/zookeeper/zkdata/myid
#server.3
echo "3" > /opt/zookeeper/zkdata/myid
6.启动服务
命令:/opt/zookeeper/zookeeper-3.4.14/bin/zkServer.sh start
命令:/opt/zookeeper/zookeeper-3.4.14/bin/zkServer.sh status #查看状态

注意:当看见有一台Mode:leader(管理节点) 两台Mode:follower(节点)即为成功
以上就是zookeeper配置完成,接下来配置kafka
1.kafka集群目录准备
命令:mkdir /opt/kafka
命令:mkdir /opt/kafka/kafkalogs
命令:cd /opt/kafka
命令:wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.1/kafka_2.12-2.3.1.tgz #安装包路径
命令:tar -zvxf kafka_2.12-2.3.1.tgz #解包
2.修改配置文件
有三处需要修改



listeners=PLAINTEXT://192.168.100.242:9092 #开启PLAINTEXT认证(用户名和密码认证)确保9092端口能够连接
log.dirs=/opt/kafka/kafkalogs/ #指定kafka日志路径
zookeeper.connect=192.168.100.242:2181,192.168.100.244:2181,192.168.100.245:2181 #指定zookeeper集群路径
[root@testceph kafka]# cat /opt/kafka/kafka_2.12-2.3.1/config/server.properties | egrep -v "^$|^#" #查看所有参数
broker.id=0
listeners=PLAINTEXT://192.168.100.242:9092
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=1
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
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=192.168.100.242:2181,192.168.100.244:2181,192.168.100.245:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
3.拷贝配置好的文件和程序
命令:scp -r /opt/kafka 192.168.100.244:/opt/
命令:scp -r /opt/kafka 192.168.100.245:/opt/
4.其他节点只需修改两处
broker.id=1 #节点id号不能一样
listeners=PLAINTEXT://192.168.100.244:9092 #认证的IP号和自己的主机IP一致


5.运行kafka服务在三个节点
命令:nohup /opt/kafka/kafka_2.12-2.3.1/bin/kafka-server-start.sh /opt/kafka/kafka_2.12-2.3.1/config/server.properties >/dev/null 2>&1 &
6.随便在其中一台节点主机执行
命令:/opt/kafka/kafka_2.12-2.3.1/bin/kafka-topics.sh --create --zookeeper 192.168.100.242:2181,192.168.100.244:2181,192.168.100.245:2181 --replication-factor 1 --partitions 1 --topic test
#通过zookeeper集群创建topics名字test(消息主题:相当于文件系统目录,用于保存消息内容)

命令:/opt/kafka/kafka_2.12-2.3.1/bin/kafka-topics.sh --list --zookeeper 192.168.100.242:2181,192.168.100.244:2181,192.168.100.245:2181
#通过zookeeper集群来查看topics列表(只有刚才创建的test)

7.查看topic状态
命令:/opt/kafka/kafka_2.12-2.3.1/bin/kafka-topics.sh --describe --zookeeper 192.168.100.242:2181,192.168.100.244:2181,192.168.100.245:2181 --topic test
#通过zookeeper集群查看topic状态

有什么做得不对的指正一下,在下不胜感激
知识扩展:
1.如果kafka已经输入过内容,查看内容的命令就是
命令:/opt/kafka/kafka_2.12-2.3.1/bin/kafka-consumer-groups.sh --bootstrap-server 192.168.100.242:9092,192.168.100.244:9092,192.168.100.245:9092 --list groupid
#通过zookeeper集群来查看列表组ID
2.查看具体的消费者group的详情信息,需要给出group的名称
命令:/opt/kafka/kafka_2.12-2.3.1/bin/kafka-consumer-groups.sh --bootstrap-server 192.168.100.242:9092,192.168.100.244:9092,192.168.100.245:9092 --group orderdy030_refund --describe
总结:。。。。。。。。。。。(此处省略一万字)
利用zookeeper部署kafka集群的更多相关文章
- 利用新版本自带的Zookeeper搭建kafka集群
安装简要说明新版本的kafka自带有zookeeper,其实自带的zookeeper完全够用,本篇文章以记录使用自带zookeeper搭建kafka集群.1.关于kafka下载kafka下载页面:ht ...
- Zookeeper、Kafka集群与Filebeat+Kafka+ELK架构
Zookeeper.Kafka集群与Filebeat+Kafka+ELK架构 目录 Zookeeper.Kafka集群与Filebeat+Kafka+ELK架构 一.Zookeeper 1. Zook ...
- zookeeper部署及集群测试
zookeeper部署及集群测试 环境 三台测试机 操作系统: centos7 ; hostname: c1 ; ip: 192.168.1.80 操作系统: centos7 ; hostname: ...
- 搭建zookeeper和Kafka集群
搭建zookeeper和Kafka集群: 本实验拥有3个节点,均为CentOS 7系统,分别对应IP为10.211.55.11.10.211.55.13.10.211.55.14,且均有相同用户名 ( ...
- zookeeper及kafka集群搭建
zookeeper及kafka集群搭建 1.有关zookeeper的介绍可参考:http://www.cnblogs.com/wuxl360/p/5817471.html 2.zookeeper安装 ...
- laravel项目利用twemproxy部署redis集群的完整步骤
Twemproxy是一个代理服务器,可以通过它减少Memcached或Redis服务器所打开的连接数.下面这篇文章主要给大家介绍了关于laravel项目利用twemproxy部署redis集群的相关资 ...
- Docker快速搭建Zookeeper和kafka集群
使用Docker快速搭建Zookeeper和kafka集群 镜像选择 Zookeeper和Kafka集群分别运行在不同的容器中zookeeper官方镜像,版本3.4kafka采用wurstmeiste ...
- 使用Docker快速搭建Zookeeper和kafka集群
使用Docker快速搭建Zookeeper和kafka集群 镜像选择 Zookeeper和Kafka集群分别运行在不同的容器中zookeeper官方镜像,版本3.4kafka采用wurstmeiste ...
- docker下部署kafka集群(多个broker+多个zookeeper)
网上关于kafka集群的搭建,基本是单个broker和单个zookeeper,测试研究的意义不大.于是折腾了下,终于把正宗的Kafka集群搭建出来了,在折腾中遇到了很多坑,后续有时间再专门整理份搭建问 ...
随机推荐
- 请介绍下 adb、ddms、aapt 的作用
adb 是 Android Debug Bridge ,Android 调试桥的意思 ddms 是 Dalvik Debug Monitor Service,dalvik 调试监视服务. aapt 即 ...
- ArcGIS客户端API中加载大量数据的几种解决办法
ArcGIS客户端API中加载大量数据的几种解决办法 2011-03-25 18:17 REST风格的一切事物方兴未艾,ArcGIS Server的客户端API(Javascript/Flex/Sil ...
- python学习笔记:(九)循环(for和while)
在python中循环包括for和while 1.while循环 while 判断条件: statements ----表示:判断条件为真时执行statements,为假不执行 2.for语句 for ...
- Python学习之==>条件判断
1.单条件判断 # 接收输入的值,使用input函数,用input接收输入的值都是string类型的 age = input('请输入你的年龄:') age = int(age) # 类型转换,转换成 ...
- 浅谈Excel开发:二 Excel 菜单系统(转)
编辑器加载中...http://www.cnblogs.com/yangecnu/p/Excel-Menu-System-Introduction.html 在开始Excel开发之前,需要把架子搭起来 ...
- 跨域请求配置 Amazon AWS S3 腾讯云 阿里云 COS OSS 文件桶解决方案以及推荐 Lebal:Research
跨域请求配置 跨域请求指的就是不同的域名和端口之间的访问.由于 ajax 的同源策略影响.跨域请求默认是不被允许的. 使用@font-face外挂字体时,可能遇到跨域请求CROS问题:F12控制台报错 ...
- JS对象基础 闭包等
一.我们知道js的基本数据类型包括:number,boolen,string,null及undefined; 看下面的一段代码: var abcobject = { firstname:" ...
- Docker 镜像的操作
1. 从docker 镜像仓库获取镜像 docker pull [镜像名] 从 docker hub 中查看版本 获取 特定版本 docker pull centos 7.6.1801 2. ...
- (转)Jenkins2.0 Pipeline 插件执行持续集成发布流程 - git -资料 - 不错的文档
1.Jenkins 2.0 的精髓是 Pipeline as Code Jenkins 2.0 的精髓是 Pipeline as Code,是帮助 Jenkins 实现 CI 到 CD 转变的重要角色 ...
- sqlplus语句示例
我们通常所说的DML.DDL.DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql b ...