使用kafka和zookeeper 构建分布式编译环境

1:在每台机器上安装jdk, 脚本代码如下:

每一个机器上下载jdk,zookeeper,kafka

链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

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

     http://mirrors.shu.edu.cn/apache/kafka/2.0.0/kafka_2.11-2.0.0.tgz

2:部署java的环境,设置环境变量

sudo tar -zxvf jdk-8u191-linux-x64.tar.gz -C /opt/

echo "export JAVAHOME=\"/opt/jdk1.8.0_191\"
export PATH=\"\$PATH:\$JAVAHOME/bin\"
export CLASSPATH=\".:\$JAVAHOME/lib:\$JAVAHOME/jre/lib\"
" >> ~/.bashrc

source ~/.bashrc

java -version

3:部署zookeeper环境

sudo tar -zxvf zookeeper-3.4.13.tar.gz -C /opt/

#设置环境变量export PATH="$PATH:$JAVAHOME/bin:/opt/zookeeper-3.4.13/bin:/opt/kafka_2.11-2.0.0/bin"

#三台服务器的环境配置
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/data/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
dataLogDir=/var/log/zookeeper

server.1=109.123.100.126:2888:3888
server.2=109.123.100.137:2888:3888
server.3=109.123.100.139:2888:3888
#新建目录并设置权限
sudo mkdir -p /var/log/zookeeper && sudo mkdir -p /data/zookeeper

sudo chmod -R a+w /var/log/zookeeper && sudo chmod -R a+w /data/zookeeper
#server 126
echo "1" > /data/zookeeper/myid

#server 137
echo "2" > /data/zookeeper/myid

#server 139
echo "3" > /data/zookeeper/myid

4:部署kafka环境

sudo tar -xvf kafka_2.11-2.0.0.tgz -C /opt

#设置环境变量export PATH="$PATH:$JAVAHOME/bin:/opt/zookeeper-3.4.13/bin:/opt/kafka_2.11-2.0.0/bin"
#启动kafka集群,在每个机器上执行如下命令
kafka-server-start.sh -daemon /opt/kafka_2.11-2.0.0/config/server.properties
#通过jps 验证结果
[email protected]:~$ jps
5090 Jps
3650 QuorumPeerMain
5007 Kafka#看到三个进程,说明成功了

5:创建topic 模拟多个生产者一个消费者,和多个消费者,一个生产者

创建一个tizen-unified的topic, 表示这个topic中放的都是tizen-unified 的信息

kafka-topics.sh --create --replication-factor 2 --zookeeper 109.123.100.126:2181,109.123.100.137:2181,109.123.100.144:2181 --partitions 1 --topic tizen-unified

开启一个生产者:

kafka-console-producer.sh --broker-list 109.123.100.126:9092 --topic tizen-unified

[email protected]:~$ kafka-console-producer.sh --broker-list 109.123.100.126:9092 --topic tizen-unified>buildint package1>building package2>building package3>building package4>building package5

开启两个消费者:(同属于一个group)

kafka-console-consumer.sh --bootstrap-server 109.123.100.126:9092 --topic tizen-unified --from-beginning --group tizen-worker

[email protected]:~$ kafka-console-consumer.sh --bootstrap-server 109.123.100.126:9092 --topic tizen-unified --from-beginning --group tizen-workerbuilding package3building package4building package5

[email protected]:~$ kafka-console-consumer.sh --bootstrap-server 109.123.100.126:9092 --topic tizen-unified --from-beginning --group tizen-workerbuilding package1building package2

原文地址:https://www.cnblogs.com/Spider-spiders/p/9998040.html

时间: 2024-08-12 06:03:14

使用kafka和zookeeper 构建分布式编译环境的相关文章

selenium结合docker构建分布式测试环境

selenium是目前web和app自动化测试的主要框架.对于web自动化测试而言,由于selenium2.0以后socker服务器由本地浏览器自己启动且直接通过浏览器原生API操作页面,故越来越多的人不再使用selenium RC了.大家使用的大多数是selenium-client,python版本的selenium-client最新版本是3.3.3(2017-04-04发布),却忽略了selenium server!事实上在大型的Grid分布式布局中必须要使用selenium server,

Kafka 和 ZooKeeper 的分布式消息队列分析

