zookeeper集群

Storm集群部署

故事扮演 提交于 2020-01-24 13:55:50
搭建 Storm 集群的主要步骤 1. 搭建一个 Zookeeper 集群 2. 在 Nimbus 和所有工作机器(Supervisor)上安装 Storm 依赖的软件 Python-2.7.2 JAVA 7 ZeroMQ -2.1.7 JZMQ unzip 3. 配置 storm.yaml 4. 使用 Storm 脚本启动 Nimbus,Supervisor 及 UI #布置 ZK 集群 wget http://mirror.esocc.com/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz cp zookeeper-3.4.5.tar.gz /usr/local/ cd /usr/local/ tar -zxvf zookeeper-3.4.5.tar.gz ln -s /usr/local/zookeeper-3.4.5/ /usr/local/zookeeper vim /etc/profile (设置 ZOOKEEPER_HOME 和 ZOOKEEPER_HOME/bin) export ZOOKEEPER_HOME="/usr/local/zookeeper" export PATH=$PATH:$ZOOKEEPER_HOME/bin cp /usr/local/zookeeper/conf/zoo

五、kafka_2.9.2-0.8.1集群搭建

半腔热情 提交于 2020-01-23 23:26:44
①为什么要搭建kafka集群 主要是在项目后期,要做一个实时计算的模块,实时数据都是从kafka集群里面读取,kafka就是一个分布式的消息队列,kafka搭建的底层基于zookeeper,zookeeper在 四、zookeeper-3.4.5-cdh5.3.6集群搭建 已经搭建好了。 ②安装scala2.11.4 1、利用WinSCP软件将scala-2.11.4.tgz文件拷贝到虚拟机sparkproject1的/usr/local/路径。 2、对scala-2.11.4.tgz进行解压缩,在虚拟机sparkproject1的local目录下输入:tar -zxvf scala-2.11.4.tgz 然后在local目录下输入:ll 删除scala-2.11.4.tgz文件,在local目录下输入:rm -rf scala-2.11.4.tgz 再输入:ll,发现只有scala-2.11.4文件夹,文件scala-2.11.4.tgz已经删除。 3、对scala目录进行重命名,在虚拟机sparkproject1的local目录下输入:mv scala-2.11.4 scala 然后输入:ll,进行检查。 4、配置scala相关环境变量 在虚拟机sparkproject1的local目录,输入:vi ~/.bashrc 输入键盘 i 键 ,插入内容: export SCALA

kafka介绍与搭建(单机版)

北城余情 提交于 2020-01-23 19:23:53
一、kafka介绍 1.1 主要功能 根据官网的介绍,ApacheKafka®是 一个分布式流媒体平台 ,它主要有3种功能:   1:It lets you publish and subscribe to streams of records.发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因   2:It lets you store streams of records in a fault-tolerant way.以容错的方式记录消息流,kafka以文件的方式来存储消息流   3:It lets you process streams of records as they occur.可以再消息发布的时候进行处理 1.2 使用场景 1:Building real-time streaming data pipelines that reliably get data between systems or applications.在系统或应用程序之间构建可靠的用于传输实时数据的管道,消息队列功能 2:Building real-time streaming applications that transform or react to the streams of data。构建实时的流数据处理程序来变换或处理数据流,数据处理功能 1.3

ZooKeeper简介与集群部署

本秂侑毒 提交于 2020-01-23 12:03:55
ZooKeeper 是一个开源的分布式协调服务,由雅虎公司创建,是Google Chubby的开源实现,ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集。 ZooKeeper 是什么 ZooKeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布、数据订阅、负载均衡、命名服务、分布式协调、分布式通知、集群管理、master选举、分布式锁和分布式队列等功能。ZooKeeper可以保证如下分布式一致性特性。 (1)顺序一致性 从同一个客户端发起的请求,最终将会严格地按照其发起顺序被应ZooKeeper中去。 (2)原子性 所有事务请求的处理结果是在整个集群中所有机器上应用情况是一致的,也就是说,要么整个集群所有机器都成功应用了某一个事务,要么都没有应用,一定不会出现集群中部分机器应用了该事务,而另外一部分没有应用的情况。 (3)单一试图 无论客户端连接的是那个ZooKeeper服务器,其看到的服务端数据模型都是一致的。 (4)可靠性 一旦服务端成功地应用了一个事务,并完成对客户端的响应,那么该事务所引起的服务端状态变更将会被一直保留下来,除非有另一个事务又对其进行了变更。 (5)实时性 通常人们看到实时性的第一反应是,一旦一个事务被成功应用

