之前写过kafka_2.9.2-0.8.2.2版本的安装,kafka在新的0.9版本以上改动比较大,配置和api都有很大更新,并且broker对应的partition支持多线程生产和消费,所以性能比之前好得多,比如老版本的kafka单机每秒可以推送100条数据,但是新版的可以每秒推送达到上千条数据,多节点的性能提升非常大,下面是具体的安装过程

  访问Apache Kafka官网下载安装包,地址:http://kafka.apache.org/

  点击download按钮,进入版本选择,这里选择0.9.0.1版本的基于Scala 2.11的kafka_2.11-0.9.0.1.tgz安装包

  注意不要安装0.9.0.0的版本,这个版本存在问题,并且已经在0.9.0.1中得到修复

  

  安装kafka集群之前,确保zookeeper服务已经正常运行,这里3台zookeeper准备工作都已完成,三台主机分别为:linux1,linux2,linux3,接下来在linux1主节点上执行释放并做软链:

tar -xvzf kafka_2.-0.9.0.1.tgz
mv kafka_2.-0.9.0.1 /bigdata/
cd /bigdata/
ln -s kafka_2.-0.9.0.1 kafka
cd kafka

  接下来执行 vim config/server.properties 编辑配置文件

  修改broker.id=1,默认是0

  

这个值是集群中唯一的一个整数,每台机器各不相同,这里linux1设置为1其他机器后来再更改

  然后往下找到listeners这个配置项一般配置PLAINTEXT://ip:9092,如果配置0.0.0.0则绑定全部网卡,如果默认像下面这样,kafka会绑定默认的所有网卡ip,一般在机器中hosts,hostname都要正确配置,这里默认即可;然后下面的port默认9092不用配置,如果自定义端口号需要设置和listeners的一致,这个是kafka服务监听的端口号.

  

  注意另外有一些advertised开头的参数,这些参数可以提供客户端访问的配置,比如advertised.listeners会覆盖listeners配置效果和listeners配置完全一样,但是客户端访问时会通过配置的参数访问zookeeper,另外还有advertised.host.name参数,这个也是指定客户端获取元数据的zookeeper主机,默认情况下如果这些参数不配置,那么客户端访问时hosts必须配置kafka集群的地址映射,否则直接会找不到对应的主机,但是advertised.host.name配置之后,客户端可以直接使用ip地址就可以生产或消费kafka,kafka会自动返回advertised.host.name的值供客户端使用,注意这里advertised.host.name一定要设置为ip地址,而不是主机名因为kafka会原样返回;这些就是advertised参数的区别和用途,生产环境中根据需要进行配置即可

  然后配置kafka日志目录,注意目录要提前建好

  

  然后下面num.partitions是默认单个broker上的partitions数量,默认是1个,如果想提高单机的并发性能,这里可以配置多个

  

  然后是kafka日志的保留时间,单位小时,默认是168小时,也就是7天

  

  注意之前有个log.cleaner.enable表示是否清理日志,这个配置在新版本已经废弃了,也就是日志必须是需要清理的,可以通过上面的保留时间参数或者通过字节大小来控制

  然后设置协调的zookeeper集群列表,然后指定了Kafka在zookeeper上创建的znode为/kafka,

  

  最后一项配置,默认即可

  

  这个表示连接zookeeper服务器的超时时间,以上设置都完毕,保存配置并退出,然后将kafka目录发送至其他主机

scp -r kafka_2.-0.9.0.1 linux2:/bigdata/
scp -r kafka_2.-0.9.0.1 linux3:/bigdata/

  这样就发送到了linux2和linux3这两台主机,然后依次修改linux2和linux3中config/server.properties配置文件中broker.id分别为2和3并保存

  最后对三个节点都要创建日志目录: mkdir /bigdata/kafka_logs 并且根据需要创建软链接,完成之后kafka集群就安装完毕了,

  然后启动所有主机的kafka服务,分别进入kafka目录,执行下面命令启动服务:

bin/kafka-server-start.sh -daemon config/server.properties

  新版本的kafka无需使用nohup挂起,直接使用-daemon参数就可以运行在后台,启动后通过jps查看有Kafka进程就启动成功,对于创建topic,生产,消费操作和之前基本都是一样的,停止同样执行bin/kafka-server-stop.sh即可

