知识点
相关文章
更多最近更新
更多简单搭建Strom集群
2019-03-02 23:58|来源: 网路
Storm是什么?
Storm是Twitter开源的一个分布式的实时计算系统
使用场景:
数据的实时分析,持续计算,分布式RPC等等.
Storm特点:(Storm类似手扶电梯,不出故障就会一直运行.
hadoop类似升降电梯,到达一定程度会停止)
分布式
可扩展
高可靠性
编程模型简单
高效实时
常用的类:
BaseRichSpout(消息生产者)
BaseBasicBolt(消息处理者)
TopologyBuilder(拓扑的构建器)
Config(配置)
StormSubmitter/LocalCluster(拓扑提交器)
Storm集群部署
Storm集群架构:
如图:
在Storm的集群里面有两种节点:控制节点和工作节点。
控制节点上面运行一个叫Nimbus进程,Nimbus负责在集群里面
分发代码,分配计算任务,并且监控状态。
每一个工作节点上面运行一个叫做Supervisor进程。
Supervisor负责监听从Nimbus分配给它执行的任务,
据此启动或停止执行任务的工作进程
Nimbus和Supervisor之间的所有协调工作都是通过Zookeeper集群完成。
集群规划:(根据具体需求规划)
linux主机名 Storm角色 Zookeeper
master Nimubus 单节点zk
slave01 Supervisor
slave02 Supervisor
准备工作:
环境:centos6.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集群已经部署、配置完毕,可以向集群提交拓扑运行了
转自:http://my.oschina.net/u/1169079/blog/263691
相关问答
更多-
在docker中搭建hadoop集群有什么好方法配置ip[2024-01-02]
Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中。这篇教程介绍了利用Docker在单机上快速搭 建多节点 Hadoop集群的详细步骤。作者在发现目前的Hadoop on Docker项目所存在的问题之后,开发了接近最小化的Hadoop镜像,... -
如何搭建一个最简单的Spark集群[2024-03-24]
如果你的答案是否,好吧,你可以关闭此页了。 首先,有一个新人经常遇到的问题: Spark集群是否一定需要Hadoop集群呢? 答案是否。 Spark的集群一共分3种: Standalone Hadoop-Yarn Mesos 今天我们主要涉及的就是Standalone这种模式。在这种模式之下,我们完全可以使用NFS来代替Hadoop / HDFS. 并且在很多场景之下,Standalone 完全可以满足我们的需 -
hadoop集群搭建好了,接下来做什么[2022-06-17]
能做的太多了吧?这还愁方向?你可以看看机器学习的算法,然后用MapReduce实现。 -
EXSI 怎么搭建集群呢?[2024-02-21]
请自行学习win2008的群集做法,其实就把esxi上面的VM当成个服务器就好了。加共享硬盘的时候如果想用SCSI卡的记得选共享等级起码要虚拟级别。其他参照microsoft官方的做法即可。 -
如何搭建一个最简单的Spark集群[2022-04-27]
如果你的答案是否,好吧,你可以关闭此页了。 首先,有一个新人经常遇到的问题: Spark集群是否一定需要Hadoop集群呢? 答案是否。 Spark的集群一共分3种: Standalone Hadoop-Yarn Mesos 今天我们主要涉及的就是Standalone这种模式。在这种模式之下,我们完全可以使用NFS来代替Hadoop / HDFS. 并且在很多场景之下,Standalone 完全可以满足我们的需 -
想要搭建hadoop集群,想问一下应该配备什么样的硬件设备,顺便给出每个硬件设备的大概价格。[2023-09-12]
几台PC、一台交换机。根据你要搭建的集群各方面的性能选择配置,再决定价格。 -
最新开通快手实验室教程 直播权限?[2022-02-22]
简单 -
如何在虚拟机中搭建linux集群[2021-12-24]
你需要一台服务器,然后装一个虚拟化OS,有了这个平台,就可以虚拟化出若干个虚拟机。当然,现在选择云商也可以,就是得花点钱。 -
windows集群搭建问题[2022-04-30]
在百度或GOOGLE上搜一下,如果曾经有人在网上发布,或有网站下载,一般都会被搜索引擎收录;如果搜不到,你可以找一下相关的论坛,最好是那种人气比较高的论坛,注册会员,发帖求助,会有高手帮你的。 -
GPU集群怎么搭建[2022-06-09]
集群分为四个部分:计算节点、存储节点、管理节点、集群辅件。计算节点就是负责运算的节点,就GPU集群来讲,就是使用CPU和GPU卡(或PHI卡)计算,一般只安装一块硬盘作为系统盘,计算节点通过Infiniband网络(以下简称IB网络)连接存储节点来完成运算数据的读取和存储。 2014年IB网络的主流速度是40Gb/s,换算成大家日常中说的“速度”就是8GB/s,也就是理论上一个8GB U盘所装满的数据一秒钟就能传输完毕。存储节点,顾名思义,就是存数据的,一堆硬盘。管理节点,顾名思义,就是负责管理的,一般是一 ...