激动无比,终于成功搭建了一套集群的kafka,记录下我的搭建步骤,供大家参考,如有不对,请指正:

1.集群搭建

首先搭建一个一主三从(或一主两从)的集群,

2.配置jdk环境

需要是jdk8的包

我的是ubuntu14,需要预选准备jdk包,然后解压配置环境变量

路径:/usr/local/jdk

解压:tar -zxvf jdk-8u191-linux-x64.tar.gz

配置环境变量

编辑/etc/profile:vi /etc/profile

设置:

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_191

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

更新配置生效:source /etc/profile

无效解决方法:

检查~/.profile 和~/.bashrc 文件是否有环境变量配置存在,

(~/.bashrc ~/.profile /etc/profile)前两个是当前用户的配置,后面是系统配置,集群中的服务器配置相同

卸载jdk:

卸载:

$ sudo apt-get autoremove default-jdk

如果不能卸载干净,用下面的方法彻底卸载:

1、卸载JDK

$ sudo apt-get update

$ sudo apt-cachesearch java | awk '{print($1)}' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e'^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)'-e 'java-common' | xargs sudo apt-get -y remove

$ sudo apt-get -yautoremove

2、清除配置信息:

$ dpkg -l | grep ^rc | awk '{print($2)}' |xargs

$ sudo apt-get -y purge

3、清除java配置及缓存:

$ bash -c 'ls -d /home/*/.java' | xargs

$ sudo rm -rf

4、手动清除JVMs:

$ rm -rf /usr/lib/jvm/*

依次配置其他三台jdk

3.zookeeper安装

搭建zookeeper,zookeeper可以自行搭建也可以使用kafka内置zookeeper,我这里使用的是单独搭建的zookeeper

下载安装

下载安装包到指定目录

wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz

解压:tar -zxvf zookeeper-3.4.13.tar.g

编辑配置

进入conf目录下:

配置环境变量前先复制一份zoo.cfg:cp zoo_sample.cfg zoo.cfg

编辑文件zoo.cfg:vi zoo.cfg

设置

#数据目录

dataDir=/usr/local/zookeeper/data

#日志目录

dataLogDir=/usr/local/zookeeper/data/log

#集群配置,四台设备的ip

server.1=192.168.56.100:2888:3885

server.2=192.168.56.101:2888:3886

server.3=192.168.56.102:2888:3887

server.4=192.168.56.103:2888:3888

保存退出

最后指定myid,放在dataDir=/usr/local/zookeeper/data目录下

切换到数据所在目录下:cd /usr/local/zookeeper/data

设置myid:echo '1' >myid #从1开始

安装其他三台

其中myid顺序配置

启动

依次在四台机执行启动:/usr/local/zookeeper/zookeeper-3.4.13/bin/zkServer.sh  start

查看状态:/usr/local/zookeeper/zookeeper-3.4.13/bin/zkServer.sh  status

停止:/usr/local/zookeeper/zookeeper-3.4.13/bin/zkServer.sh  stop

4.Kafka安装

下载启动

下载安装包到指定目录:wget http://mirror.bit.edu.cn/apache/kafka/2.2.1/kafka_2.12-2.2.1.tgz

解压:tar -zxvf kafka_2.12-2.2.1.tgz

新建日志目录:mkdir kafkalogs

编辑配置

进入到配置目录:cd config

编辑配置文件:vi server.properties

设置

#每个节点的broker.id 都不能相同,从0开始这是,后面其他三台依次配置1、2、3

broker.id=0

#默认PLAINTEXT://:9092

listeners=PLAINTEXT://:9092

#设置为主机名

advertised.listeners=PLAINTEXT://master:9092

#配置日志目录

log.dirs=/usr/local/kafka/kafkalogs

#设置zookeeper的连接信息,多个zookeeper用,分隔

zookeeper.connect=master.local:2181,slave-2.local:2181,slave-2.local:2181

#设置可以删除topic,末尾加入

delete.topic.enable=true

安装其他三台

其中broker.id顺序配置

启动

依次在四台机执行启动:前台启动,可以直接看到启动执行的日志:

/usr/local/kafka/kafka_2.12-2.2.1/bin/kafka-server-start.sh  /usr/local/kafka/kafka_2.12-2.2.1/config/server.properties

后台启动:

/usr/local/kafka/kafka_2.12-2.2.1/bin/kafka-server-start.sh  /usr/local/kafka/kafka_2.12-2.2.1/config/server.properties &

查看状态:jps

关闭zookeeper:/usr/local/kafka/kafka_2.12-2.2.1/bin/kafka-server-stop.sh

最新文章

  1. 【转】Android 底层开发的几点
  2. kprobe原理解析(二)
  3. Python基础第一篇
  4. LinearLayout属性baselineAligned的作用及baseline
  5. (转)扩展jquery easyui datagrid 之动态绑定列和数据
  6. windows的iis做后门,隐藏访问,无日志<转>
  7. Context Menu on DataGrid
  8. Android中用PULL解析XML
  9. Android基础笔记(十四)- 内容提供者读取联系人
  10. 十个最值得阅读学习的C开源项目代码
  11. There is no result type defined for type 'json' mapped with name 'success'. Did you mean 'json'?
  12. 面试被问烂的 Spring IOC(求求你别再问了)
  13. Django 提交 form 表单
  14. Python简单的多线程demo:常用写法
  15. JS-词法作用域 作用域链
  16. 乐观锁vs悲观锁, 集群vs分布式 , 微服务, 幂等性
  17. springboot 集成 jpa/hibernate
  18. ExtJS学习之MessageBox
  19. python分支语句
  20. python-day46--前端基础之html

热门文章

  1. linux ab压力测试
  2. 测试tensorflowgpu版本是否可用
  3. linux命令学习记录
  4. PHPExcel笔记
  5. HDU | Friend Chains-4460 SPFA
  6. django缓存优化(二)
  7. 1208E Let Them Slide
  8. 刚性方程 Stiff equation
  9. Django 前戏
  10. day38—JavaScript的运动基础-匀速运动