1、集群部署的基本流程

2、集群部署的基础环境准备

3、Storm集群部署

4、Storm集群的进程及日志熟悉

5、Storm集群的常用操作命令

6、Storm源码下载及目录熟悉

7、Storm 单词计数案列

1、集群部署的基本流程

  集群部署的流程:下载安装包、解压安装包、修改配置文件、分发安装包、启动集群

  注意:所有的集群上都需要配置hosts:vi /etc/hosts

2、集群部署的基础环境准备

  1、storm安装依赖Python,所以在安装前请确保Python已经安装成功了 

[root@hadoop1 software]# wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2
[root@hadoop1 software]# tar -jxvf Python-2.6.6.tar.bz2
[root@hadoop1 software]# cd Python-2.6.6
[root@hadoop1 software]# ./configure
[root@hadoop1 software]# make
[root@hadoop1 software]# make install
测试Python,检查是否已经安装好了
[root@hadoop1 Python-2.6.6]# python -V

  2、在安装前要保证shizhan2,shizhan3,shizhan5之间能够互相两两之间ssh免登陆
  3、安装好JDK
  4、安转好Zookeeper集群(shizhan2、shizhan3、shizhan5)

3、Storm集群部署:

3.1.下载安装包:wget https://mirrors.tuna.tsinghua.edu.cn/apache/storm/apache-storm-1.1.2/apache-storm-1.1.2.tar.gz

3.2.解压安装包:

  [root@shizhan2 software]# mkdir -p /export/servers/
  [root@shizhan2 software]# tar -xzvf apache-storm-1.1.2.tar.gz -C /export/servers/

  [root@shizhan2 software]# cd /export/servers/
  [root@shizhan2 servers]# ln -s apache-storm-1.1.2 storm

3.3.修改配置文件:

  配置文件:vi /export/servers/apache-storm-1.1.2/conf/storm.yaml

#指定strom使用的zk集群,如果Zookeeper集群使用的不是默认端口,那么还需要storm.zookeeper.port选项
storm.zookeeper.servers:
- "shizhan2"
- "shizhan3"
- "shizhan5"
#strom.local.dir : Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。然后在storm.yaml中配置目录,如:
storm.local.dir: "/home/software/stormInstallPath/workdir"
#指定storm集群中的nimbus节点所在的服务器
nimbus.host: "shizhan2"
#指定nimbus启动JVM最大可用内存大小
nimbus.childopts: "-Xmx1024m"
#指定supervisor启动JVM最大可用内存大小
supervisor.childopts: "-Xmx1024m"
#指定supervisor节点上,每个worker启动JVM最大可用内存大小
worker.childopts: "-Xmx768m"
#指定ui启动JVM最大可用内存大小,ui服务一般与nimbus同在一个节点上。
ui.childopts: "-Xmx768m"
#指定supervisor节点上,启动worker时对应的端口号,每个端口对应槽,每个槽位对应一个worker,对于Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选线即用于接收消息,该配置选项用于定义哪些端口是可以被worker使用的。默认情况下每个节点下可以运行4个workers,分别在6700,6701,6702,6703端口,如:
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703

3.4.分发安装包:

   scp -r /export/servers shizhan3:/export/

  scp -r /export/servers shizhan5:/export/

cd /export/servers/

  ln -s apache-storm-0.9.5 storm

  配置strom的环境变量(shizhan2,shizhan3,shizhan5这几台服务器都要相应的修改)

[root@hadoop1 software]# vim /etc/profile
#set storm env
export STORM_HOME=/export/servers/apache-storm-1.1.2
export PATH=$PATH:$STORM_HOME/bin
[root@hadoop1 software]# source /etc/profile

3.5启动集群:先启动zookeeper集群,再启动Storm集群

在nimbus.host所属的机器上启动 nimbus服务

cd /export/servers/storm/bin/

nohup ./storm nimbus &

在nimbus.host所属的机器上启动ui服务

