kafka集群安装部署
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
- 下载zookeeper安装包 下载地址
- 将安装包上传到一台电脑node1上,我放到了
/opt/kafka/下 - 解压
cd /opt/kafka/ tar -zxvf zookeeper-3.4.9.tar.gz - 修改配置文件
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 - 创建用到的文件夹
mkdir /opt/kafka/zookeeper-3.4.9/data mkdir /opt/kafka/zookeeper-3.4.9/logs - 生成myid文件
echo "1" > /opt/kafka/zookeeper-3.4.9/data/myid - 将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 - 分别在其他机器上运行
echo "2" > /opt/kafka/zookeeper-3.4.9/data/myid
echo "3" > /opt/kafka/zookeeper-3.4.9/data/myid
要保证每一台的myid文件里的内容都不一样 - 在每一台机子上启动zk
/opt/kafka/zookeeper-3.4.9/bin/zkServer.sh start - 检查zk状况
/opt/kafka/zookeeper-3.4.9/bin/zkServer.sh status
如图类似的信息则正常开启

2.2安装kafka
- 下载kafka安装包 下载地址
- 上传安装包到一台机子上
- 解压
tar -zxvf /opt/kafka/kafka_2.10-0.10.1.0.tgz - 建立kafka日志存放文件夹
mkdir /opt/kafka/kafka_2.10-0.10.1.0/kafkalogs - 修改配置文件
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 - 将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
- 在其他机器上更改broker.id
vi /opt/kafka/kafka_2.10-0.10.1.0/config/server.properties
把broker.id改成其他数字,每台机子不能一样 - 启动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集群安装部署的更多相关文章
- Kafka集群安装部署、Kafka生产者、Kafka消费者
Storm上游数据源之Kakfa 目标: 理解Storm消费的数据来源.理解JMS规范.理解Kafka核心组件.掌握Kakfa生产者API.掌握Kafka消费者API.对流式计算的生态环境有深入的了解 ...
- centos7下kafka集群安装部署
应用摘要: Apache kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的 分布式发布订阅消息系统,是消息中间件的一种,用于构建实时 ...
- Kafka 集群安装部署
2.1 安装部署 2.1.1 集群规划 192.168.1.102 192.168.1.103 192.168.1.104 zookeeper zookeeper zookeeper kafka ka ...
- zookeeper+kafka集群安装之二
zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装 ...
- centos7下zookeeper集群安装部署
应用场景:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件. 它是一个为分布式应用提供一致性服务的软 ...
- HBase集群安装部署
0x01 软件环境 OS: CentOS6.5 x64 java: jdk1.8.0_111 hadoop: hadoop-2.5.2 hbase: hbase-0.98.24 0x02 集群概况 I ...
- zookeeper+kafka集群安装之一
zookeeper+kafka集群安装之一 准备3台虚拟机, 系统是RHEL64服务版. 1) 每台机器配置如下: $ cat /etc/hosts ... # zookeeper hostnames ...
- flink部署操作-flink standalone集群安装部署
flink集群安装部署 standalone集群模式 必须依赖 必须的软件 JAVA_HOME配置 flink安装 配置flink 启动flink 添加Jobmanager/taskmanager 实 ...
- zookeeper+kafka集群安装之中的一个
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/cheungmine/article/details/26678877 zookeeper+kafka ...
随机推荐
- 《Javascript、jQuery获取各种屏幕的宽度和高度方法》
Javascript获取屏幕宽度和高度方法: document.body.clientWidth; //网页可见区域宽 document.body.clientHeight; //网页可见区域高 do ...
- canvas学习之API整理笔记(二)
前面我整理过一篇文章canvas学习之API整理笔记(一),从这篇文章我们已经可以基本了解到常用绘图的API.简单的变换和动画.而本篇文章的主要内容包括高级动画.像素操作.性能优化等知识点,讲解每个知 ...
- 看看C# 6.0中那些语法糖都干了些什么(中篇)
接着上篇继续扯,其实语法糖也不是什么坏事,第一个就是吃不吃随你,第二个就是最好要知道这些糖在底层都做了些什么,不过有一点 叫眼见为实,这样才能安心的使用,一口气上五楼,不费劲. 一:字符串嵌入值 我想 ...
- js动态添加事件-事件委托
作者:白狼 出处:http://www.manks.top/javascript-dynamic-event.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给 ...
- [Erlang 0113] Elixir 编译流程梳理
注意:目前Elixir版本还不稳定,代码调整较大,本文随时失效 之前简单演示过如何从elixir ex代码生成并运行Erlang代码,下面仔细梳理一遍elixir文件的编译过程,书接上文,从 ...
- 什么是JS事件冒泡?
什么是JS事件冒泡?: 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理 程序或者事件返回true,那么 ...
- webform(八)——LinQ简单增、删、改、查
一.简单介绍 1.LinQ to Sql类(NET Language Integrated Query (LINQ) ) LINQ定义了大约40个查询操作符,如select.from.in.where ...
- [MySQL Reference Manual] 23 Performance Schema结构
23 MySQL Performance Schema 23 MySQL Performance Schema 23.1 性能框架快速启动 23.2 性能框架配置 23.2.1 性能框架编译时配置 2 ...
- Oracle组合索引与回表
回表 简单来说就是数据库根据索引找到了指定的记录所在行后,还需要根据rowid再次到数据块里取数据的操作. "回表"一般就是指执行计划里显示的"TABLE ACCESS ...
- bash编程之多分支if 语句及for循环
第十七章.bash编程之多分支if 语句及for循环 if语句三种格式 多分支if语句练习 for循环 17.1.if语句的三种格式 单分支if语句 if condition;then 条件为真执行的 ...