【中间件2】在虚拟机搭建JStrom

本文涉及的产品
性能测试 PTS,5000VUM额度
注册配置 MSE Nacos/ZooKeeper,118元/月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 一 安装步骤二 搭建Zookeeper集群1 ZooKeeper 单机安装与配置11 下载zookeeper安装包12 解压zookeeper安装包13 设置环境变量14 配置zoocfg15 启动zookeeper三 搭建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

-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位JDK

3.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.yaml

Web 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知识更多链接

4.2 JStorm知识更多链接

Wu_Being博客声明:本人博客欢迎转载,请标明博客原文和原链接!谢谢!
《在虚拟机搭建JStrom》:
http://blog.csdn.net/u014134180/article/details/51810311

Wu_Being 吴兵博客接受赞助费二维码

如果你看完这篇博文,觉得对你有帮助,并且愿意付赞助费,那么我会更有动力写下去。

目录
相关文章
|
20天前
|
存储 SQL 数据库
虚拟化数据恢复—Vmware虚拟机误还原快照的数据恢复案例
虚拟化数据恢复环境: 一台虚拟机从物理机迁移到ESXI虚拟化平台,迁移完成后做了一个快照。虚拟机上运行了一个SQL Server数据库,记录了数年的数据。 ESXI虚拟化平台上有数十台虚拟机,EXSI虚拟化平台连接了一台EVA存储,所有的虚拟机都存放在EVA存储上。 虚拟化故障: 工组人员误操作将数年前迁移完成后做的快照还原了,也就意味着虚拟机状态还原到数年前,近几年数据都被删除了。 还原快照相当于删除数据,意味着部分存储空间会被释放。为了不让这部分释放的空间被重用,需要将连接到这台存储的所有虚拟机都关掉,需要将不能长时间宕机的虚拟机迁移到别的EXSI虚拟化平台上。
94 50
|
2月前
|
安全 虚拟化 数据中心
Xshell 连接 VMware虚拟机操作 截图和使用
Xshell 连接 VMware虚拟机操作 截图和使用
54 4
|
2月前
|
Linux 虚拟化
vmware虚拟机安装2024(超详细)
vmware虚拟机安装2024(超详细)
316 6
|
6月前
|
Unix Linux 虚拟化
虚拟机VMware知识积累
虚拟机VMware知识积累
|
2月前
|
虚拟化 网络虚拟化 网络架构
虚拟机 VMware Workstation 16 PRO 的网络配置
虚拟机 VMware Workstation 16 PRO 的网络配置
|
3月前
|
存储 SQL 数据挖掘
虚拟化数据恢复—VMware虚拟机vmdk文件被误删除的数据恢复案例
虚拟化数据恢复环境: 某品牌服务器(部署VMware EXSI虚拟机)+同品牌存储(存放虚拟机文件)。 虚拟化故障: 意外断电导致服务器上某台虚拟机无法正常启动。查看虚拟机配置文件发现这台故障虚拟机除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。管理员联系VMware工程师寻求帮助。VMware工程师尝试新建一个虚拟机来解决故障,但发现ESXi存储空间不足。于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除,然后重建一个虚拟机并且分配固定大小的虚拟磁盘。
|
4月前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
160 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
4月前
|
编解码 Linux 虚拟化
超详细VMware虚拟机安装Win10操作系统过程图解
这篇文章提供了一个详细的VMware虚拟机安装Windows 10操作系统的图解教程,包括了从创建虚拟机到安装操作系统的全过程,以及安装后的一些基本设置,如屏幕分辨率调整等。作者还提到了后续会分享关于磁盘分区的创建过程。
超详细VMware虚拟机安装Win10操作系统过程图解
|
4月前
|
虚拟化
vmware虚拟机使用主机代理访问谷歌
vmware虚拟机使用主机代理访问谷歌
|
5月前
|
存储 Linux 虚拟化
入职必会-开发环境搭建32-VMware虚拟机下载和安装
VMware虚拟机是一种基于VMware虚拟化技术的软件解决方案,它可以在一台物理计算机上创建多个独立的虚拟计算机环境。这些虚拟机可以运行不同的操作系统,如Windows、Linux等,使用户能够在单台计算机上同时运行多个操作系统。
130 0
入职必会-开发环境搭建32-VMware虚拟机下载和安装