Zookeeper与Kafka集群搭建

一 :环境准备:

  • 物理机window7 64位
  • vmware 3个虚拟机 centos6.8  IP为:192.168.17.[129 -131]
  • JDK1.7安装配置
  • 各虚拟机之间配置免密登录
  • 安装clustershell用于集群各节点统一操作配置

1 :在此说明一下免密和clustershell的操作和使用方式

1.1 :配置免密登录(各集群节点间,互相操作对方时,只需要输入对方ip或者host即可,不需要输入密码,即:免密登录)

1.1.2 :生成密钥文件和私钥文件 命令

ssh-keygen -t rsa

1.1.3 :查看生成秘钥文件

  ls /root/.ssh

1.1.4 : 将秘钥拷贝到对方机器

  ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.17.129

  ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.17.130

  ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.17.131

1.1.5 :测试互相是否连接上

可以分别在不同节点间互相登录操作一下

 ssh [email protected]

hostname

1.2 : clustershell的安装

  备注一下,我是安装的centos6.6 mini无界面版本,通过yun install clustershell安装时,会提示no package ,原因yum源中的包长期没有更新,所以使用来epel-release

安装命令:

sudo yum install epel-release

然后在yum install clustershell 就可以通过epel来安装了

1.2.2 : 配置cluster groups

  vim /etc/clustershell/groups

  添加一个组名:服务器IP或者host

  kafka:192.168.17.129 192.168.17.130 192.168.17.131

二 :Zookeeper和Kafka下载

本文使用的zookeeper和kafka版本分别为:3.4.8 , 0.10.0.0

1 :首先到官网进行下载:

将压缩包放在自己指定的目录下,我这里放在了/opt/kafka 目录下

然后,通过clush 将压缩包copy到其它几个服务节点中

clush -g  kafka  -c /opt/kafka

2 :通过clush来解压缩所有节点的zk和kafka压缩包

clush -g kafka tar zxvf  /opt/kafka/zookeeper-3.4.8

clush -g kafka tar zxvf /opt/kafka/kafka_2.11-0.10.1.0

3 : 将zoo_sample.cfg 拷贝一份为zoo.cfg   (默认的zookeeper配置文件)

  修改配置,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.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181   ## zk 默认端口

## 节点IP和端口
server.1=192.168.17.129:2888:3888
server.2=192.168.17.130:2888:3888
server.3=192.168.17.131:2888:3888

# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1 

3 : 创建tmp/zookeeper 用来存储zk信息

 mkdir /tmp/zookeeper

4 : 为每个tmp/zookeeper 设置一个myid的文件,内容为节点id 1 or 2 or 3

echo "1" > myid

5 : 关闭防火墙(最好的做法是找运维人员配置防火墙策略,而不是关闭)

clush -g kafka "service iptables status"

clush -g kafka "service iptables stop"

6 :启动所有节点的zookeeper(其它节点也都已经配置来zoo.cfg 和 创建了/tmp/zookeeper myid)

clush -g kafka /opt/kafka/zookeeper/bin/zkServer.sh start /opt/kafka/zookeeper/conf/zoo.cfg

7 : 查看ZK 2181端口是否启动

clush -g kafka lsof -i:2181

8: 测试数据是否同步,创建一个节点test 并给一个值叫 hello

bin/zkCli.sh -server 192.168.17.130:2181

create /test hello

然后分别在其它几台节点查看是否已经创建成功,是否有值

通过 get /test 查看节点下面的值

Ok ,Zookeeper集群已经安装完成,接下来开始部署kafka!!

三 :Kafka安装部署

1 :进入到config -> server.properties

编辑 zookeeper.connection

zookeeper.connect=192.168.17.129:2181,192.168.17.130:2181,192.168.17.131:2181

2 :启动kafka

/opt/kafka/kafka_2.11-0.10.1.0/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.11-0.10.1.0/config/server.properties

3 :创建topic

bin/kafka-topics.sh --zookeeper 192.168.17.129:2181 -topic topicTest --create --partition 3 --replication-factor 2

4 :查看kafka topic

[[email protected] kafka_2.11-0.10.1.0]# bin/kafka-topics.sh --zookeeper 192.168.17.129:2181 -topic topicTest --describe

5 :【测试】启动console-consumer 来订阅消息

bin/kafka-console-consumer.sh --zookeeper 192.168.17.130:2181 --topic topicTest

6 :【测试-打开一个新的终端】启动console-producer 来生产消息

bin/kafka-console-producer.sh --broker-list kafka02:9092 --topic topicTest

7 : 测试发生产消息和订阅者接收消息