cd /export/servers/storm/bin/

nohup ./storm ui &

在其它个点击上启动supervisor服务

cd /export/servers/storm/bin/

nohup ./storm supervisor &

3.5 查看集群 Storm UI:

   http://shizhan2:8080,即可查看storm UI界面

  

4、Storm集群的进程及日志熟悉
  部署成功后,启动集群:

   4.1 查看nimbus的日志信息(在shizhan2的nimbus服务器上)  

  cd /export/servers/apache-storm-1.2.2/logs/

tail -100f /export/servers/apache-storm-1.2.2/logs/nimbus.log
4.2 查看UI的运行日志信息(一般和nimbus在同一服务器上)  
  cd /export/servers/apache-storm-1.2.2/logs/

tail -100f /export/servers/apache-storm-1.2.2/logs/ui.log
    4.3 查看supervisor运行日志信息(在superviso服务器上)
    cd /export/servers/apache-storm-1.2.2/logs/

  tail -100f /export/servers/apache-storm-1.2.2/logs/supervisor.log
4.4 查看supervisor上worker的运行日志信息(在superviso服务器上)
  cd /export/servers/apache-storm-1.2.2/logs/

tail -100f /export/servers/apache-storm-1.2.2/logs/worker6702.log
  

  (该worker正在运行wordcount程序)

5、Storm集群的常用操作命令

  Storm命令可以用来管理拓扑,它们可以提交、杀死、禁用、再平衡拓扑

  提交任务命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】

  bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.6.jar storm.starter.WordCountTopology wordcount

  杀死任务命令格式:storm kill 【拓扑名称】 -w 10(执行kill命令时可以通过-w [等待秒数]指定拓扑停用以后的等待时间)

    storm kill topology-name -w 10

  停用任务命令格式:storm deactivte  【拓扑名称】

    storm deactivte topology-name

  我们能够挂起或停用运行中的拓扑。当停用拓扑时,所有已分发的元组都会得到处理,但是spouts的nextTuple方法不会被调用。

销毁一个拓扑,可以使用kill命令。它会以一种安全的方式销毁一个拓扑,首先停用拓扑,在等待拓扑消息的时间段内允许拓扑完成

当前的数据流。

  启用任务命令格式:storm activate【拓扑名称】

        storm activate topology-name

  重新部署任务命令格式:storm rebalance  【拓扑名称】

        storm rebalance topology-name

    再平衡使你重分配集群任务。这是个很强大的命令。比如,你向一个运行中的集群增加了节点。再平衡命令将会停用拓扑,然后

在相应超时时间之后重分配工人,并重启拓扑。

6、Storm源码下载及目录熟悉(很重要):

  1.在Storm官方网站上寻找源码地址: http://storm.apache.org/downloads.html

  2.点击Source Code

  3.进入GitHub后,拷贝Storm源码地址,点击Clone or Download,进行下载,也可使用Subversion客户端下载

  4.目录分析
  
  扩展包中的三个项目,使storm能与hbase、hdfs、kafka交互

  

7、Storm单词计数案例:

  集群部署成功时,测试自带wordcount程序案例,熟悉任务提交部署流程

   

    