初识中间件Kafka

烂漫一生 提交于 2020-01-23 10:25:53
初识中间件Kafka Author:SimplelWu 什么是消息中间件? 非底层操作系统软件,非业务应用软件,不是直接给最终用户使用的,不能直接给客户带来价值的软件统称为中间件 关注于数据的发送和接收,利用高效可靠的异步消息传递机制集成分布式系统。 什么是Kafka? Kafka是一种高吞吐量的分布式发布订阅消息系统,是一个分布式的、分区的、可靠的分布式日志存储服务。它通过一种独一无二的设计提供了一个消息系统的功能。 kafka官方: http://kafka.apache.org/ Kafka作为一个分布式的流平台,这到底意味着什么? 我们认为,一个流处理平台具有三个关键能力: 发布和订阅消息(流),在这方面,它类似于一个消息队列或企业消息系统。 以 容错 的方式存储消息(流)。 在消息流发生时处理它们。 什么是kakfa的优势? 它应用于2大类应用: 构建实时的流数据管道,可靠地获取系统和应用程序之间的数据。 构建实时流的应用程序,对数据流进行转换或反应。 kafka有四个核心API 应用程序使用 Producer API 发布消息到1个或多个topic(主题)。 应用程序使用 Consumer API 来订阅一个或多个topic,并处理产生的消息。 应用程序使用 Streams API 充当一个流处理器,从1个或多个topic消费输入流

zookeeper实现动态感知服务器上下线

浪子不回头ぞ 提交于 2020-01-23 09:35:27
  在实际的生产环境中我们一般都是集群环境部署的,同一个程序我们会部署在相同的几台服务器中,这时我们可以通过负载均衡服务器去调度,但是我们并不能很快速的获知哪台服务器挂掉了,这时我们就可以使用zookeeper来解决这个问题。 zookeeper的动态感知   动态感知其实利用的就是zookeeper的watch功能,我们先来看下常规的负载均衡服务器的结构 再来看下我们用zookeeper实现的结构 文字描述: 1.感知上线   当服务器启动的时候通过程序知道后会同时在zookeeper的servers节点下创建一个新的短暂有序节点来存储当前服务器的信息。客户端通过对servers节点的watch可以立马知道有新的服务器上线了 2.感知下线   当我们有个服务器下线后,对应的servers下的短暂有序节点会被删除,此时watch servers节点的客户端也能立马知道哪个服务器下线了,能够及时将访问列表中对应的服务器信息移除,从而实现及时感知服务器的变化。 代码实现 服务器端代码 package com.dpb.dynamic; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import

Storm集群的搭建与配置

混江龙づ霸主 提交于 2020-01-22 12:44:30
1、安装 JDK 安装64位JDK: jdk-6u45-linux-x64-rpm.bin。进入安装目录后,执行以下命令安装:   ./jdk-6u45-linux-x64-rpm.bin 在 /etc/profile 下配置环境变量:   #config java   export JAVA_HOME=/usr/java/jdk1.6.0_45   export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar   export PATH=$JAVA_HOME/bin:$PATH 2 、安装 Python 把Python-2.7.5.tgz解压到 /usr/Python 目录下:   tar -zxvf Python-2.7.5.tgz   mv Python-2.7.5 /usr/Python 进入 Python 目录后,依次执行以下命令进行安装: ./configure   make   make install 3、安装依赖的 rpm 包 如果你的系统可以上外网,则可以使用以下命令在线安装:   yum install gcc*   yum install uuid*   yum install e2fsprogs*   yum install libuuid*   yum install libtool*

ZooKeeper理论基础