注 : kafka和zookeeper中的所有的连接地址最好是通过host:port来配置。 kafka默认是通过hostname来访问的 如果设置是ip的话 ,编辑 /etc/hosts  绑定对应机器的host , 否则启动消费之后,会报警告异常如下:

时间: 2024-11-05 16:22:46

Zookeeper与Kafka集群搭建的相关文章

使用Docker快速搭建Zookeeper和kafka集群

集群搭建 镜像选择 Zookeeper和Kafka集群分别运行在不同的容器中zookeeper官方镜像,版本3.4kafka采用wurstmeister/kafka镜像 集群规划 hostname Ip addr port listener zoo1 172.19.0.11 2184:2181 zoo2 172.19.0.12 2185:2181 zoo3 172.19.0.13 2186:2181 kafka1 172.19.0.14 9092:9092 kafka1 kafka2 172.1

KAFKA集群搭建

一.简介 Kafka是Apache下的一个子项目,是一个高性能跨语言分布式发布/订阅消息队列系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spark都支持与Kafka集成.   Kafka适合做什么? 官方文档介绍,它通常被使用在两大类应用中: 搭建实时数据流管道,在系统或应用之间可靠的获取数据 搭建对数据流进行转换或相应的实时流应用程序.   为了了解Kafka具体如何实现这些功能, 首先理解几个概

kafka集群搭建和使用Java写kafka生产者消费者

 kafka集群搭建 Java代码   1.zookeeper集群  搭建在110, 111,112 2.kafka使用3个节点110, 111,112 修改配置文件config/server.properties broker.id=110 host.name=192.168.1.110 log.dirs=/usr/local/kafka_2.10-0.8.2.0/logs 复制到其他两个节点,然后修改对应节点上的config/server.pro 3.启动,在三个节点分别执行 bin/kaf

kafka学习(三)-kafka集群搭建

kafka集群搭建 下面简单的介绍一下kafka的集群搭建,单个kafka的安装更简单,下面以集群搭建为例子. 我们设置并部署有三个节点的 kafka 集合体,必须在每个节点上遵循下面的步骤来启动 kafka 服务器,kafka集群需要依赖zookeeper集群,上一篇已经说道了zookeeper的搭建,方法请参考:http://www.cnblogs.com/chushiyaoyue/p/5615267.html 1.环境准备 测试服务器(2n+1)奇数台 192.168.181.128 ce

Kafka【第一篇】Kafka集群搭建

Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户的搜索关键词进行统计,分析出当前的流行趋势 有些数据,存储数据库浪费,直接存储硬盘效率又低 这些场景都有一个共同点: 数据是又上游模块产生,上游模块,使用上游模块的数据计算.统计.分析,这个时候就可以使用消息系统,尤其是分布式消息系统! 2.Kafka的定义 What is Kafka:它是一个分布

消息队列之kafka(集群搭建)

1.kafka集群搭建   kafka安装包下载地址: 官网网址:http://kafka.apache.org/quickstart 中文官网:http://kafka.apachecn.org/quickstart.html 在 windows 平台,从官网下载:http://mirrors.hust.edu.cn/apache/kafka/1.1.0/ 在 centos 平台:wgethttp://mirrors.hust.edu.cn/apache/kafka/1.1.0/kafka_2

[Golang] kafka集群搭建和golang版生产者和消费者

一.kafka集群搭建 至于kafka是什么我都不多做介绍了,网上写的已经非常详尽了. 1. 下载zookeeper  https://zookeeper.apache.org/releases.html 2. 下载kafka http://kafka.apache.org/downloads 3. 启动zookeeper集群(我的示例是3台机器,后面的kafka也一样,这里就以1台代指3台,当然你也可以只开1台) 1)配置zookeeper. 修改复制一份 zookeeper-3.4.13/c

Linux下kafka集群搭建过程记录

环境准备 zookeeper集群环境kafka是依赖于zookeeper注册中心的一款分布式消息对列,所以需要有zookeeper单机或者集群环境. 三台服务器: 172.16.18.198 k8s-n1 172.16.18.199 k8s-n2 172.16.18.200 k8s-n3 下载kafka安装包 http://kafka.apache.org/downloads 中下载,目前最新版本的kafka已经到2.2.0,我这里之前下载的是kafka_2.11-2.2.0.tgz. 安装ka

zookeeper+KAFKA 集群搭建

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名服务.分布式同步.集群管理等. 因为Kafka集群是把状态信息保存在Zookeeper中的,并且Kafka的动态扩容是通过Zookeeper来实现的,所以需要优先搭建Zookeerper集群,建立分布式状态管理.开始准备环境,搭建集群: zookeeper是基于Java环境开发