激动无比,终于成功搭建了一套集群的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. MYSQL学习笔记——数据库范式及MYSQL优化整体思路

    一.数据库范式                                                                               为了建立冗余较小.结构合理的 ...

  2. openGL常用对象的创建及使用

    一.GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”.GPU(显卡核心芯片)是显示卡的“大脑”,它决定了该显卡的档次和大部分性能 二.使用背景 随着OpenGL状 ...

  3. ThinkPhp view 路径用到的常量 __STATIC__ __JS__ __CSS__等

    https://www.edoou.com/articles/1556848583530922 ThinkPHP5.1 里面__PUBLIC__无法生效的问题 在用PHP模板的时候需要引用外部的样式文 ...

  4. 在 CentOS 上部署 GitLab (自托管的Git项目仓库)

    参考资料https://github.com/mattias-ohlsson/gitlab-installer/blob/master/gitlab-install-el6.sh 环境准备OS: Ce ...

  5. django 修改字段后,同步数据库,失败:django.db.utils.InternalError: (1054, "Unknown column 'api_config.project_id_id' in 'field list'")

    问题原因是,修改字段后,同步失败了,然后执行查询的时候,就会提示这个错误,这个字段没有 最暴力的方法可以直接在数据库中修改字段,但是修改后,models没同步,可能会存在问题,因此开始我的百度之旅(这 ...

  6. js----定义变量的几种方式

    const const定义的变量不可以修改,而且必须初始化 const b = 2 //正确 //const b //错误,没有初始化 console.log('函数外const定义b:' + b); ...

  7. linux运维、架构之路-linux用户管理

    一. linux系统用户分类 1.分类 ①超级用户:root,UID为0 ②普通用户:UID是500-65535的用户 ③虚拟用户:UID在1-499,一般不能登录,满足文件或服务启动的需要,/sbi ...

  8. shell学习----正则表达式

    在使用sed和gawk时如果能够熟练的使用正则表达式,可以准确的过滤到自己需要的信息 Linux中,有两种流行的正则表达式引擎: POSIX基础正则表达式,BRE引擎 POSIX扩展正则表达式,ERE ...

  9. [CF1166C]A Tale of Two Lands题解

    比赛的时候lowerbound用错了 现场WA on test4(好吧我承认我那份代码确实有除了lowerbound以外的问题) 于是只能手动二分 (我好菜啊QAQ 经过一波数学推算,我们发现,设序列 ...

  10. Flask学习 4 http方法

    服务端端 #!/usr/bin/env python # encoding: utf-8 """ @version: v1.0 @author: cxa @file: f ...