Storm简述及集群安装
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简述及集群安装的更多相关文章
- Storm集群安装详解
storm有两种操作模式: 本地模式和远程模式. 本地模式:你可以在你的本地机器上开发测试你的topology, 一切都在你的本地机器上模拟出来; 远端模式:你提交的topology会在一个集群的机器 ...
- 大数据入门第十七天——storm上游数据源 之kafka详解(一)入门与集群安装
一.概述 1.kafka是什么 根据标题可以有个概念:kafka是storm的上游数据源之一,也是一对经典的组合,就像郭德纲和于谦 根据官网:http://kafka.apache.org/intro ...
- 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 集群 ...
- storm的集群安装与配置
storm集群安装 机器:(storm及zookeeper都是这3台机器) 192.168.80.20 192.168.80.21 192.168.80.22 须要准备的软件有: zookeeper( ...
- Storm集群安装Version1.0.1开启Kerberos
Storm集群安装,基于版本1.0.1, 同时开启Kerberos安全认证, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 ...
- Storm集群安装Version1.0.1
Storm集群安装,基于版本1.0.1, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 nimbus zdh-237 sto ...
- kafka2.9.2的伪分布式集群安装和demo(java api)测试
目录: 一.什么是kafka? 二.kafka的官方网站在哪里? 三.在哪里下载?需要哪些组件的支持? 四.如何安装? 五.FAQ 六.扩展阅读 一.什么是kafka? kafka是LinkedI ...
- ubuntu12.04+kafka2.9.2+zookeeper3.4.5的伪分布式集群安装和demo(java api)测试
博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1&do=blog&id=547 转载声明:可以转载, 但必须以超链 ...
- 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 ...
随机推荐
- OpenCL 获取Program信息
本程序生成一个OpenCL Program,然后获取Program的source,事实上它的source就是一个char[],能够打印出来. 然后我们把这些内容和原来文本的内容对照,看看是否是我们想要 ...
- c3p0、dbcp、proxool、BoneCP比较
1.1 测试环境: 操作系统:windows xp sp3 数据库:mysql 5.1 1.2 测试条件: initialSize=30; maxSize=200; minSize=30; 其余参数为 ...
- Oracle WIHT AS 用法
1.with table as 相当于建个临时表(用于一个语句中某些中间结果放在临时表空间的SQL语句),Oracle 9i 新增WITH语法,可以将查询中的子查询命名,放到SELECT语句的最前面. ...
- Android之与当前连接的wifi进行文件夹的浏览与传输
先上传jar文件:ConnectWifi.jar.zip 上传源文件:org.zip 使用实例及相应的注释: import java.io.File; import java.net.InetAddr ...
- 采用Operator-sdk轻松将helm chart转为Operator
去年就接触Operator,从Oracle发布的WebLogic Operator到mySQL Operator,构建的源码一大堆,但感觉一直缺少合适的开发框架能够避免复杂性快速生成, 随着技术的日益 ...
- 机器学习实战:用nodejs实现人脸识别
机器学习实战:用nodejs实现人脸识别 在本文中,我将向你展示如何使用face-recognition.js执行可靠的人脸检测和识别 . 我曾经试图找一个能够精确识别人脸的Node.js库,但是 ...
- iOS:删除、插入、移动单元格
删除.插入.移动单元格的具体实例如下: 代码如下: #import "ViewController.h" #define NUM 20 typedef enum { delet ...
- Informatica 常用组件Expression之二 创建EXP组件
在 Mapping Designer 中选择"转换-创建".选择表达式转换.为它输入一个名称(惯例为 EXP_TransformationName)并单击"确定" ...
- Combinations leetcode java
题目: Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For ex ...
- 页面的缓存设置与meta的作用详细解释
网上转的,来自JSP的,但是原理大同小异哦,有时间 写个asp.net版的 HTML的HTTP协议头信息中控制着页面在几个地方的缓存信息,包括浏览器端,中间缓存服务器端(如:squid等),Web服务 ...