【中间件2】在虚拟机搭建JStrom
2016-07-02 11:24
274 查看
一 安装步骤
二 搭建Zookeeper集群
1 ZooKeeper 单机安装与配置
11 下载zookeeper安装包
12 解压zookeeper安装包
13 设置环境变量
14 配置zoocfg
15 启动zookeeper
三 搭建JStorm集群
1 安装Python 26
2 安装JDK 17 版本
3 安装JStorm
31 配置JSTORM_HOMEconfstormyaml
32 例子
33 在提交jar的节点上执行
4 在tomcat服务器安装JStorm Web UI4
5 启动JStorm
四 更多链接
1 Zookeeper知识更多链接
2 JStorm知识更多链接
要先配制 Java JDK
搭建Zookeeper集群
安装Python 2.6
配置$JSTORM_HOME/conf/storm.yaml
搭建Web UI
启动JStorm集群
Zookeeper配置麻烦参考 “Zookeeper单机模式、伪集群模式、集群模式的安装2”
我这里下载的是:zookeeper-3.4.5.tar.gz
设置环境变量/home/wu_being/.bashrc文件后,要source 更新一下:
配置说明:
tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
注:jps命令是java jdk中的,启动zkServer也是要先配制好java jdk,不然启动成功也是假现象的!!!
jps本身服务名称:4793 Jps
zkServer服务名称:4464 QuorumPeerMain
启动后要检查 Zookeeper 是否已经在服务,可以通过
自己可以参考 python
也可以使用https://github.com/utahta/pythonbrew 来安装python > curl -kL http://xrl.us/pythonbrewinstall | bash
注意:要
Web UI 可以和Nimbus不在同一个节点
注意:
下载tomcat 7.x (以apache-tomcat-7.0.70 为例)
ln不是 ln -s jstorm-ui-2.1.1.war ROOT 这个要小心
startup.sh后,在终端输入jps会多一个服务名称:4777 Bootstrap
在浏览器输入“本地ip:8080”可以在web管理JStorm集群。前提是配制好
在supervisor节点上执行
为什么要使用ZooKeeper
Zookeeper系列教材
https://github.com/alibaba/jstorm/wiki
jstorm 介绍
https://yq.aliyun.com/articles/2893
jstorm 2.1.1 release
https://yq.aliyun.com/articles/25391
Kafka、RabbitMQ、RocketMQ消息中间件的对比——消息发送性能
https://yq.aliyun.com/articles/25385
Hadoop之MapReduce
http://blog.csdn.net/wangloveall/article/details/21407531
Wu_Being博客声明:本人博客欢迎转载,请标明博客原文和原链接!谢谢!
《在虚拟机搭建JStrom》:
http://blog.csdn.net/u014134180/article/details/51810311
如果你看完这篇博文,觉得对你有帮助,并且愿意付赞助费,那么我会更有动力写下去。
Zookeeper 简易安装步骤:http://www.cnblogs.com/linjiqin/archive/2013/03/16/2962597.html ↩
ZooKeeper单机模式、伪集群模式、集群模式的安装:http://blog.csdn.net/hi_kevin/article/details/7089358 ↩
Linux中profile、bashrc、~/.bash_profile、~/.bashrc、~/.bash_profile之间的区别和联系以及执行顺序 ↩
Linux下Tomcat的安装配置 ↩
二 搭建Zookeeper集群
1 ZooKeeper 单机安装与配置
11 下载zookeeper安装包
12 解压zookeeper安装包
13 设置环境变量
14 配置zoocfg
15 启动zookeeper
三 搭建JStorm集群
1 安装Python 26
2 安装JDK 17 版本
3 安装JStorm
31 配置JSTORM_HOMEconfstormyaml
32 例子
33 在提交jar的节点上执行
4 在tomcat服务器安装JStorm Web UI4
5 启动JStorm
四 更多链接
1 Zookeeper知识更多链接
2 JStorm知识更多链接
一 安装步骤
从Downloads下载relase包(jstorm-2.1.1.zip)要先配制 Java JDK
搭建Zookeeper集群
安装Python 2.6
配置$JSTORM_HOME/conf/storm.yaml
搭建Web UI
启动JStorm集群
二 搭建Zookeeper集群
安装步骤麻烦参考 ”Zookeeper 简易安装步骤1“Zookeeper配置麻烦参考 “Zookeeper单机模式、伪集群模式、集群模式的安装2”
2.1 ZooKeeper 单机安装与配置
2.1.1 下载zookeeper安装包
下载地址:http://apache.dataguru.cn/zookeeper/zookeeper-3.4.3/zookeeper-3.4.3.tar.gz我这里下载的是:zookeeper-3.4.5.tar.gz
2.1.2 解压zookeeper安装包
wu_being@JStorm-VirtualBox:~$ sudo tar -zxvf zookeeper-3.4.5.tar.gz wu_being@JStorm-VirtualBox:~$ sudo chown -R wu_being:wu_being zookeeper-3.4.5
2.1.3 设置环境变量
在/etc/profile和/home/wu_being/.bashrc文件后添加如下信息3:JAVA_HOME=/home/wu_being/jdk1.7.0 ZOOKEEPER_HOME=/home/wu_being/zookeeper-3.4.5 CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$ZOOKEEPER_HOME/lib PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH export ZOOKEEPER_HOME export JAVA_HOME export CLASSPATH export PATH
设置环境变量/home/wu_being/.bashrc文件后,要source 更新一下:
wu_being@JStorm-VirtualBox:~$source /home/wu_being/.bashrc
wu_being@JStorm-VirtualBox:~$source /etc/profile
2.1.4 配置zoo.cfg
配置文件存放在$ZOOKEEPER_HOME/conf/目录下,将zoo_sample.cfd文件名称改为zoo.cfg(cp zoo_sample.cfg zoo.cfg), 缺省的配置内容如下:
# The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. #####这是我修改后的 dataDir=/home/wu_being/zookeeper-3.4.5/data # the port at which the clients will connect clientPort=2181 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1
配置说明:
tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
2.1.5 启动zookeeper
当这些配置项配置好后,你现在就可以启动zookeeper了:wu_being@JStorm-VirtualBox:~/ netstat -at|grep 2181 #查看zookeeper端口 wu_being@JStorm-VirtualBox:~/ netstat -nat #查看端口信息 wu_being@JStorm-VirtualBox:~/zookeeper-3.4.5/bin$ ./zkServer.sh start #启动 wu_being@JStorm-VirtualBox:~/zookeeper-3.4.5/bin$ jps #查看启动的服务名称 wu_being@JStorm-VirtualBox:~/zookeeper-3.4.5/bin$ ./zkServer.sh stop #关闭
注:jps命令是java jdk中的,启动zkServer也是要先配制好java jdk,不然启动成功也是假现象的!!!
jps本身服务名称:4793 Jps
zkServer服务名称:4464 QuorumPeerMain
启动后要检查 Zookeeper 是否已经在服务,可以通过
netstat -at|grep 2181命令查看是否有 clientPort 端口号在监听服务。并在zookeeper-3.4.5生成data文件夹,data文件夹version-2文件夹和zookeeper_server.pid文件。
三 搭建JStorm集群
3.1 安装Python 2.6
如果当前系统提供Python,可以不用安装Python自己可以参考 python
也可以使用https://github.com/utahta/pythonbrew 来安装python > curl -kL http://xrl.us/pythonbrewinstall | bash
-s $HOME/.pythonbrew/etc/bashrc && source $HOME/.pythonbrew/etc/bashrc pythonbrew install 2.6.7 pythonbrew switch 2.6.7
3.2 安装JDK (1.7 版本)
注意,如果当前系统是64位系统,则需要下载64位JDK,如果是32为系统,则下载32位JDK3.3 安装JStorm
假设以jstorm-0.9.6.3.zip为例unzip jstorm-2.1.1.zip vi ~/.bashrc export JSTORM_HOME=/home/wu_being/jstorm-2.1.1 export PATH=$PATH:$JSTORM_HOME/bin
注意:要
wu_being@JStorm-VirtualBox:~$ source .bashrc
3.3.1 配置$JSTORM_HOME/conf/storm.yaml
配置项:1. storm.zookeeper.servers: 表示zookeeper 的地址, 2. nimbus.host: 表示nimbus的地址 3. storm.zookeeper.root: 表示JStorm在zookeeper中的根目录,当多个JStorm共享一个zookeeper时,需要设置该选项,默认即为“/jstorm” 4. storm.local.dir: 表示JStorm临时数据存放目录,需要保证JStorm程序对该目录有写权限 5. java.library.path: Zeromq 和java zeromq library的安装目录,默认"/usr/local/lib:/opt/local/lib:/usr/lib" 6. supervisor.slots.ports: 表示Supervisor 提供的端口Slot列表,注意不要和其他端口发生冲突,默认是68xx,而Storm的是67xx 7. topology.enable.classloader: false, 默认关闭classloader,如果应用的jar与JStorm的依赖的jar发生冲突,比如应用使用thrift9,但jstorm使用thrift7时,就需要打开classloader。建议在集群级别上默认关闭,在具体需要隔离的topology上打开这个选项。
3.3.2 例子
########### These MUST be filled in for a storm configuration storm.zookeeper.servers: - "172.17.21.33" storm.zookeeper.root: "/jstorm" nimbus.host: "172.17.21.33" nimbus.host.start.supervisor: false nimbus.childopts: "-Xmx256m" supervisor.childopts: "-Xmx256m" worker.childopts: "-Xmx128m" storm.local.dir: "%JSTORM_HOME%/data" supervisor.slots.ports: - 6800 - 6801 - 6802 - 6803
3.3.3 在提交jar的节点上执行
#mkdir ~/.jstorm #cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm
3.4 在tomcat服务器安装JStorm Web UI4
必须使用tomcat 7.0 或以上版本, 注意不要忘记拷贝 ~/.jstorm/storm.yamlWeb UI 可以和Nimbus不在同一个节点
mkdir ~/.jstorm cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm tar -xzf apache-tomcat-7.0.70.tar.gz ### cd apache-tomcat-7.0.70 cd webapps cp $JSTORM_HOME/jstorm-ui-2.1.1.war ./ mv ROOT ROOT.old ### ln -s jstorm-ui-2.1.1 ROOT ### cd ../bin ./startup.sh #####
注意:
下载tomcat 7.x (以apache-tomcat-7.0.70 为例)
ln不是 ln -s jstorm-ui-2.1.1.war ROOT 这个要小心
startup.sh后,在终端输入jps会多一个服务名称:4777 Bootstrap
在浏览器输入“本地ip:8080”可以在web管理JStorm集群。前提是配制好
.jstorm/storm.yaml文件,并启动zookeeper,最好先启动nimbus和supervisor服务器。
3.5 启动JStorm
在nimbus 节点上执行nohup jstorm nimbus &, 查看$JSTORM_HOME/logs/nimbus.log检查有无错误
在supervisor节点上执行
nohup jstorm supervisor &, 查看$JSTORM_HOME/logs/supervisor.log检查有无错误
四 更多链接
4.1 Zookeeper知识更多链接
ZooKeeper 是什么为什么要使用ZooKeeper
Zookeeper系列教材
4.2 JStorm知识更多链接
alibaba/jstormhttps://github.com/alibaba/jstorm/wiki
jstorm 介绍
https://yq.aliyun.com/articles/2893
jstorm 2.1.1 release
https://yq.aliyun.com/articles/25391
Kafka、RabbitMQ、RocketMQ消息中间件的对比——消息发送性能
https://yq.aliyun.com/articles/25385
Hadoop之MapReduce
http://blog.csdn.net/wangloveall/article/details/21407531
Wu_Being博客声明:本人博客欢迎转载,请标明博客原文和原链接!谢谢!
《在虚拟机搭建JStrom》:
http://blog.csdn.net/u014134180/article/details/51810311
如果你看完这篇博文,觉得对你有帮助,并且愿意付赞助费,那么我会更有动力写下去。
Zookeeper 简易安装步骤:http://www.cnblogs.com/linjiqin/archive/2013/03/16/2962597.html ↩
ZooKeeper单机模式、伪集群模式、集群模式的安装:http://blog.csdn.net/hi_kevin/article/details/7089358 ↩
Linux中profile、bashrc、~/.bash_profile、~/.bashrc、~/.bash_profile之间的区别和联系以及执行顺序 ↩
Linux下Tomcat的安装配置 ↩
相关文章推荐
- JS闭包理解
- js跨域资源共享 基础篇
- QWebEngineView与js交互
- 关于Javascript表单验证
- js获取DIV的位置坐标的三种方法
- JavaScript数据存储 Cookie篇
- Alibaba Fastjson 框架修炼
- JavaScript学习之事件原理和实践
- JavaScript实现简单的拖动效果
- jsp分页页面——数字分页
- js监听输入框值的即时变化onpropertychange、oninput
- JavaScript Array vs new Array区别
- javascript渲染单页效率简述
- Json.NET
- javascript Date format(js日期格式化)
- 两种方法实现在HTML页面加载完毕后运行某个js
- JS 页面加载触发事件 document.ready和onload的区别
- JavaScript网页编程之------基本运用语法(变量、运算符、语句)
- JSON-Schema学习心得
- 关于浮动与清除浮动,你应该知道的