Storm 集群类似于一个 Hadoop 集群。然而你在 Hadoop 的执行“MapReduce job”,

在storm 上你执行 “topologies (不好翻译)”。“job”和“topologies ”本身有非常

大的不同,一个关键的差别是,MapReduce 的工作终于完毕,而 topologies 处理消息

永远保持(或直到你杀了它) 。

Strom 集群有主要有两类节点:主节点和工作节点。

主节点上执行一个叫做“Nimbus ”的守护进程。也就是类似 Hadoop 的“JobTracker”。

Nimbus 负责在集群分发的代码,将任务分配给其它机器。和故障监測。

Storm 安装部署

2.1 搭建 Storm  集群的主要步骤

1. 搭建一个 Zookeeper 集群

2. 在 Nimbus 和全部工作机器(Supervisor)上安装例如以下软件

    Python-2.6.6

    JAVA 7

    ZeroMQ -2.1.7

    JZMQ

1. 配置 storm.yaml

2. 使用 Storm 脚本启动 Nimbus,Supervisor 及 UI

2.2  布置 ZK  集群

安装 ZK :

http://labs.mop.com/apache-mirror/zookeeper/zookeeper-3.3.5/zookeeper-3.3.5.tar.gz

tar -zxvf zookeeper-3.3.5.tar.gz

cp -R zookeeper-3.3.5 /usr/local/

ln -s /usr/local/zookeeper-3.3.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_sample.cfg  /usr/local/zookeeper/conf/zoo.cfg

( 用zoo_sample.cfg 制作$ZOOKEEPER_HOME/conf/zoo.cfg)

mkdir /tmp/zookeeper

mkdir /var/log/zookeeper

zookeeper 的单机安装已经完毕了。

配置 ZK  集群:

(1)配置 Zookeeper 路径下的 conf/zoo.cfg

dataDir=/tmp/zookeeper

#即之前创建的目录,能够自定

clientPort=2181

server.1=XXX.XXX.XXX.XXX:3887:4887

server.2=XXX.XXX.XXX.XXX:3887:4887

server.3=XXX.XXX.XXX.XXX:3887:4887

(2)在相应 IP 的节点上的/tmp/zookeeper 文件夹中。创建 myid 文件。该文件里仅仅包涵一个

数字 。

(3)进入 Zookeeper 的安装文件夹的 bin/文件夹,使用命令 zkServer.sh start 将 zookeeper

守护进程启动。

2.3  安装相关软件

2.3.1  安装 Python-2.6.6  或以上版本号

wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz

tar zxvf Python-2.6.6.tgz.

cd Python-2.6.6 ./configure

make

make install

vi /etc/ld.so.conf

追加/usr/local/lib/

sudo ldconfig

2.3.2  安装 zeromq

wget http://download.zeromq.org/zeromq-2.1.7.tar.gz

tar zxf zeromq-2.1.7.tar.gz

cd zeromq-2.1.7

./configure

make

make install

sudo ldconfig

2.3.3  安装 jzmq

git clone git://github.com/nathanmarz/jzmq.git

cd jzmq

./autogen.sh

黄崇远文档整理系列

11

./configure

make

make install

2.3.4  安装 storm

wget http://cloud.github.com/downloads/nathanmarz/storm/storm-0.8.1.zip

unzip storm-0.8.1.zip

mv storm-0.8.1 /usr/local/

vim ~/.bashrc #配置环境变量

export STORM_HOME=/usr/local/storm-0.8.1

export PATH=$PATH:$STORM_HOME/bin

mkdir /tmp/storm #自己定义文件夹。配置文件里须要指明

2.4  配置 Storm.yaml

#配置 storm 集群使用的 zookeeper 集群的地址

storm.zookeeper.server:

-  “XXX.XXX.XXX.XXX”

-  “XXX.XXX.XXX.XXX”

-  “XXX.XXX.XXX.XXX”

#配置 storm 信息存储文件夹

Storm.local.dir: “/tmp/storm”

#配置 java.library.path 这是 storm 所依赖的本地依赖(ZeroMQ 和 JZMQ)的载入地址,

默认的是:/usr/local/lib:/opt/local/lib:/usr/lib, 大多情况下是对的,所以你应该

不用更改这个配置,除非你系统的库路径给默认配置不一样。

#配置工作机器的工作端口。 supervisor.slots.ports 对于每一台工作机器,这个配置

指定在这台工作机器上执行多少工作进程, 每一个进程使用一个独立port来接收消息,这

个配置同一时候也指定使用哪些port。假设你在这里定义 5 个port,storm 会在这个机器上

最多分配 5 个工作进程。

假设分配 3 个port。那么最多分配 3 个进程。设置配置 4 个

worker 执行在port

6700。 6701, 6702, 和 6703。比如:supervisor.slots.ports :

-  6700

-  6701

-  6702

-  6703

2.5  启动 Storm  集群

(1)监控 Nimbus 在 Nimbus 机器上执行 bin/storm nimbus