2.Storm集群部署及单词统计案例的更多相关文章

  1. Storm集群部署及单词技术

    1. 集群部署的基本流程 集群部署的流程:下载安装包.解压安装包.修改配置文件.分发安装包.启动集群 注意: 所有的集群上都需要配置hosts vi  /etc/hosts 192.168.239.1 ...

  2. Storm 系列(三)Storm 集群部署和配置

    Storm 系列(二)Storm 集群部署和配置 本章中主要介绍了 Storm 的部署过程以及相关的配置信息.通过本章内容,帮助读者从零开始搭建一个 Storm 集群. 一.Storm 的依赖组件 1 ...

  3. storm集群部署和配置过程详解

      先整体介绍一下搭建storm集群的步骤: 设置zookeeper集群 安装依赖到所有nimbus和worker节点 下载并解压storm发布版本到所有nimbus和worker节点 配置storm ...

  4. Storm集群部署

    一. 说明 Storm是一个分布式实时计算系统,Storm对于实时计算的意义就相当于Hadoop对于批量计算的意义.对于实时性较高的系统Storm是不错的选择.Hadoop提供了map, reduce ...

  5. Storm1.0.3集群部署

    Storm集群部署 所有集群部署的基本流程都差不多:下载安装包并上传.解压安装包并配置环境变量.修改配置文件.分发安装包.启动集群.查看集群是否部署成功. 1.所有的集群上都要配置hosts vi   ...

  6. 02_Storm集群部署

    1. 部署前的硬件及软件检查 硬件要求 1)storm集群部署包括zookeeper部署,而zookeeper集群最小为3台机器2)storm的计算过程都在内存中完成,因此内存要尽量大3)storm少 ...

  7. Storm集群安装部署步骤【详细版】

    作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how ...

  8. Storm入门教程 第三章Storm集群安装部署步骤、storm开发环境

    一. Storm集群组件 Storm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node).其分别对应的角色如下: 主控节点(Master Node)上运行一个被称为N ...

  9. Storm集群安装部署步骤

    本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以"注意事项"的形式给出. 1. Sto ...

随机推荐

  1. gunicorn的log如何传递给django,由django管理

    gunicorn配置文件为gunicorn_config.py里面有日志的配置 # errorlog = '/home/admin/output/erebus/logs/gunicorn_error. ...

  2. linux系统时间设定

    更改系统时间并同步硬件时钟 sudo date -s '2018-12-27 12:46' sudo hwclock --systohc hwclock说明:hwclock --help

  3. AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

    目录 一.架构图 二.实现步骤 2.1.EC2 配置 2.2.ELB 设置 2.2.1.创建目标组 2.2.2.创建负载均衡器 2.3.S3 设置 2.4.CloudFront 分配 2.4.1.创建 ...

  4. OpenCV直方图(直方图、直方图均衡,直方图匹配,原理、实现)

    1 直方图 灰度级范围为 \([0,L-1]\) 的数字图像的直方图是离散函数 \(h(r_k) = n_k\) , 其中 \(r_k\) 是第\(k\)级灰度值,\(n_k\) 是图像中灰度为 \( ...

  5. C#6.0和C#7.0

    C#最新功能(6.0.7.0) 一直用C#开发程序,.NET的功能越来越多,变化也挺大的,从最初的封闭,到现在的开源,功能不断的增加,一直在进步.作为C#的强烈支持者,C#的变化,我不能不关注,这篇文 ...

  6. Netty学习笔记(二)——netty组件及其用法

    1.Netty是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端. 原生NIO存在的问题 1) NIO的类库和API繁杂,使用麻烦:需要熟练掌握Selector.Se ...

  7. SQL语句 常用记录

    1,求平均,保留2位小数: ,)) as avg from {$table}; // amount为数据库某个字段 2,条件累加 , p1, )) AS cnt1 ; // 如果符合 cnt > ...

  8. OS填空题练习

    1.操作系统的基本特征:并发性:共享性:虚拟性:异步性. 2.操作系统的设计目标:方便性:有效性:可扩充性:开放性. 3.操作系统的主要功能:处理机管理:存储器管理:设备管理:文件管理:用户接口. 4 ...

  9. Python中logging在多进程环境下打印日志

    因为涉及到进程间互斥与通信问题,因此默认情况下Python中的logging无法在多进程环境下打印日志.但是查询了官方文档可以发现,推荐了一种利用logging.SocketHandler的方案来实现 ...

  10. Python 日志文件处理

    今天想把 Python 项目中的日志 保存到文件中. 找到了方法.非常简单 https://www.cnblogs.com/nancyzhu/p/8551506.html 1. logging.bas ...