jstorm2.2.1 安装使用记录

一、准备工作

1、机器:一台或多台
2、修改主机名,设置集群host

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

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

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

3、防火墙设置

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

3.1 关闭防火墙

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

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

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

4、安装zookeeper

  • 参考https://segmentfault.com/a/11...
  • 如果安装了cm,也可使用cm安装zookeeper

5、python环境

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

6、jdk环境

  • jdk1.7以上版本
  • jdk安装 参考:https://segmentfault.com/a/11...

二、jstorm安装

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

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

  • 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上。暂时没发现有什么影响


4、安装
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

4.4 设置jstorm环境变量,否则启动报错,导致服务无法正常启动

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

5、启动

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

6、停止jstorm/opt/jstorm/bin/stop.sh

三、jstorm-ui安装

一般与nimbus安装在一个节点,也可以单独部署

1、安装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/

2、部署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节点中增加如下代码


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

3、启动

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

4、使用http://153.35.119.4:8080/jstorm访问页面

四、运行任务

1、开发

  • 官网说明:http://www.jstorm.io:8080/QuickStart_cn/Example.html

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

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

五、错误记录

1、没有设置JSTORM_HOME环境变量:

2、yaml配置文件语法错误

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

参考文章:

  • 官网:http://www.jstorm.io:8080/QuickStart_cn/Example.html
  • github:https://github.com/alibaba/js...
  • 其他:http://www.cnblogs.com/hzorac...

你可能感兴趣的:(storm,实时计算,大数据,linux)