Kafka集群搭建 (2.11-0.9.0.1)的更多相关文章

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

    1 kafka集群搭建 1.zookeeper集群  搭建在110, 111,112 2.kafka使用3个节点110, 111,112 修改配置文件config/server.properties ...

  2. Kafka【第一篇】Kafka集群搭建

    Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...

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

    kafka集群搭建 下面简单的介绍一下kafka的集群搭建,单个kafka的安装更简单,下面以集群搭建为例子. 我们设置并部署有三个节点的 kafka 集合体,必须在每个节点上遵循下面的步骤来启动 k ...

  4. 【转】kafka集群搭建

    转:http://www.cnblogs.com/luotianshuai/p/5206662.html Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否 ...

  5. zookeeper与Kafka集群搭建及python代码测试

    Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...

  6. kafka集群搭建文档

    kafka集群搭建文档 一. 下载解压 从官网下载Kafka,下载地址http://kafka.apache.org/downloads.html 注意这里最好下载scala2.10版本的kafka, ...

  7. Zookeeper + Kafka 集群搭建

    第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. 安装包 kafka_2.12-0.10.2.0.tgz zookeeper-3.4.9.tar.gz ...

  8. 大数据 --> Kafka集群搭建

    Kafka集群搭建 下面是以三台机器搭建为例,(扩展到4台以上一样,修改下配置文件即可) 1.下载kafka http://apache.fayea.com/kafka/0.9.0.1/ ,拷贝到三台 ...

  9. 消息队列kafka集群搭建

    linux系统kafka集群搭建(3个节点192.168.204.128.192.168.204.129.192.168.204.130)    本篇文章kafka集群采用外部zookeeper,没采 ...

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

    一.kafka集群搭建 至于kafka是什么我都不多做介绍了,网上写的已经非常详尽了. 1. 下载zookeeper  https://zookeeper.apache.org/releases.ht ...

随机推荐

  1. python之collection模块

    collections模块 一.总览 在内置数据类型(int.float.complex.dict.list.set.tuple)的基础上, collections模块还提供了几个额外的数据类型:Co ...

  2. Oracle 查看链接数、创建索引等的DDL语句

    select count(*),machine from v$session group by machine 今天打算将一个数据库的索引在另一个测试库上重新创建一遍,研究了一下. set pages ...

  3. JS学习笔记Day11

    一.什么是事件对象(黑匣子) (一)事件: onclick ondblclick (二)当绑定对象的事件被触发时,所发生的所有详细信息都会保存在一个地方,这个地方称为事件对象 二.如何获取事件对象 ( ...

  4. 微服务之路由网关—Nginx

    Nginx 简介Nginx 是一款自由的.开源的.高性能的 HTTP 服务器和反向代理服务器,它具有有很多非常优越的特性: • 作为 Web 服务器:  相比 Apache , Nginx 使用更少的 ...

  5. [物理学与PDEs]第3章第1节 等离子体

    1.  磁流体力学研究等离子体这种导电流体在电磁场中的运动. 2.  任何物质由于 $T, p$ 等条件的不同而可以处于固态.液态.气态 (常见的三种聚集态) 或等离子体. 3.  等离子体就是电离气 ...

  6. 运维工作笔记——基于centos7.3的多台服务期时间同步

    1. 确认服务器版本 2.查看本机时间 3.可以同过date进行时间更改 4.yum安装ntp服务(服务端与客户端都需要安装)       yum install -y ntp 5.在服务端192.1 ...

  7. div宽高不确定,内容居中

    当div的宽高不确定时候,内容居中:// 加在父级div中 垂直居中:align-items:center; display: -webkit-flex;水平居中:justify-content:ce ...

  8. LOJ #556. 「Antileaf's Round」咱们去烧菜吧

    好久没更博了 咕咕咕 现在多项式板子的常数巨大...周末好好卡波常吧.... LOJ #556 题意 给定$ m$种物品的出现次数$ B_i$以及大小$ A_i$ 求装满大小为$[1..n]$的背包的 ...

  9. vue知多少,你对vue的认识比别人高在哪?

    1.beforeCreated/created区别? beforeCreated钩子能干什么 2.data中使用props 3.get/set依赖收集 get收集依赖(观察者) set 观察者重新求值 ...

  10. Windows下VSCode编译调试c/c++

    参考链接:  https://blog.csdn.net/c_duoduo/article/details/51615381 支持makefile编译: https://www.cnblogs.com ...