`
qindongliang1922
  • 浏览: 2181071 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117401
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125817
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59813
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71227
社区版块
存档分类
最新评论

Jstorm2.1.1集群安装

阅读更多


Strom是什么?

storm是Twitter开源的的一个分布式的,容错的实时流计算系统,用来处理大数据系统中一些实时计算业务。strom本身是一个类似Hadoop的MapReduce的计算框架,最大不同在于storm是一个启动后不会停止的服务,除非主动kill掉,而MapReduce则会主动运行结束,storm本身并不负责存储数据,通常互联网的业务场景下strom会从kafka里面读取数据,然后计算完毕后,把计算结果写入redis,mysql或者hbase等一些存储或缓存系统中。


Strom能干什么?

Storm 有许多应用领域,包括实时分析、在线机器学习、信息流处理(例如,可以使用Storm 处理新的数据和快速更新数据库)、连续性的计算(例如,使用Storm 连续查询,然后将结果返回给客户端,如将微博上的热门话题转发给用户)、分布式RPC(远过程调用协议,通过网络从远程计算机程序上请求服务)、ETL(Extraction Transformation Loading,数据抽取、转换和加载)等。

Strom的特点:

(1)简化了编程模型,降低了开发的难度
(2)支持多语言编程
(3)高容错性
(4)可水平扩展
(5)有ack机制,保证消息可靠快速至少得到一次完整处理
(6)支持local模式,方便快速开发调试

Strom的架构模型








Jstorm是什么?

Strom原生是用Clojure开发的,阿里团队在使用过程中,发现了不少了问题,于是使用Java重写了整个storm,使其更稳定,更快,更强大,并兼容原来storm的接口,所以命名为Jstrom,在阿里文档中提到,原storm写的jar,无须改动任何代码即可高效稳定的运行在jstrom的集群中,

如何安装Jstorm?

操作系统:
Centos7
节点三个:
192.168.10.38  zk1   jdk8  nimbus+ui+tomcat
192.168.10.39  zk2   jdk8  supervisor
192.168.10.40  zk3   jdk8  supervisor

(1)在3个节点上安装JDK,不再详细叙述
(2)在3个节点上安装zookeeper,不再详细叙述,不清楚者,可参考我之前的文章:
http://qindongliang.iteye.com/category/299318
zookeeper安装完之后,需要启动
(3)在github下下载jstorm的压缩包:
https://github.com/alibaba/jstorm/releases





(4)解压到指定目录并配置环境变量:
unzip jstorm-2.1.1.zip 
vi .bashrc 加入如下变量:

export PATH
export PATH=.:$PATH
#jdk
export JAVA_HOME=/home/search/jdk1.8.0_102/
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
#jstorm
export JSTORM_HOME=/home/search/jstorm-2.1.1
export PATH=$PATH:$JSTORM_HOME/bin


(5)下载tomcat
wget  http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-8/v8.5.3/bin/apache-tomcat-8.5.3.tar.gz
(6)安装storm-ui

//拷贝storm-ui的war包到tomcat的webapps路径下面
cp /home/search/jstorm-2.1.1/storm-ui-2.1.1.war /home/search/apache-tomcat-8.5.4/webapps
//备份旧目录
mv ROOT ROOT.old
//创建软连接,此时linux上会闪烁,不用担心,启动tomcat后,即可正常
ln -s jstorm-ui-2.1.1 ROOT
//最后进入tomcat的bin目录,启动
bin/startup.sh


(7)安装配置jstorm
编辑vi jstorm-2.1.1/conf/storm.yaml文件

########### These MUST be filled in for a storm configuration
 storm.zookeeper.servers:  
              - "192.168.10.38"
              - "192.168.10.39"
              - "192.168.10.40"

 storm.zookeeper.root: "/jstorm"

# cluster.name: "default"

 #nimbus.host/nimbus.host.start.supervisor is being used by $JSTORM_HOME/bin/start.sh
 #it only support IP, please don't set hostname
 # For example
 # nimbus.host: "10.132.168.10, 10.132.168.45"
 nimbus.host: "192.168.10.38"
 #nimbus.host.start.supervisor: false
 
# %JSTORM_HOME% is the jstorm home directory
 storm.local.dir: "%JSTORM_HOME%/data"
 # please set absolute path, default path is JSTORM_HOME/logs
# jstorm.log.dir: "absolute path"
 
# java.library.path: "/usr/local/lib:/opt/local/lib:/usr/lib"



# if supervisor.slots.ports is null, 
# the port list will be generated by cpu cores and system memory size 
# for example, 
# there are cpu_num = system_physical_cpu_num/supervisor.slots.port.cpu.weight
# there are mem_num = system_physical_memory_size/(worker.memory.size * supervisor.slots.port.mem.weight) 
# The final port number is min(cpu_num, mem_num)
# supervisor.slots.ports.base: 6800
# supervisor.slots.port.cpu.weight: 1.2
# supervisor.slots.port.mem.weight: 0.7
# supervisor.slots.ports: null
# supervisor.slots.ports:
#    - 6800
#    - 6801
#    - 6802
#    - 6803

# Default disable user-define classloader
# If there are jar conflict between jstorm and application, 
# please enable it 
# topology.enable.classloader: false

# enable supervisor use cgroup to make resource isolation
# Before enable it, you should make sure:
#       1. Linux version (>= 2.6.18)
#       2. Have installed cgroup (check the file's existence:/proc/cgroups)
#       3. You should start your supervisor on root
# You can get more about cgroup:
#   http://t.cn/8s7nexU
# supervisor.enable.cgroup: false


### Netty will send multiple messages in one batch  
### Setting true will improve throughput, but more latency
# storm.messaging.netty.transfer.async.batch: true

### if this setting  is true, it will use disruptor as internal queue, which size is limited
### otherwise, it will use LinkedBlockingDeque as internal queue , which size is unlimited
### generally when this setting is true, the topology will be more stable,
### but when there is a data loop flow, for example A -> B -> C -> A
### and the data flow occur blocking, please set this as false
# topology.buffer.size.limited: true
 
### default worker memory size, unit is byte
# worker.memory.size: 2147483648

# Metrics Monitor
# topology.performance.metrics: it is the switch flag for performance 
# purpose. When it is disabled, the data of timer and histogram metrics 
# will not be collected.
# topology.alimonitor.metrics.post: If it is disable, metrics data
# will only be printed to log. If it is enabled, the metrics data will be
# posted to alimonitor besides printing to log.
# topology.performance.metrics: true
# topology.alimonitor.metrics.post: false

# UI MultiCluster
# Following is an example of multicluster UI configuration
# ui.clusters:
#     - {
#         name: "jstorm",
#         zkRoot: "/jstorm",
#         zkServers:
#             [ "localhost"],
#         zkPort: 2181,
#       }


(8)分发配置好的jstorm包,并启动集群

A:在nimbus上,执行nohup jstorm nimbus &启动nimbus,查看$JSTORM_HOME/logs/nimbus.log,检查是否有错误
B:在supervisor节点上执行 “nohup jstorm supervisor &”, 查看$JSTORM_HOME/logs/supervisor.log检查有无错误

(9)访问nimbus所在机的ip:8080,查看Jstorm的ui图:






至此安装成功!

(10)常用命令

提交任务命令:
jstorm jar xxxx.jar  类名 参数1 参数2 参数n
杀死任务命令:
jstorm kill topologyName

参考文档:
http://storm.apache.org/
https://github.com/alibaba/jstorm/wiki/JStorm-Chinese-Documentation



有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
技术债不能欠,健康债更不能欠, 求道之路,与君同行。

  • 大小: 176.5 KB
  • 大小: 140.1 KB
  • 大小: 31.1 KB
  • 大小: 31.1 KB
  • 大小: 26.4 KB
  • 大小: 79.1 KB
0
1
分享到:
评论

相关推荐

    JStorm 2.1.1 API

    `StormSubmitter`类则提供了提交Topology到集群的接口,确保Topology能在JStorm集群上正常运行。 7. **监控与管理** JStorm 2.1.1提供了丰富的监控和管理API,如`ZKUtils`用于与Zookeeper交互,获取拓扑状态;`...

    jstorm框架参数配置项列表详解

    jstorm框架default.yaml参数配置项列表详解

    Jstorm集群安装文档

    ### JStorm集群安装知识点 #### 一、软件需求与集群规划 **软件需求:** - **虚拟化平台:** VMware Workstation 11.0.0 - **远程登录工具:** SecureCRT Portable - **文件传输工具:** FlashFXP - **应用软件:**...

    智能实时选股系统Leek.zip

    Leek — 韭菜的自我救赎  ...相关部署ZooKeeper 高可用集群的安装及配置Kafka 集群的部署与测试JStorm2.1.1集群的安装和使用Flume 集群负载均衡(待完善)架构图:Storm计算节点:Esper计算模型: 标签:Leek

    jstorm-core-2.1.1.jar

    jstorm-core-2.1.1.jar,maven中央仓库中没有,从官网上下载的

    jstorm安装部署wzx.docx

    Jstorm 、zookeeper集群部署详细操作步骤 Centos7系统

    jstorm storm入门demo

    4. **JStorm的安装与配置**:指导如何安装JStorm,配置环境变量,以及如何配置storm.yaml等关键配置文件。 5. **创建和运行示例**:详细解释压缩包中的代码结构,包括四个类的功能,如何编译源代码,以及如何启动...

    jstorm集成kafka代码实例

    这可以通过`topology.builder.setSpout()`和`topology.builder.setBolt()`方法完成,然后调用`submitTopology()`提交到JStorm集群。 6. **代码实例**:`demo`文件夹中的代码应包含上述步骤的实现。`readme`说明文档...

    jstorm文档

    本文档将详细介绍JStorm的基础知识,包括其核心概念、工作原理、安装配置以及简单的示例,帮助初学者快速入门。 **1. JStorm的核心概念** - **Topology**: 一个Topology是JStorm中的工作单元,它定义了一组相互...

    jstorm集成kafka插件demo

    1. **安装与配置**:首先确保已经安装了JStorm和Kafka,并配置好相应的环境变量。对于Kafka,你需要设置Zookeeper地址,对于JStorm,你需要配置nimbus和supervisor节点。 2. **创建Kafka Topic**:在Kafka中,数据...

    jstorm example

    1. **环境配置**:首先,需要安装Java环境,并设置好JStorm的相关环境变量。 2. **搭建JStorm集群**:根据官方文档,部署Nimbus、Supervisor和Zookeeper节点。 3. **编写Topology**:使用Java或Python编写Spout和...

    Jstorm 到 Apache Flink 的迁移实践.pdf

    1. **内存隔离缺乏**:由于使用Python编写作业,JStorm集群缺乏内存隔离,导致作业间的资源冲突,例如单个工作进程可能占用大量内存,对整体集群稳定性造成影响。 2. **资源管理和预算混乱**:不同业务团队之间的...

    jstorm 阿里巴巴官方文档 pdf

    接着,文档会详细阐述JStorm的安装与配置过程,包括下载源码、编译、部署以及设置环境变量。对于初学者,这部分内容至关重要,因为正确配置JStorm环境是后续开发和运行的基础。 在JStorm的使用方法部分,你会了解到...

    jstorm课程

    8. **配置与部署**:了解如何配置JStorm集群,包括设置worker、nimbus、supervisor等节点,以及如何部署和启动拓扑。 9. **监控与调优**:学习如何使用JStorm的监控工具,如Web UI,监控任务的运行状态,并进行性能...

    大数据技术分享 JStorm介绍 JStorm-分布式实时计算引擎 共40页.pptx

    **JStorm介绍** JStorm是由阿里巴巴开发的分布式实时计算引擎,它是基于Apache Storm的一个增强版本。JStorm的设计目标是提供比Storm更高的稳定性、更强的功能和更快的计算性能。这个技术分享主要涵盖了JStorm的...

    jstorm-2.2.1

    4. **Zookeeper**:JStorm使用Zookeeper作为集群协调器,管理Topology的部署和状态,保证系统的高可用性和一致性。 5. **Nimbus**:Nimbus是JStorm的主控节点,负责分配任务给Worker节点,监控Topologies的状态,并...

    JStorm是参考storm的实时流式计算框架

    JStorm是参考storm的实时流式计算框架,在网络IO、线程模型、资源调度、可用性及稳定性上做了持续改进,已被...经过4年发展,阿里巴巴JStorm集群已经成为世界上最大的集群之一,基于JStorm的应用数量超过1000个。 6198}

    Jstorm介绍

    jstorm框架介绍,包含架构图、jstorm安装部署以及配置、如何在jstorm框架里写业务代码。

    最新jstorm2.4.0

    新版本2.4.0,最新编译的 jstorm2.4.0包,大数据流式计算必备工具。

    alibaba-jstorm

    《阿里巴巴JStorm详解》 阿里巴巴JStorm是一款由阿里巴巴开源的分布式实时计算系统,它基于Apache Storm,但在性能、稳定性、易用性等多个方面进行了优化,是大数据处理领域的重要工具之一。JStorm的设计理念是...

Global site tag (gtag.js) - Google Analytics