jstorm2.2.1 安装使用记录

1、准备工做

一、机器:一台或多台
二、修改主机名,设置集群hosthtml

  • 修改主机名,并使之生效python

    - 修改:`vim etc/sysconfig/network`
     - 使之生效:`source etc/sysconfig/network`

clipboard.png

  • 统一设置集群host(修改集群中每一个节点的hosts文件):vim /etc/hosts clipboard.png

三、防火墙设置linux

若多台机器,设置防火墙,可以使用如下任一方法:

3.1 关闭防火墙git

  • 即时生效,重启后会复原:service iptables stop
  • 永久生效:chkconfig iptables off

3.2 设置防火墙规则,容许内网间访问。github

  • 修改iptables:在/etc/sysconfig/iptables中加入-A INPUT -s 192.168.1.0/24 -j ACCEPT ,192.168.1.0/24更改成本身的网段/子网掩码位数。
  • 重启防火墙:service iptables restart

四、安装zookeeperweb

五、python环境apache

2.6或以上版本(linux系统默认已安装python2.6)

六、jdk环境vim

2、jstorm安装

官网地址:http://www.jstorm.io:8080/segmentfault

一、下载wget https://github.com/alibaba/jstorm/releases/download/2.2.1/jstorm-2.2.1.zip
二、解压tar zxvf jstorm-2.2.1.zip
三、配置vim jstorm-2.2.1/conf/storm.yaml
配置说明参考:http://www.jstorm.io:8080/Maintenance_cn/Configuration.htmltomcat

  • storm.zookeeper.servers: zookeeper地址,能够是ip,也能够是hostname
  • storm.zookeeper.port: zookeeper集群服务的端口
  • storm.zookeeper.root:jstorm数据在zookeeper上的存储路径(若只有一个集群也可不设置该参数,默认为/sstrom)
  • cluster.name:jstorm集群名称(若只有一个集群也可不设置该参数,默认为default)
  • nimbus.host: nimbus服务所在节点ip,注意只支持ip不能使用hostname,多个ip使用逗号隔开
  • nimbus.host.start.supervisor:是否在nimbus节点启动supervisor服务(使用start.sh脚本启动时会使用此参数,使用jstorm脚本启动时 没有影响)
  • storm.local.dir:数据临时存储目录,目录需先手动建立好
  • jstorm.log.dir: 日志存储目录,目录需先手动建立好
  • supervisor.slots.ports.base:supervisor 执行worker使用的基本端口
  • supervisor.slots.ports:执行worker使用的端口,默认为四
  • supervisor.slots.port.cpu.weight:cpu权重 cpu_num = system_physical_cpu_num/supervisor.slots.port.cpu.weight
  • supervisor.slots.port.mem.weight:内存权重 mem_num = system_physical_memory_size/(worker.memory.size * supervisor.slots.port.mem.weight)
  • storm.messaging.netty.transfer.async.batch:若是此设置为真,netty处于异步模式,则netty将会批处理消息,若是此设置为false,netty在异步模式下,netty将把tuple一个一个地发送到一个大消息中
  • worker.memory.size: worker内存大小,单位是字节
  • topology.performance.metrics: 禁用时,不会收集定时器和直方图的数据
  • topology.alimonitor.metrics.post: 官方解释为:禁用时,指标数据只会被打印成日志。启动时,那数据除了打印到日志以外,还发布到alimonitor上。暂时没发现有什么影响

clipboard.png
clipboard.png

四、安装
4.1 将安装包放到须要安装的目录,如:mv jstorm-2.2.1 /opt/
4.2 复制安装包到其余节点,如: scp -r jstorm-2.2.1 host29:/opt/
4.3 为了使环境变量与版本无关,创建一个软链接 ln -s jstorm-2.2.1 jstorm
clipboard.png

4.4 设置jstorm环境变量,不然启动报错,致使服务没法正常启动

- 设置JSTORM_HOME:`vim /etc/profile`        ![clipboard.png](/img/bV04wD)
- 使设置生效: `source /etc/profile`

五、启动

  • 同时启动nimbus和supervisor: /opt/jstorm/bin/start.sh clipboard.png
  • 只启动nimbus:
    使用jstorm脚本启动:nohup $JSTORM_HOME/bin/jstorm nimbus >/dev/null 2>&1 &clipboard.png
  • 使用start.sh脚本启动:设置nimbus.host.start.supervisorfalse 使用/opt/jstorm/bin/start.sh
  • 只启动supervisor: nohup $JSTORM_HOME/bin/jstorm supervisor>/dev/null 2>&1 & clipboard.png

六、中止jstorm/opt/jstorm/bin/stop.sh
clipboard.png

3、jstorm-ui安装

通常与nimbus安装在一个节点,也能够单独部署

一、安装tomcat
1.1 下载tomcat

  • 官网地址:https://tomcat.apache.org/dow...
  • 下载:wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz (此地址为镜像地址,可能变动,请以官网最新下载地址为准)

1.2 解压 安装

  • 解压:tar zxvf apache-tomcat-8.5.23.tar.gz
  • 安装:cp apache-tomcat-8.5.23 /opt/

二、部署jstorm-ui
2.1 部署安装包

  • 安装包在jstorm-2.2.1安装包下,把ui安装包部署到tomcat的webapps目录下:cp /opt/jstorm-2.2.1/jstorm-ui-2.2.1.war /opt/apache-tomcat-8.5.23/webapps/

2.2 配置文件:配置文件放在~/.jstorm目录下,没有则新建

  • 新建配置文件目录:mkdir ~/.jstorm
  • 复制jstorm的配置文件:cp -f /opt/jstorm/conf/storm.yaml ~/.jstorm

2.3 配置tomcat:vim /opt/apache-tomcat-8.5.23/conf/server.xml

在host节点中增长以下代码
<Context docBase="${catalina.home}/webapps/jstorm-ui-2.2.1" reloadable="false" path="/jstorm"/>

*此配置是为了使用http://153.35.119.4:8080/jstorm这个url访问jstorm-ui,不配置此项默认是使用报名访问的:http://153.35.119.4:8080/jstorm-ui-2.2.1*

三、启动

  • 运行tomcat:/opt/apache-tomcat-8.5.23/bin/startup.sh

四、使用http://153.35.119.4:8080/jstorm访问页面
clipboard.png

4、运行任务

一、开发

二、运行/opt/jstorm/bin/jstorm jar LogCaculater-1.0.0.jar com.snail.dw.jstorm.topology.LogCountTopology conf.yaml

三、删除任务/opt/jstorm/bin/jstorm kill LogCountTopology

5、错误记录

一、没有设置JSTORM_HOME环境变量:clipboard.png

二、yaml配置文件语法错误
clipboard.png

yaml配置文件一级属性必须距离左边 空 **一个空格**,值距离左边分号也必须至少一个空格

参考文章:

相关文章
相关标签/搜索