1. Kafka 总体架构 基于 Kafka-ZooKeeper 的分布式消息队列系统总体架构如下: 如上图所示,一个典型的 Kafka 体系架构包括若干 Producer(消息生产者),若干 broker(作为 Kafka 节点的服务器),若干 Consumer(Group),以及一个 ZooKeeper 集群.Kafka通过 ZooKeeper 管理集群配置.选举 Leader 以及在 consumer group 发生变化时进行 Rebalance(即消费者负载均衡,在下一课介绍).Pro

YOCTO编译环境的搭建

一.YOCTO编译环境的搭建 参照<freescale_imx6_yocto.pdf>文档P14-P16页构建yocto编译环境.同时可参考https://linux.cn/article-8268-1.html?amputm_medium=rss. 具体操作步骤如下(有些命令需要su权限,视具体情况而定): 以下操作基于ubuntu 16.04 64bit系统,预留至少120G硬盘空间,推荐2G内存. 1.apt-get update 2.apt-get install wget git-c

【华为云技术分享】Linux内核的分布式编译(1)

上一期中我们介绍了Linux内核模块依赖图的绘制方法,这一期中我们将介绍Linux内核的分布式编译方法和分布式编译工具distcc的安装过程. 一.Linux内核的分布式编译 分布式编译是指将源程序通过网络中的多台计算机的协同编译过程编译成目标程序的技术.分布式编译一般通过TCP或SSH等协议将编译任务分配至网络中不同的计算机上,使这些计算机协同完成编译工作.Linux内核可以使用distcc[1]进行分布式编译. distcc是一个通过网络中的多台计算机对C.C++.Objective C或O

Idea下Kafka源码阅读编译环境搭建

Kafka源码编译阅读环境搭建 开发环境: Oracle Java 1.7.0_25 + Idea + Scala 2.10.5 +Gradle 2.1 + Kafka 0.9.0.1 一.Gradle安装配置 Kafka代码自0.8.x之后就使用Gradle来进行编译和构建了,因此首先需要安装Gradle.Gradle集成并吸收了Maven主要优点的同时还克服了Maven自身的一些局限性--你可以访问https://www.gradle.org/downloads/ 下载最新的Gradle版本

【推荐】Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa微服务大型分布式企业框架

摘要: Jeesz主要定位于互联网企业架构,已内置企业信息化系统的基础功能和高效的代码生成工具,包括:系统权限组件.数据权限组件.数据字典组件.核心工具 组件.视图操作组件.工作流组件.代码生成等.采用分层设计.双重验证.提交数据安全编码.密码加密.访问验证.数据权限验证. 平台简介 Jeesz是一个分布式的框架,提供项目模块化.服务化.热插拔的思想,高度封装安全性的Java EE快速开发平台. Jeesz本身集成Dubbo服务管控.Zookeeper注册中心.Redis分布式缓存技术.Fast

ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台(转)

参考:http://www.tuicool.com/articles/R77fieA 我在做ELK日志平台开始之初选择为ELK+Redis直接构建,在采集nginx日志时一切正常,当我采集我司业务报文日志类后,logstash会报大量的redis connect timeout.换成redis cluster后也是同样的情况后,就考虑对消息中间件进行替换重新选型,经过各种刷文档,决定选用kafka来替换redis.根据网上找的一篇参考文档中的架构图如下: 注:由于环境有限,在对该架构图中的ela

ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://tchuairen.blog.51cto.com/3848118/1861167 什么要做日志分析平台? 随着业务量的增长,每天业务服务器将会产生上亿条的日志,单个日志文件达几个GB,这时我们发现用Linux自带工具,cat grep awk 分析越来越力不从心了,而且除了服务器日志,还有程序报错日志,分布在不同的服务器,查阅繁琐. 待解决的痛点: 1.大量不同种类的日志成为了运

spring mvc +mybatis + KafKa+Flume+Zookeeper分布式架构

开发工具 1.Eclipse IDE:采用Maven项目管理,模块化. 2.代码生成:通过界面方式简单配置,自动生成相应代码,目前包括三种生成方式(增删改查):单表.一对多.树结构.生成后的代码如果不需要注意美观程度,生成后即可用. 技术选型(只列了一部分技术) 1.后端 服务框架:Dubbo.zookeeper.Rest服务 缓存:Redis.ehcache 消息中间件:ActiveMQ 负载均衡:Nginx 分布式文件:FastDFS 数据库连接池:Alibaba Druid 1.0 核心框