Kafka数据迁移至nfs

打印 上一主题 下一主题

主题 1860|帖子 1860|积分 5580

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Zookeeper Kafka部署

硬件环境信息表

  1. IP 192.168.40.10
  2. IP 192.168.40.11
  3. IP 192.168.40.12
  4. IP 192.168.40.13    //nfs使用
  5. 部署路径:/usr/local
  6. Cpu内存: 4C/16G
  7. 磁盘:200G
复制代码
应用安装目录布局

zookeeper

zookeeper在单机环境部署了3个实例,历程侦听端口分别为2184、2185、2186,myid分别为3、4、5。
kafka

kafka在单机环境部署了3个实例,历程侦听端口分别为9092、9093、9094,broker id分别为0、1、2。
zookeeper集群节点

   zookeeper的运行模式有standalone和replicated两种模式。
zookeeper集群的角色有Leader、follower和Observer。
  Leader作为整个ZooKeeper集群的主节点,负责响应所有对ZooKeeper状态变更的哀求,它会将每个状态更新哀求进行排序和编号,以便包管整个集群内部消息处理的FIFO。
Follower响应本服务器上的读哀求外,处理leader的发起,并在leader提交该发起时在本地也进行提交。
Observer和Follower比力相似,只有一些小区别:首先observer不属于法定人数,不到场推举也不响应发起;其次是observer不必要将事务持久化到磁盘,一旦observer被重启,必要从leader重新同步整个名字空间。假如ZooKeeper集群的读取负载很高,大概客户端多到跨机房,可以设置一些observer服务器,以提高读取的吞吐量。
另外必要注意的是,leader和follower构成ZooKeeper集群的法定人数,也就是说,只有他们才到场新leader的推举、响应leader的发起。
zookeeper集群模式部署,因其分布式机制中的leader投票推举算法因素,为了包管Zookeeper本身的Leader投票推举顺利进行,通常将Server部署为奇数个,并且只答应不外半的节点数停机,若需容忍n个Server的失败,zookeeper集群必须至少包管有2n+1个Server节点。
当前zookeeper集群部署为replicated模式,节点数为3个。
kafka集群节点

本次测试的kafka集群节点数为3个,分布式模式部署运行,一个kafka集群由多个kafka实例组成,每个kafka实例就是一个broker,每个broker有一个唯一的broker id,zookeeper来推举出一个broker成为kafka集群中的leader,kafka集群的broker、producer、consumer、topic、partition、isr也依赖于zookeeper来生存meta信息来包管集群系统可用性。
部署 NFS 存储

NFS 存储主要是为了给 Kafka、ZooKeeper 提供稳固的后端存储,当 Kafka、ZooKeeper 的 Pod 发生故障重启或迁移后,依然能得到原先的数据。
另外我们会在nfs创建zookeeper kafka的存储目录。
安装 NFS

这里我选择13这个节点创建 NFS 存储,首先实行如下命令安装 NFS:
  1. yum -y install nfs-util
  2. s
  3. yum -y install rpcbind
复制代码
创建共享文件夹

编辑 /etc/exports 文件:
  1. vi /etc/exports
  2. /usr/local/kafka/pv1 *(rw,sync,no_root_squash)
  3. /usr/local/kafka/pv2 *(rw,sync,no_root_squash)
  4. /usr/local/kafka/pv3 *(rw,sync,no_root_squash)
  5. /usr/local/zookeeper/pv1 *(rw,sync,no_root_squash)
  6. /usr/local/zookeeper/pv2 *(rw,sync,no_root_squash)
  7. /usr/local/zookeeper/pv3 *(rw,sync,no_root_squash)
复制代码
生存退出后实行如下命令重启服务:
  1. systemctl restart rpcbind
  2. systemctl restart nfs
  3. systemctl enable nfs
复制代码
实行exportfs -v 命令可以显示出所有的共享目录:
而其他的 zookeeper kafka节点上必要实行如下命令安装 nfs-utils 客户端:
  1. yum -y install nfs-util
复制代码
迁移步调

因为kafka zookeeper数据存储在本地,nfs服务端存储目录挂载到本地,只必要把本地数据目录分别拷贝到nfs相应数据目录即可,迁移即可完成。
迁移后再做kafka的生产消费测试,生产和消费乐成。
再消费和查询汗青数据,也可以消费到和查询到,证明迁移乐成。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

石小疯

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表