搭建kafaka集群
服务器环境准备
使用vm虚拟三个linux主机
192.168.212.174
192.168.212.175
192.168.212.176
Zookeeper集群环境搭建
1.每台服务器节点上安装jdk1.8环境
使用java-v命令测试
2.每台服务器节点上安装Zookeeper
|
1.下载并且安装zookeeper安装包 wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/ 2. 解压安装包 tar -zxvf zookeeper-3.4.10.tar.gz 3. 重命名 重命名: mv zookeeper-3.4.10 |
3.搭建Zookeeper集群环境
修改zoo_sample.cfg文件
|
cd /usr/local/zookeeper/conf |
4.创建服务器标识
服务器标识配置:
创建文件夹: mkdir data
创建文件myid并填写内容为0: vi
myid (内容为服务器标识 : 0)
5.复制zookeeper
进行复制zookeeper目录到hadoop01和hadoop02
还有/etc/profile文件
把hadoop01、 hadoop02中的myid文件里的值修改为1和2
路径(vi /usr/local/zookeeper/data/myid)
关闭每台服务器节点防火墙,systemctl stop firewalld.service
启动zookeeper
启动zookeeper:
路径: /usr/local/zookeeper/bin
执行: zkServer.sh start
(注意这里3台机器都要进行启动)
状态: zkServer.sh status(在三个节点上检验zk的mode,一个leader和俩个follower)
Kafka集群环境搭建
3台虚拟机均进行以下操作:
|
// 解压下载好的kafka压缩包并重命名 cd /usr/local wget http://mirror.bit.edu.cn/apache/kafka/1.0.0/kafka_2.11-1.0.0.tgz tar -zxvf kafka_2.11-1.0.0.tgz mv // 修改配置文件 vi ./kafka/config/server.properties |
需要修改的内容如下(192.168.212.169)
|
broker.id=0 listeners=PLAINTEXT://192.168.131.130:9092 zookeeper.connect=192.168.131.130:2181,192.168.131.131:2181,192.168.131.132:2181 |
需要修改的内容如下(192.168.212.170)
|
broker.id=1 listeners=PLAINTEXT://192.168.212.170:9092 zookeeper.connect=192.168.131.130:2181,192.168.131.131:2181,192.168.131.132:2181 |
需要修改的内容如下(192.168.212.171)
|
broker.id=2 listeners=PLAINTEXT://192.168.212.171:9092 zookeeper.connect=192.168.131.130:2181,192.168.131.131:2181,192.168.131.132:2181 |
// 在系统环境中配置kafka的路径
vi
/etc/profile
|
// 在文件最下方添加kafka路径 export KAFKA_HOME=/usr/local/kafka // 多路径PATH写法为PATH=${ZOOKEEPER_HOME}/bin:${KAFKA_HOME}/bin:$PATH PATH=${KAFKA_HOME}/bin:$PATH export PATH |
// 使修改完的环境变量生效
source
/etc/profile
192.168.212.169:2181,192.168.212.172:2181,192.168.212.173:2181
Kafka集群环境测试
1、开启3台虚拟机的zookeeper程序
/usr/local/zookeeper/bin/zkServer.sh
start
开启成功后查看zookeeper集群的状态
/usr/local/zookeeper/bin/zkServer.sh
status
出现Mode:follower或是Mode:leader则代表成功
2、在后台开启3台虚拟机的kafka程序(cd /usr/local/kafka)
./bin/kafka-server-start.sh
-daemon config/server.properties
3、在其中一台虚拟机(192.168.131.130)创建topic
/usr/local/kafka/bin/kafka-topics.sh
–create –zookeeper 192.168.131.130:2181 –replication-factor 3 –partitions 1
–topic my-replicated-topic
//
查看创建的topic信息
/usr/local/kafka/bin/kafka-topics.sh
–describe –zookeeper 192.168.131.130:2181 –topic my-replicated-topic
搭建kafaka集群的更多相关文章
- MongoDB 搭建分片集群
在MongoDB(版本 3.2.9)中,分片是指将collection分散存储到不同的Server中,每个Server只存储collection的一部分,服务分片的所有服务器组成分片集群.分片集群(S ...
- 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)
本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...
- 使用Windows Azure的VM安装和配置CDH搭建Hadoop集群
本文主要内容是使用Windows Azure的VIRTUAL MACHINES和NETWORKS服务安装CDH (Cloudera Distribution Including Apache Hado ...
- 搭建mongodb集群(副本集+分片)
搭建mongodb集群(副本集+分片) 转载自:http://blog.csdn.net/bluejoe2000/article/details/41323051 完整的搭建mongodb集群(副本集 ...
- 搭建Artifactory集群
搭建Artifactory集群 制品仓库系统有很多,例如Artifactory.Archiva.Sonatype Nexus.Eclipse Package Drone,其中Artifactory拥有 ...
- 实验室中搭建Spark集群和PyCUDA开发环境
1.安装CUDA 1.1安装前工作 1.1.1选取实验器材 实验中的每台计算机均装有双系统.选择其中一台计算机作为master节点,配置有GeForce GTX 650显卡,拥有384个CUDA核心. ...
- 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)
本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...
- virtualbox 虚拟3台虚拟机搭建hadoop集群
用了这么久的hadoop,只会使用streaming接口跑任务,各种调优还不熟练,自定义inputformat , outputformat, partitioner 还不会写,于是干脆从头开始,自己 ...
- nginx+tomcat+memcached搭建服务器集群及负载均衡
在实际项目中,由于用户的访问量很大的原因,往往需要同时开启多个服务器才能满足实际需求.但是同时开启多个服务又该怎么管理他们呢?怎样实现session共享呢?下面就来讲一讲如何使用tomcat+ngin ...
随机推荐
- SecureCRT 日记保存带时间戳
%h:%m:%s:%t--- result:
- minikube 安装试用
目前使用k8s 要么用的物理机搭建的环境,要么就是使用docker for mac 中kubernetes 的特性,为了本地调试方便,使用下minikube minukube 包含的特性 负载均衡器 ...
- Android 系统Action大全
常用Action说明: String ADD_SHORTCUT_ACTION 动作:在系统中添加一个快捷方式.. “android.intent.action.ADD_SHORTCUT” String ...
- spl_autoload_register 和 __autoload()魔术方法
在 PHP 5.3 之前,__autoload 函数抛出的异常不能被 catch 语句块捕获并会导致一个致命错误(Fatal Error). 尽管 __autoload() 函数也能自动加载类和接口 ...
- 组件&Props
组件允许你将Ui拆分为独立可复用的代码片段,并对每个片段进行独立构思.本指南只在介绍组件的相关概念.你可以参考详细组件 API. 组件,从概念上类似与JavaScript函数.它接受任意的入参(既“p ...
- ex1
#include <stdio.h> int main() { int x; printf("输入一个整数: \n"); scanf("%d",&a ...
- linux 如何改变文件属性与权限1
我们知道档案权限对于一个系统的安全重要性,也知道档案的权限对于使用者与群组的相关性, 那如何修改一个档案的属性与权限呢? 我们这里介绍几个常用于群组.拥有者.各种身份的权限的指令.如下所示: chgr ...
- [技术博客] 数据库1+N查询问题
目录 问题简述 问题解决 group的方法简化查询 改正后的代码 作者:庄廓然 问题简述 本次开发过程中我们用到了rails的orm框架,使用orm框架可以很方便地进行对象的关联和查询,例如查询一个用 ...
- js - true和false
JavaScript的true和false什么时候会出现,如何优雅的写判断条件? 以下条件为false,也可称为“falsy” - > 虚值 if (false) if (null) if (u ...
- java上传图片并压缩图片大小
Thumbnailator 是一个优秀的图片处理的Google开源Java类库.处理效果远比Java API的好.从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生 ...