笑着哭i 提交于 2020-01-22 04:05:31
ZooKeeper理论基础 1 ZooKeeper简介 2 一致性 2.1 顺序一致性 2.2 原子性 2.3 单一视图 2.4 可靠性 2.5 最终一致性 3 ZAB协议 3.1 ZAB协议简介 3.2 ZAB与Paxos的关系 3.3 三类角色 3.4 三个数据 3.5 三种模式 3.6 四种状态 3.7 同步模式与广播模式 (1) 初始化广播 (2) 消息广播算法 (3) Observer的数据问题 3.8 恢复模式的三原则 (1) Leader的主动出让原则 (2) 已被处理过的消息不能丢原则 (3) 被丢弃的消息不能再现原则 3.9 Leader选举 (1) Leader选举中的基本概念 A. myid B.逻辑时钟 (2)Leader选举算法 A.集群启动中的Leader选举 B.宕机后的eader选举 4.高可用集群容灾 4.1 服务器数量的奇数与偶数 4.2 容灾设计方案 (1) 三机房部署 (2) 双机房部署 5.CAP定理 5.1 简介 5.2 BASE理论 (1) 基本可用 (2) 软状态 (3) 最终一致性 5.3 ZK与CP 6.zk可能会存在脑裂 1 ZooKeeper简介 ZooKeeper由雅虎研究院开发,后来捐赠给了Apache。ZooKeeper是一个开源得分布式应用程序协调服务器,其为分布式系统提供 一致性 服务

互联网架构师学习笔记整理

狂风中的少年 提交于 2020-01-21 16:32:30
互联网架构师学习笔记整理-完善中 一、并发编程 + ActiveMQ + 实战案例 并发编程基础篇 第一天 1、课程大纲简要介绍 2、线程基础概念、线程安全概念、多个线程多个锁概念 3、对象锁的同步和异步 4、脏读概念、脏读业务场景 5、Synchronized概念、Synchronized代码块、Synchronized其他细节 第二天 1、Volatile关键字概念、线程优化执行流程、内部原理讲解 2、Volatile关键字的非原子性 3、并发编程下的多线程间通信概念wait、notify,线程经典面试题讲解 4、模拟底层阻塞队列(queue)实现讲解 5、单例和多线程如何结合使用 并发编程中级篇 第三天 1、同步类容器讲解 2、并发类容器讲解 3、Concurrent集合类讲解与底层原理实现 4、CopyOnWrite集合类讲解与底层原理实现 5、各类并发Queue详细讲解 第四天 1、多线程设计模式之Future模式讲解与模拟实现 2、多线程设计模式之Master-Worker模式讲解与模拟实现 3、多线程设计模式之生产消费者模型讲解与模拟实现 并发编程高级篇 第五天 1、JDK多任务执行框架底层讲解与内部实现 2、默认线程池说明、底层代码讲解 3、自定义线程池说明、底层代码讲解 4、线程池拒绝策略讲解 5

互联网架构师学习笔记整理

耗尽温柔 提交于 2020-01-21 15:52:01
互联网架构师学习笔记整理-完善中 一、并发编程 + ActiveMQ + 实战案例 并发编程基础篇 第一天 1、课程大纲简要介绍 2、线程基础概念、线程安全概念、多个线程多个锁概念 3、对象锁的同步和异步 4、脏读概念、脏读业务场景 5、Synchronized概念、Synchronized代码块、Synchronized其他细节 第二天 1、Volatile关键字概念、线程优化执行流程、内部原理讲解 2、Volatile关键字的非原子性 3、并发编程下的多线程间通信概念wait、notify,线程经典面试题讲解 4、模拟底层阻塞队列(queue)实现讲解 5、单例和多线程如何结合使用 并发编程中级篇 第三天 1、同步类容器讲解 2、并发类容器讲解 3、Concurrent集合类讲解与底层原理实现 4、CopyOnWrite集合类讲解与底层原理实现 5、各类并发Queue详细讲解 第四天 1、多线程设计模式之Future模式讲解与模拟实现 2、多线程设计模式之Master-Worker模式讲解与模拟实现 3、多线程设计模式之生产消费者模型讲解与模拟实现 并发编程高级篇 第五天 1、JDK多任务执行框架底层讲解与内部实现 2、默认线程池说明、底层代码讲解 3、自定义线程池说明、底层代码讲解 4、线程池拒绝策略讲解 5