OpenStack 上搭建 Kafka 集群

  • 时间:
  • 浏览:4
  • 来源:大发5分排列3_大发5分排列3官方

Kafka 目前专注于消息处里方面的功能,大帕累托图你你这类能力一定会靠内外部组件来实现的,比如搭建集群就才能 依赖于 zookeeper,鉴权则用到了 Kerberos 和 SASL。好多好多 第一步自然是要搭建 zookeeper 了。

首先要先修改 hostname

后会 修改 hosts 文件,当然下面文件的内容是根据前面给出的配置信息进行填写的,许多人才能 根据另一方服务器的 IP 和实际主机名进行对应修改。

要保证 Kafka 才能每次虚拟机重启后都能自动启动,后会 服务失败后,也会尝试重启,就要使用 systemd 来进行管理了,上加如下文件,并重启 Kafka。

在 OpenStack 环境下使用 Kafka 集群必然不需只是装好了就完事,好多好多 才能 把 Kafka 做成模板镜像,能才能自动化的启动。经过顶端的安装步骤,许多人可能性有了可用的 Kafka 虚拟机,虚拟机做快照,后会 上传成镜像即可,接下来看看在镜像启后何如修改 Kafka 实例的信息,让其组成集群。下面你你这类 shell 脚本能才能实现在启动时修改个性化信息的作用,才能 在 OpenStack 启动实例时,通过 CloutInit 注入到虚拟机实例中。才能 提前将该脚本上放虚拟机的 /usr/bin/ 目录下,调用土方法 如下:

可能性 Kafka 配置了密码,Kafka 的客户端连接 broker 只是需要 设置响应的密码,好多好多 consumer 和 producer 的配置里也要上加什么信息才能正常使用。

重启 zookeeper 完成配置:

接下来要修改 zookeeper 的配置信息,第一步是要修改 zoo.cfg 中完整版 zookeeper 器群服务器的地址信息。下面配置中的 kafka-* 这帕累托图才能 根据许多人的环境信息替换为主机名或主机 IP。

运行以下命令查看 Kafka broker 节点列表,可能性显示如下,证明可能性另有三个白节点都可能性运行成功了。

虚拟机信息:

下载后解压,并上放 zookeeper 的安装目录:

最近在 OpenStack 环境下才能 部署消息队列集群,包括 RabbitMQ 和 Kafka,这篇记述一下 Kafka 集群的部署过程。

解释一下顶端命令参数的含义:

Kafka 当然要配置用户名密码,设置土方法 和顶端的 zookeeper 这类。先来讲讲 jaas.conf 文件:

在进行 Kafka 和 zookeeper 集群配置之才能 先做你你这类服务器的基础配置,主好多好多 主机名的修改。

zookeeper 的默认 systemd service 是自动生成的,为了实现 zookeeper service 启动失败后,能才能自动重试,才能 对配置文件做些修改。

该脚本支持启动多于多于个节点的 Kafka 实例自动创建,最大值限制为 10 个节点,假如有一天资源足够,才能才能放宽上限的限制。

jaas 文件配置好后,server.properties 文件也要做对应的修改:

最后修改还才能 修改 environment 文件,来加载时候的 jar 文件和 jaas.conf 文件。

zookeeper 为了实现 SASL 功能,才能 引入你你这类 JAR 包,我把什么文件上传到了百度云盘,许多人能才能通过你你这类链接进行下载:

zookeeper-sasl-jar.tar.gz

Kafka

Kafka 才能集成到 APT 中,好多好多 从 Kafka 的官方下载地址下载即可,另外国内的化,改用清华的镜像源会快好多好多 (下面的例子中用的好多好多 清华的下载源)。

接下来配置服务器设置,主要有两点才能 注意:

完成基本配置后 zookeeper 就能才能正常使用了,但现象是假如有一天能访问到 zookeeper 的端口,谁都能才能使用,才能校验机制,这是不可接受的。zookeeper 和 kafka 提供了四种 安全验证机制:SSL 和 SASL,本文中使用的是 SASL,安全性上应该是 SSL 更好,不过 SASL 配置起来相对简单,好多好多 暂时选择了 SASL。

当然 Kafka 是自带 Zookeeper 的,可能性用自带 Zookeeper 的土方法 ,能才能实现单节点的 Kafka 集群,但本文讨论的是集群环境,好多好多 不完整版描述单节点的部署土方法 。

本文所用的环境包括:

再非别启动 consumer 和 producer,在 producer 启动后再次出现的命令行中输入你你这类信息,consumer 中能正常读取到,才能就证明 Kafka 的基本功才能现象了。

接下来上加 jaas.conf 文件:

软件版本

最后验证一下 zookeeper 集群算不算正常运行,在三台服务器上分别执行执行脚本 zkServer.sh,集群中应该有显示为 leader,一定会显示为 follower 的服务器。

注意:可能性用到了多台服务器,好多好多 以下操作步骤如无特殊说明,才能 在完整版三台虚拟机上执行。

另外 Kafka 的版本查看也颇为个性,一不留神就弄错了。Kafka 是没另有三个白 $ kafka --version 这类的命令可用,版本完整版好多好多 看下载的 Kafka 安装包:kafka_2.11-2.0.0.tgz ,这顶端另有三个白数字,2.112.0.0,其中 2.11 是 Scala 的版本,2.0.0 才是 Kafka 的版本,许多人一定要留意。

最后会修改 /etc/zookeeper/conf/myid,你你这类文件好多好多 集群的中的特殊标识,一般来讲,三台服务器的集群,三台服务器分别使用 1、2、3 就能才能了。好多好多 为了处里许多人配置错误,下面把三台服务器的配置示例都贴了上来。

到这里 zookeeper 的基本配置就完成了。

Kafka 也是要在完整版三台服务器上一定会安装,好多好多 才能特殊说明,本节的所有操作在所有节点上一定会做。

未必要用另有三个白虚拟机,是可能性 Zookeeper 集群才能 大概 另有三个白节点才能正常工作,好多好多 zookeeper 的安装步骤当然是所有三台上一定会执行。Zookeeper 用的是 Ubuntu 16.04 的默认版本,好多好多 许多人再去安装时,能才能版本对不上,你你这类定会现象,基本步骤应该没什么变化。

后会 修改 zoo.cfg 文件:

Kafka 集群可能性就绪,接下来我要们用自带的 consumer 和 producer 客户端实际测试一下,看看 Kafka 能才能正常工作。先来创建另有三个白名为 test 的 topic。