kafka集群安装

使用的版本

系统:centos6.5 centos6.7

jdk:1.7.0_79

zookeeper:3.4.9

kafka:2.10-0.10.1.0

一.环境准备[只列,不具体写]

1.安装jdk

2.更改机器名

3.添加所有机器的host

二.安装步骤

2.1安装zookeeper

  1. 下载zookeeper安装包 下载地址
  2. 将安装包上传到一台电脑node1上,我放到了 /opt/kafka/
  3. 解压

    cd /opt/kafka/ tar -zxvf zookeeper-3.4.9.tar.gz
  4. 修改配置文件

    vi /opt/kafka/zookeeper-3.4.9/conf/zoo.cfg

    内容为:

    tickTime=2000 dataDir=/opt/kafka/zookeeper-3.4.9/data dataLogDir=/opt/kafka/zookeeper-3.4.9/logs clientPort=2181 initLimit=5 syncLimit=2 server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888
  5. 创建用到的文件夹

    mkdir /opt/kafka/zookeeper-3.4.9/data mkdir /opt/kafka/zookeeper-3.4.9/logs
  6. 生成myid文件

    echo "1" > /opt/kafka/zookeeper-3.4.9/data/myid
  7. 将zookeeper文件夹发到其他机器上

    scp -r /opt/kafka/zookeeper-3.4.9 root@node2:/opt/kafka/zookeeper-3.4.9 scp -r /opt/kafka/zookeeper-3.4.9 root@node3:/opt/kafka/zookeeper-3.4.9
  8. 分别在其他机器上运行

    echo "2" > /opt/kafka/zookeeper-3.4.9/data/myid

    echo "3" > /opt/kafka/zookeeper-3.4.9/data/myid

    要保证每一台的myid文件里的内容都不一样
  9. 在每一台机子上启动zk

    /opt/kafka/zookeeper-3.4.9/bin/zkServer.sh start
  10. 检查zk状况

    /opt/kafka/zookeeper-3.4.9/bin/zkServer.sh status

    如图类似的信息则正常开启

2.2安装kafka

  1. 下载kafka安装包 下载地址
  2. 上传安装包到一台机子上
  3. 解压

    tar -zxvf /opt/kafka/kafka_2.10-0.10.1.0.tgz
  4. 建立kafka日志存放文件夹

    mkdir /opt/kafka/kafka_2.10-0.10.1.0/kafkalogs
  5. 修改配置文件

    vi /opt/kafka/kafka_2.10-0.10.1.0/config/server.properties

    修改内容为:

    # log.dirs=/tmp/kafka-logs log.dirs=/opt/kafka/kafka_2.10-0.10.1.0/kafkalogs # zookeeper.connect=localhost:2181 zookeeper.connect=node1:2181,node4:2181,node8:2181
  6. 将kafka文件夹发到其他机子上

scp -r /opt/kafka/kafka_2.10-0.10.1.0 root@node2:/opt/kafka/kafka_2.10-0.10.1.0 scp -r /opt/kafka/kafka_2.10-0.10.1.0 root@node3:/opt/kafka/kafka_2.10-0.10.1.0

  1. 在其他机器上更改broker.id

    vi /opt/kafka/kafka_2.10-0.10.1.0/config/server.properties

    把broker.id改成其他数字,每台机子不能一样
  2. 启动kafka

    cd /opt/kafka/kafka_2.10-0.10.1.0 bin/kafka-server-start.sh config/server.properties &

    如图类似的信息则正常开启

三.遇到的问题及解决

问题:

A broker is already registered on the path /brokers/ids/0.

解决

配置文件里存在broker.id重复,检查一下每一台的broker.id是否与其他机器的broker.id不一样

问题

Exception in thread "main" java.lang.UnsupportedClassVersionError: kafka/Kafka : Unsupported major.minor version 51.0

解决

jdk版本不对,我用的kafka版本:2.10-0.10.1.0 对应jdk版本:1.7 不能用1.6

问题

ERROR Processor got uncaught exception. (kafka.network.Processor)

java.nio.BufferUnderflowException

解决

客户端的jar包和集群的版本号在小版本不一致,注意客户端的jar包不只要大版本一致,还要小版本完全一致,不一致的时候报的错不只这个.

