CentOS7架设Storm单实例服务

14 篇文章 0 订阅
13 篇文章 0 订阅

最近学习研究Storm,需要一个Storm服务器环境。搜一下发现网络上大都是架设集群的,本人主要从事java后端,不需要在服务器运维方面搞得过于深入,加之用虚拟机架设一个多节点的集群也颇为消耗资源。试想我正在调试Java程序,还要开着三个虚拟机,是不是很麻烦。所以我们只需要一个单实例的服务器就好了。

最开始还是追求Docker化的架设,但是考虑到可能需要把Storm的jar包上传到服务器,使用Docker就有点啰嗦,所以还是直接在CentOS7里面进行架设。架设过程中当然还是遇到了一些问题,最终是架设成功了。将过程总结如下。

一、下载软件

cd /var/app
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache/storm/apache-storm-2.2.0/apache-storm-2.2.0.tar.gz

二、解压软件

tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
tar -zxvf apache-storm-2.2.0.tar.gz

Hadoop的组件好像都需要zookeeper,所以我们需要同事架设病开启一个zookeeper。

三、创建数据存储和日志存储文件夹

mkdir -p /var/app/apache-zookeeper-3.7.0-bin/data && chmod -R 777 /var/app/apache-zookeeper-3.7.0-bin/data

mkdir -p /var/app/apache-storm-2.2.0/data \
    && mkdir -p /var/app/apache-storm-2.2.0/logs \
    && chmod -R 777 /var/app/apache-storm-2.2.0/data \
    && chmod -R 777 /var/app/apache-storm-2.2.0/logs

四、设置并运行Zookeeper

复制zoo.cfg配置文件

cd /var/app/apache-zookeeper-3.7.0-bin/conf/
cp zoo_sample.cfg zoo.cfg

修改这个配置文件

vi zoo.cfg

修改数据文件存储位置。数据默认是存在临时文件夹下的,最好改个位置。

dataDir=/var/app/apache-zookeeper-3.7.0-bin/data

运行Zookeeper

/var/app/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start

五、修改Storm的配置文件storm.yaml

cd /var/app/apache-storm-2.2.0/conf
vi storm.yaml

在其中添加以下内容即可

storm.zookeeper.servers:
    - "192.168.0.54"
storm.local.dir: "/var/app/apache-storm-2.2.0/data"
ui.port: 8081
supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
nimbus.seeds: ["192.168.0.54"]

如果运行nimbus出错,提示不能解析,八成是复制的时候没有处理好空格。我在架设过程中就这样反复尝试,确定清除了所有暗藏在每一个值后面的空格才最终搞定。

192.168.0.54是zookeeper集群的一个节点,也是storm集群中一个nimbus节点。由于我们搭建的就是一个单实例服务,最易都是本机IP。

supervisor.slots.ports 应该是泳衣处理任务的资源端口,暂时还没搞清楚,不过可以随便填写,只要端口不冲突即可。

Zookeeper在启动之后不知哪一个组件占用了8080端口,没有去详细研究。而8080又是Storm UI的默认端口,几次启动失败发现了这个问题,于是就把Storm UI的端口改成了8081.

六、添加环境变量

Storm操作要用到bin下的命令,使用绝对路径很麻烦,添加环境变量可以使操作变得简捷。

vi /etc/profile

在最后添加

# storm
export STORM_HOME=/var/app/apache-storm-2.2.0
export PATH=$PATH:$STORM_HOME/bin

保存退之后刷新资源文件

source /etc/profile

七、启动

依次运行

nohup storm nimbus > /var/app/apache-storm-2.2.0/logs/nimbus.log 2>&1 &
nohup storm supervisor > /var/app/apache-storm-2.2.0/logs/supervisor.log 2>&1 &
nohup storm ui > /var/app/apache-storm-2.2.0/logs/ui.log 2>&1 &

八、查看页面 

http://storm.chris.com:8081/ 这个域名是在hosts中设置过的,可以使用IP

看到这个状态,没有报错,这就算是成功了。

目前这个服务器,可以上传jar包执行,可以本地java代码提交执行,经测试没有问题。只是无法测试分布式的应用,

由于这是一个用于学习研究Storm的专用服务器,开机之后需要运行四行命令,所以可以在登录入口位置入口位置~创建一个脚本来一次性启动。

vi ~/start.sh
#!/bin/bash
/var/app/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start
nohup storm nimbus > /var/app/apache-storm-2.2.0/logs/nimbus.log 2>&1 &
nohup storm supervisor > /var/app/apache-storm-2.2.0/logs/supervisor.log 2>&1 &
nohup storm ui > /var/app/apache-storm-2.2.0/logs/ui.log 2>&1 &
chmod -R 777 ~/start.sh

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值