阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Twitter Storm 集群搭建

462次阅读
没有评论

共计 2815 个字符,预计需要花费 8 分钟才能阅读完成。

Storm 是什么?

Storm 是 Twitter 开源的一个分布式的实时计算系统

使用场景 :

数据的实时分析, 持续计算, 分布式 RPC 等等.

Storm 特点:(Storm 类似手扶电梯, 不出故障就会一直运行,Hadoop 类似升降电梯, 到达一定程度会停止)。

  • 分布式
  • 可扩展
  • 高可靠性
  • 编程模型简单
  • 高效实时

常用的类 :

  • BaseRichSpout(消息生产者)
  • BaseBasicBolt(消息处理者)
  • TopologyBuilder(拓扑的构建器)
  • Config(配置)
  • StormSubmitter/LocalCluster(拓扑提交器)

Storm 集群部署

Storm 集群架构:

如图:

Twitter Storm 集群搭建

在 Storm 的集群里面有两种节点:控制节点和工作节点。

控制节点上面运行一个叫 Nimbus 进程,Nimbus 负责在集群里面分发代码,分配计算任务,并且监控状态。

每一个工作节点上面运行一个叫做 Supervisor 进程。

Supervisor 负责监听从 Nimbus 分配给它执行的任务,据此启动或停止执行任务的工作进程

Nimbus 和 Supervisor 之间的所有协调工作都是通过 Zookeeper 集群完成。

集群规划:(根据具体需求规划)

linux 主机名    Storm 角色    Zookeeper

master        Nimubus      单节点 zk

slave01        Supervisor

slave02        Supervisor

准备工作

环境:CentOS 6.4

软件:

jzmq-master

storm-0.8.2

zeromq-2.1.7

zookeeper-3.4.5

环境配置 :

linux 基本配置:

修改主机名

修改 IP

修改主机和 IP 的映射关系

关闭防火墙

安装步骤:

1. 安装 jdk

2. 搭建 Zookeeper 集群 (这里我们只安装一个 zk 在主节点上)

解压

进入 zk 的 conf 目录下,cp zoo_sample.cfg zoo.cfg(修改一下名字)

其它的暂时都不变

3. 安装 Storm 依赖(zeromq、jzmq、python)

3.1 安装 zeromq, 然后进入到 zeromq-2.1.7/ 目录下

检测环境:./configure

cd zeromq-2.1.7

./configure

# 编译可能会出错:

configure: error: Unable to find a working C++ compiler

# 安装一下依赖的 rpm 包:libstdc++-devel gcc-c++

虚拟机可以上网的情况下:(建议使用此方法)

yum install gcc-c++

虚拟机不能上网情况:

首先到

http://mirrors.163.com/centos/6.4/os/x86_64/Packages/

(下载的版本一定要和系统对应)

rpm -i libstdc++-devel-4.4.7-3.el6.x86_64.rpm

rpm -i gcc-c++-4.4.7-3.el6.x86_64.rpm

rpm -i libuuid-devel-2.17.2-12.9.el6.x86_64.rpm

然后运行./configure

make(编译)

make install(这个才彻底安装)

3.2. 编译安装 JZMQ:

cd jzmq

执行./autogen.sh

(是为了让它产生配置文件, 默认没有配置文件的)

# 报错:autogen.sh: error: could not find libtool.

libtool is required to run autogen.sh.

缺少 libtool

同样,可上网情况下

yum install libtool(readhat 企业版不会出现这些报错)

或者手动安装

rpm -i autoconf-2.63-5.1.el6.noarch.rpm

rpm -i automake-1.11.1-4.el6.noarch.rpm

rpm -i libtool-2.2.6-15.5.el6.x86_64.rpm

./configure

make

make install

3.33. 编译安装 Python

(先确定你系统自带的版本,如果是 2.6.6 或者之上的不需要安装)

tar –zxvf Python-2.6.6.tgz

cd Python-2.6.6

./configure

make

make install

3.4 安装 storm

修改 storm.yaml 配置文件(子节点上也得修改)

修改 zk 对应的主机名

修改主节点对应的主机名

PS:

3.41.Storm 发行版本解压目录下有一个

conf/storm.yaml 文件:

用于配置 Storm。默认配置在这里可以查看

conf/storm.yaml 中的

配置选项将覆盖 defaults.yaml 中的默认配置。

以下配置选项是必须在

conf/storm.yaml 中进行配置的:

storm.zookeeper.servers:

Storm 集群使用的 Zookeeper 集群地址,

其格式如下:

storm.zookeeper.servers:

– “111.222.333.444”

– “555.666.777.888”

如果 Zookeeper 集群使用的不是默认端口,

那么还需要 storm.zookeeper.port 选项。

3.42storm.local.dir: Nimbus 和 Supervisor 进程

用于存储少量状态,

如 jars、confs 等的本地磁盘目录,

需要提前创建该目录并给以足够的访问权限。

然后在 storm.yaml 中配置该目录,如:

storm.local.dir: “/usr/storm/workdir”

分别启动三台机器

master: 到 storm 的 bin 目录下

./storm nimbus > /dev/null 2>&1 &

slave01: 到 storm 的 bin 目录下

./storm supervisor > ../logs/su.log 2>&1 &

slave02: 到 storm 的 bin 目录下

./storm supervisor > ../logs/su.log 2>&1 &

(启动后台进程, 并把正确和错误的信息输出到该文件中)

在 master 上启动 UI 管理界面

./storm ui > /dev/null 2>&1 &

通过浏览器观察:(主节点的 ip:8080)

观察集群的 worker 资源使用情况、

Topologies 的运行状态等信息。

至此,Storm 集群已经部署、配置完毕,可以向集群提交拓扑运行了

推荐阅读:

Twitter Storm 安装配置(集群)笔记 http://www.linuxidc.com/Linux/2013-05/84307.htm

安装 Twitter Storm 集群 http://www.linuxidc.com/Linux/2012-07/66336.htm

Twitter Storm 安装配置(单机版)笔记 http://www.linuxidc.com/Linux/2013-05/84306.htm

Storm 实战及实例讲解一 http://www.linuxidc.com/Linux/2012-08/69146.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计2815字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7962607
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...