激动无比,终于成功搭建了一套集群的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

kafaka环境搭建的更多相关文章

  1. Kafaka高可用集群环境搭建

    zk集群环境搭建:https://www.cnblogs.com/toov5/p/9897868.html 三台主机每台的Java版本1.8 下面kafka集群的搭建:  3台虚拟机均进行以下操作:  ...

  2. 【入门教程】kafka环境搭建以及基础教程

    问题导读 1.Kafka独特设计在什么地方?2.Kafka如何搭建及创建topic.发送消息.消费消息?3.如何书写Kafka程序?4.数据传输的事务定义有哪三种?5.Kafka判断一个节点是否活着有 ...

  3. Kafka单机Windows环境搭建

    Kafka单机Windows环境搭建 1,安装jdk1.8:安装目录不能有中文空格: 2,下载zookeeper,https://mirrors.cnnic.cn/apache/zookeeper/z ...

  4. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  5. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  6. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  7. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  8. springMVC初探--环境搭建和第一个HelloWorld简单项目

    注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...

  9. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

随机推荐

  1. ps:图层知识

    如果我们要改变下左图上方的蓝色小球位置,就需要先创建一个符合小球大小的选区,这并不困难,可以使用椭圆选框工具来创建一个正圆的选区(可通过[空格 CTRL 单击图像]放大图像).之后使用移动工具移动选区 ...

  2. generator (2)

    generator 的使用 第一次调用next  时  传参没有任何意义  打印不出来任何结果 function * read(){ let a = yield 1; console.log(a); ...

  3. How to permanently set $PATH on Linux/Unix?

    You need to add it to your ~/.profile or ~/.bashrc file. export PATH=$PATH:/path/to/dir Depending on ...

  4. python学习笔记(十四)加密模块

    import hashlib ybq_pwd='bugaosuni' m=hashlib.md5() bytes_ybq=ybq_pwd.encode()#把字符串转成bytes类型,中文字符在Pyt ...

  5. Xcode之增加环境变量(多种环境区分)

    序言: Xcode默认有DEBUG何RELEASE模式,如果我们在项目中想增加预发布环境或者再增加多个环境呢?如果在项目中用if else 弄个全局变量来控制,每次打包之前去手动修改,这样不仅繁琐,而 ...

  6. Spring MVC--------处理方法返回值的可选类型

    对于Spring MVC处理方法支持支持一系列的返回方式:  (1)ModelAndView (2)Model (3)ModelMap (4)Map (5)View (6)String (7)Void ...

  7. DOM疑惑点整理(三)

    innerHTML和outerHTML 先说一个几乎众所周知的,innerHTML和outerHTML中的内容都会被解析为DOM子树,其二就是, <div id="txt" ...

  8. 相同name,取最小的id的值,mysql根据相同字段 更新其它字段

    id name info1 a 1232 a 2353 a 1244 b 125 b 987相同name,取最小的id的值id name info1 a 1232 a 1233 a 1234 b 12 ...

  9. ora4031

    http://blog.itpub.net/23135684/viewspace-1203447/ Mon Sep 11 08:56:10 2017Errors in file /oracle/db/ ...

  10. Gym 100917M Matrix, The

    题目链接: http://codeforces.com/gym/100917/problem/M --------------------------------------------------- ...