CentOS 6.8 安装并使用JStorm集群

2023-04-26 15:22:31 浏览数 (1)

JStorm 是参考 Apache Storm 实现的实时流式计算框架,在网络IO、线程模型、资源调度、可用性及稳定性上做了持续改进,已被越来越多企业使用。

从应用的角度,JStorm应用是一种遵守某种编程规范的分布式应用。从系统角度, JStorm是一套类似MapReduce的调度系统。 从数据的角度,JStorm是一套基于流水线的消息处理机制。

实时计算现在是大数据领域中最火爆的一个方向,因为人们对数据的要求越来越高,实时性要求也越来越快,传统的Hadoop MapReduce,逐渐满足不了需求,因此在这个领域需求不断。

Jstorm 集群安装

1、系统环境准备

# OS: CentOS 6.8 mininal

# host.ip: 10.1.1.78 aniutv-1

# host.ip: 10.1.1.80 aniutv-2

# host.ip: 10.1.1.97 aniutv-5

2、安装目录自定义

jstorm : /opt/jstorm (源码安装);

zookeeper : /opt/zookeeper(源码安装);

java : /usr/java/jdk1.7.0_79 (rpm包安装)

3、zookeeper 集群安装

4、zeromq 安装

zeromq下载地址:http://zeromq.org/area:download/

下载zeromq-4.2.1.tar.gz 到/usr/local/src

cd /usr/local/src && tar -zxf zeromq-4.2.1.tar.gz -C /opt

cd /opt/zeromq-4.2.1 && ./configure && make && sudo make install && sudo ldconfig

5、jzmq安装

cd /opt && git clone  https://github.com/nathanmarz/jzmq.git

./autogen.sh && ./configure && make && make install

6、JStorm安装

wget https://github.com/alibaba/jstorm/releases/download/2.1.1/jstorm-2.1.1.zip -P /usr/local/src

cd /usr/local/src && unzip jstorm-2.1.1.zip -d /opt

cd /opt && mv jstorm-2.1.1 jstorm

# mkdir /opt/jstorm/jstorm_data

echo '# jstorm env' >> ~/.bashrc

echo 'export JSTORM_HOME=/opt/jstorm' >> ~/.bashrc

echo 'export PATH=PATH:JSTORM_HOME/bin' >> ~/.bashrc

source ~/.bashrc

# JStorm 配置

sed -i /'storm.zookeeper.servers:/a - "10.1.1.78"' /opt/jstorm/conf/storm.yaml

sed -i /'storm.zookeeper.servers:/a - "10.1.1.80"' /opt/jstorm/conf/storm.yaml

sed -i /'storm.zookeeper.servers:/a - "10.1.1.97"' /opt/jstorm/conf/storm.yaml

sed -i /'storm.zookeeper.root/a nimbus.host: "10.1.1.78"' /opt/jstorm/conf/storm.yaml

配置项:

storm.zookeeper.servers: 表示zookeeper 的地址;

nimbus.host: 表示nimbus的地址;

storm.zookeeper.root: 表示JStorm在zookeeper中的根目录,当多个JStorm共享一个zookeeper时,需要设置该选项,默认即为“/jstorm”;

storm.local.dir: 表示JStorm临时数据存放目录,需要保证JStorm程序对该目录有写权限;

java.library.path: Zeromq 和java zeromq library的安装目录,默认”/usr/local/lib:/opt/local/lib:/usr/lib”;

supervisor.slots.ports: 表示Supervisor 提供的端口Slot列表,注意不要和其他端口发生冲突,默认是68xx,而Storm的是67xx;

topology.enable.classloader: false, 默认关闭classloader,如果应用的jar与JStorm的依赖的jar发生冲突,比如应用使用thrift9,但jstorm使用thrift7时,就需要打开classloader。建议在集群级别上默认关闭,在具体需要隔离的topology上打开这个选项。

# 下面命令只需要在安装 jstorm_ui 和提交jar节点的机器上面执行即可

mkdir ~/.jstorm

cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm

7、安装JStorm Web UI

强制使用tomcat7.0或以上版本,切记拷贝**~/.jstorm/storm.yaml,** Web UI 可以和Nimbus在同一个节点上

mkdir ~/.jstorm

cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm

下载tomcat 7.x (以apache-tomcat-7.0.37 为例)

tar -xzf apache-tomcat-7.0.75.tar.gz

cd apache-tomcat-7.0.75

cd webapps

cp $JSTORM_HOME/jstorm-ui-2.1.1.war ./

mv ROOT ROOT.old

ln -s jstorm-ui-2.1.1 ROOT   

# 另外不是 ln -s jstorm-ui-2.1.1.war ROOT 这个要小心

cd ../bin

./startup.sh

8、JStorm启动

1.在nimbus 节点(10.1.1.78)上执行 “nohup jstorm nimbus &”, 查看$JSTORM_HOME/logs/nimbus.log检查有无错误

2.在supervisor节点(10.1.1.78,10.1.1.80,10.1.1.97)上执行 “nohup jstorm supervisor &”, 查看$JSTORM_HOME/logs/supervisor.log检查有无错误

9、JStorm Web UI

JStorm集群启动成功截图如下:

CentOS 6.8 实战部署JStorm集群CentOS 6.8 实战部署JStorm集群

# JStorm 集群安装问题总结

1、注意/etc/hosts设置,添加相对应的ip hostname

2、设置ssh免密操作(此步骤在zookeeper集群完成)

3、注意各服务的环境变量设置

0 人点赞