Storm集群如何搭建

109次阅读
没有评论

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

这篇文章将为大家详细讲解有关 Storm 集群如何搭建,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Storm 是什么?
  Storm 是 Twitter 开源的一个分布式的实时计算系统
  使用场景:
  数据的实时分析, 持续计算, 分布式 RPC 等等.
 
  Storm 特点:(Storm 类似手扶电梯, 不出故障就会一直运行.
  hadoop 类似升降电梯, 到达一定程度会停止 )
  分布式
  可扩展
  高可靠性
  编程模型简单
  高效实时
 
  常用的类:
  BaseRichSpout(消息生产者)
  BaseBasicBolt(消息处理者)
  TopologyBuilder(拓扑的构建器)
  Config(配置)
  StormSubmitter/LocalCluster(拓扑提交器)

Storm 集群部署  
  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 集群如何搭建”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计2819字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)