Storm 学习之旅 (1)- 安装

本文详细介绍了如何在单服务器上安装配置Java、Zookeeper及Storm的过程。从环境准备到具体步骤,适合初学者实践。
To be honest, 技术博客之道已然荒废很久。最近研究Storm的安装,之后会学习Storm相关的编程和实践,可悲上了年纪了,记忆力依然不佳,所以重拾博客记录一下。开篇是关于单服务器Storm安装。本人以最笨重的方式搭建了环境,存在不甚合理的地方,请见谅。另外, 并不推荐使用这种方式去构建大型分布式应用环境,尤其如Storm开发之类的,相对来说本人比较推荐使用docker profile之类的正确方式。之所以采用这种笨重的方式,只是自己用以了解所以然的一种方式而已。


服务器环境(自学)

  • - 内存 – 2GB (推荐4GB+) 
  • - 硬盘 – 100GB
  • - 操作系统 – ubuntu 16.x.x LTS

软件:

命令行

  • 文件操作: cp, mv, rm, mkdir,tar, cd, ls
  • 文件权限: chown, chgrp, chmod
  • 文本编辑: vi
  • 网络操作: wget,curl
  • 其他: sudo,apt-get,kill,jobs,nohup,ps,ifconfig


安装说明:

一、JDK安装

安装之前我计划把所有的相关软件都装入/opt目录下,当然这里有人会质疑为什么不用OpenJDK 或者用apt-get install直接。我的想法很简单,就是想把这些软件统一管理起来,用apt-get install经常让我摸不清它装在哪里,变更的什么东西。当然用apt-get install也有好处,例如JDK应该是所有用户共享的。当然我们通过手动方式也能实现。还有装在/opt不一定是个好主意,推荐装在/usr/share. 言归正传, 下面简单介绍安装过程

1. sudo cp JDK压缩文件到目标文件夹/opt下,如果你是root超级管理员,去掉sudo,里面类同。

2. sudo tar -xzvf JDK压缩文件

3. 重命名解压缩后JDK文件夹为java – sudo mv JDK压缩文件 java

4. 检查所属文件用户和用户组 – ll


5. 如果java文件夹所属目录为root并且当前你所使用账号为非root,请使用如下命令变更用户和用户组- sudo chown -R 用户 java/ 和 sudo chgrp -R 用户组 java/

之所以这么做,是因为storm,zookeeper, java 需要在相同用户权限下工作,不然例如系统环境变量无法共享,导致例如zookeeper或者storm启动时,经常报java:command not found 这样的错误

6. 设置读写执行权限 – sudo chmod -R 775 java/

7. 配置环境变量

- cd /etc

- sudo vi profile

- source ./profile

8. 检查JDK是否安装成功 – java


一、Zookeeper 安装

在这里我模拟真实的集群环境,通过设置不同的端口,构建了伪的三节点集群。但是发现storm只支持相同端口的zookeeper集群,实际也只是用到其中一个节点而已。目前没有找到解决方法。这里我还是会按照集群构建来介绍

1. 在/opt下新建目录zookeeper – sudo mkdir zookeeper

2. 拷贝zookeeper压缩文件到/opt目录下

3. 解压缩zookeeper文件

4. 拷贝解压缩的所有文件,并复制到zookeeper下1, 2, 3三个目录

5. 如果zookeeper文件夹所属目录为root并且当前你所使用账号为非root,请使用如下命令变更用户和用户组- sudo chown -R 用户 zookeeper/ 和 sudo chgrp -R 用户组 zookeeper/

之所以这么做,是因为storm,zookeeper, java 需要在相同用户权限下工作,不然例如系统环境变量无法共享,导致例如zookeeper或者storm启动时,经常报java:command not found 这样的错误。细心的朋友发现我在上面并没有给zookeeper修改用户和用户组,那么另外的方法是zkEnv.sh 头上添加’JAVA_HOME=”/opt/java”’. ZkEnv.sh可以在zookeeper的bin目录下找到

6. 设置读写执行权限 – sudo chmod -R 775 zookeeper/

7. 为zookeeper 新建数据存储目录,这里我把它放置在/data目录下并分别在data目录下的zookeeper目录中新建了1,2,3 三个文件目录对应zookeeper三个节点。在这三个目录里新建myid文件并分别赋予1, 2,3 数字文本

8. 打开zookeeper的conf目录下的zoo.cfg 文件,安装时候没有,请拷贝zoo.cfg.sample 文件并重命名为zoo.cfg. 然后用vi打开编辑

- 设置数据存储目录

- 设置zookeeper 服务端口, 对应节点1为2181,那么节点二就应该是2182,以此类推。真实的服务集群必须统一端口,因为伪集群在同一台服务器上,故只能错开端口设置来实现

- 设置node 地址跟端口 , 如果是真实集群,请使用真实公网ip,不然zookeeper会互相找不到节点

9. 启动zookeeper节点 - ./bin/zkServer.sh start


一、Storm 安装

正常情况下,我们需要安装Storm UI, Numbis 跟 Supervisor 节点, Storm UI 和 Numbis 需要在同一个服务器上,而Supervisor正常应给在其他服务器上部署。 这里都搭建在同一台服务器。

1. 拷贝storm压缩文件到/opt目录下

2. 解压缩storm文件

3. 如果storm文件夹所属目录为root并且当前你所使用账号为非root,请使用如下命令变更用户和用户组- sudo chown -R 用户 storm/ 和 sudo chgrp -R 用户组 storm /

如果你在启动时候发现storm 报 Failed to create file or directory: /opt/xxx/logs, 那么就说明你工作目录权限没有设对

4. 在/data目录下新建storm 临时数据存储目录 /storm

5. 打开storm的配置文件conf/storm.yaml,修改配置文件

- 指定zookeeper server


, 真实应该使用公网ip地址。

- 如果有端口需要,修改storm.zookeeper.port选项,默认为2181

- 指定UI 站点端口,默认8888

- 指定数据存储目录,

, 记住数据存储目录需要有storm相同的目录访问权限

- 指定日志存储目录,如果有需要的话

- 设置work节点


6. 设置系统环境变量


7. 启动UI

nohup storm ui >/dev/null 2>&1 &复制代码

8. 启动 Numbis

nohup storm nimbus >/dev/null 2>&1 &复制代码

9. 启动 Supervisor

nohup storm supervisor >/dev/null 2>&1 &复制代码


博客引用声明(大神之作):

www.cnblogs.com/zhaojiankai… 

www.cnblogs.com/ning-wang/p…


转载于:https://juejin.im/post/5b3c3e1f5188251ac10971c2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值