(2)Supervisor 在每台工作机器上执行 bin/storm supervisor, supervisor 负责

启动和终止工作机器上的工作进程

(3)UI storm UI 是一个能够查看 storm 执行状态的的一个站点,通过 bin/storm ui

执行。訪问地址:http://{nimbus.host}:8080/

Storm简述及集群安装的更多相关文章

  1. Storm集群安装详解

    storm有两种操作模式: 本地模式和远程模式. 本地模式:你可以在你的本地机器上开发测试你的topology, 一切都在你的本地机器上模拟出来; 远端模式:你提交的topology会在一个集群的机器 ...

  2. 大数据入门第十七天——storm上游数据源 之kafka详解(一)入门与集群安装

    一.概述 1.kafka是什么 根据标题可以有个概念:kafka是storm的上游数据源之一,也是一对经典的组合,就像郭德纲和于谦 根据官网:http://kafka.apache.org/intro ...

  3. CentOS下Storm 1.0.0集群安装具体解释

    本文环境例如以下: 操作系统:CentOS 6 32位 ZooKeeper版本号:3.4.8 Storm版本号:1.0.0 JDK版本号:1.8.0_77 32位 python版本号:2.6.6 集群 ...

  4. storm的集群安装与配置

    storm集群安装 机器:(storm及zookeeper都是这3台机器) 192.168.80.20 192.168.80.21 192.168.80.22 须要准备的软件有: zookeeper( ...

  5. Storm集群安装Version1.0.1开启Kerberos

    Storm集群安装,基于版本1.0.1, 同时开启Kerberos安全认证, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 ...

  6. Storm集群安装Version1.0.1

    Storm集群安装,基于版本1.0.1, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 nimbus zdh-237 sto ...

  7. kafka2.9.2的伪分布式集群安装和demo(java api)测试

    目录: 一.什么是kafka? 二.kafka的官方网站在哪里? 三.在哪里下载?需要哪些组件的支持? 四.如何安装? 五.FAQ 六.扩展阅读   一.什么是kafka? kafka是LinkedI ...

  8. ubuntu12.04+kafka2.9.2+zookeeper3.4.5的伪分布式集群安装和demo(java api)测试

    博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1&do=blog&id=547 转载声明:可以转载, 但必须以超链 ...

  9. Storm-1.0.1+ZooKeeper-3.4.8+Netty-4.1.3 HA集群安装

    Storm-1.0.1+ZooKeeper-3.4.8+Netty-4.1.3 HA集群安装 下载Storm-1.0.1 http://mirrors.tuna.tsinghua.edu.cn/apa ...

随机推荐

  1. xcode4.3.2 arc模式下导入非arc的文件 转

    在arc模式下,我们经常会用到非arc的类库,此时我们可以在Compile Sources下对该文件进行编辑加入 -fno-objc-arc   如图中所示,就可以使用非arc的类库了   转:htt ...

  2. VirtualBox 安装虚拟机

  3. JAVA基础知识要点

    MQ.dubbo.SpringCloud 1) 集合框架 2)线程 3)IO流 4)类和对象生命周期 5)JAVA的反射机制 6) JVM 7)数据结构和常用算法 8)设计模式 9)网络编程

  4. 使用依赖关系注入在 ASP.NET Core 中编写干净代码

    ASP.NET Core 1.0 是 ASP.NET 的完全重新编写,这个新框架的主要目标之一就是更多的模块化设计.即,应用应该能够仅利用其所需的框架部分,方法是框架在它们请求时提供依赖关系.此外,使 ...

  5. Jquery焦点图/幻灯片效果 插件 KinSlideshow

    JavaScript $(function(){         $("#KinSlideshow").KinSlideshow({                 moveSty ...

  6. ubuntu下如何查看软件安装目录以及安装版本

    1)aptitude show 软件名 例如aptitude show kde-runtime 显示如下 ****@ubuntu:~$ aptitude show kde-runtime 软件包: k ...

  7. linux下添加分区并挂载目录、卸载并删除分区

    添加分区并挂载目录 Linux的硬盘识别: 一般使用”fdisk -l”命令可以列出系统中当前连接的硬盘 设备和分区信息.新硬盘没有分区信息,则只显示硬盘大小信息.   1.关闭服务器加上新硬盘   ...

  8. go语言基础之切片的创建和截取

    1.切片的创建 示例: package main //必须有个main包 import "fmt" func main() { //切片和数组的区别 //数组[]里面的长度时固定的 ...

  9. Objective-C-代码块Block回顾

    OC中的代码块是iOS4.0+ 和Mac OS X 10.6+ 引进的对C语言的扩展,用来实现匿名函数的特性.类似于其他语言脚本语言或者编程语言中的闭包或者是Lambda表达式,可能第一眼看上去很怪异 ...

  10. Facade 门面模式 封装 MD

    门面模式 简介 作用:封装系统功能,简化系统调用 门面模式要求一个系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行.门面模式提供一个高层次的接口,使得系统更易于使用. 门面模式的 ...