kafka集群安装部署的更多相关文章

  1. Kafka集群安装部署、Kafka生产者、Kafka消费者

    Storm上游数据源之Kakfa 目标: 理解Storm消费的数据来源.理解JMS规范.理解Kafka核心组件.掌握Kakfa生产者API.掌握Kafka消费者API.对流式计算的生态环境有深入的了解 ...

  2. centos7下kafka集群安装部署

    应用摘要: Apache kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的 分布式发布订阅消息系统,是消息中间件的一种,用于构建实时 ...

  3. Kafka 集群安装部署

    2.1 安装部署 2.1.1 集群规划 192.168.1.102 192.168.1.103 192.168.1.104 zookeeper zookeeper zookeeper kafka ka ...

  4. zookeeper+kafka集群安装之二

    zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装 ...

  5. centos7下zookeeper集群安装部署

    应用场景:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件. 它是一个为分布式应用提供一致性服务的软 ...

  6. HBase集群安装部署

    0x01 软件环境 OS: CentOS6.5 x64 java: jdk1.8.0_111 hadoop: hadoop-2.5.2 hbase: hbase-0.98.24 0x02 集群概况 I ...

  7. zookeeper+kafka集群安装之一

    zookeeper+kafka集群安装之一 准备3台虚拟机, 系统是RHEL64服务版. 1) 每台机器配置如下: $ cat /etc/hosts ... # zookeeper hostnames ...

  8. flink部署操作-flink standalone集群安装部署

    flink集群安装部署 standalone集群模式 必须依赖 必须的软件 JAVA_HOME配置 flink安装 配置flink 启动flink 添加Jobmanager/taskmanager 实 ...

  9. zookeeper+kafka集群安装之中的一个

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/cheungmine/article/details/26678877 zookeeper+kafka ...

随机推荐

  1. Java设计模式——线程安全的单件模式

    单件模式,也称单例模式,用以创建独一无二的.只能有一个实例的对象. 单件模式的类图是所有模式的类图中最简单的--只有一个类.尽管从类设计的视角来看单件模式很简单,但是实现上还是会遇到一些问题,本文着重 ...

  2. JavaScript 9种类型

    Undefined . Null . Boolean . String . Number . Object . Reference .List .Completion

  3. CSS代码规范

    空格 选择器 与 { 之间必须包含空格. 列表型属性值 书写在单行时,, 后必须跟一个空格. 属性名 与之后的 : 之间不允许包含空格, : 与 属性值 之间必须包含空格. margin: 0; .+ ...

  4. 利用BI搭建零售业数据信息平台

    某百货公司是全市规模最大的以零售为主.多元化经营的股份制商业企业.拥有员工数千人,经营国内外品牌2300余种,年商品销售额逾10亿人元. 销售体量如此庞大的企业近几年在IT建设上出现了问题,集团内部的 ...

  5. iOS之数据解析时<null>的处理

    在iOS开发过程中经常需要与服务器进行数据通讯,JSON就是一种常用的高效简洁的数据格式. 问题: 在项目中,一直遇到一个坑的问题,程序在获取某些数据之后莫名崩溃.原因是:由于服务器的数据库中有些字段 ...

  6. 为什么ReactiveCocoa中推荐使用RACSignal来做信号处理而不是RACSubject

    原文解释在这里http://cocoadocs.org/docsets/ReactiveCocoa/0.6.0/ 在标题Creating hot subscribables 底下 先贴原文: The ...

  7. LintCode389.判断数独是否合法

    LintCode简单题:判断数独是否合法 问题描述: 请判定一个数独是否有效. 该数独可能只填充了部分数字,其中缺少的数字用 . 表示. 注意事项: 一个合法的数独(仅部分填充)并不一定是可解的.我们 ...

  8. Myeclipse开发环境下文件中出现的提示错误与解决方法:The import javax.servlet cannot be resolved?

    1.开发工具:MyEclipse 2.右击项目  >>  Build Path  >>  Add External Archives (Tomcat  >>  li ...

  9. SQL Server 2012 新特性:服务角色管理

    数据库角色管理,已经可以使用alter role,create role和drop role. 2012增加了几个ddl语句,可以操作服务级别的角色管理,   CREATE SERVER ROLE 用 ...

  10. Select into 的特点

    使用 Select * into NewTable From OldTable  来生成新表的技能已经使用得好熟练了~但是有些东西还是需要注意一下.下面我就来分享几个栗子 使用select into ...