Storm搭建

本文详细介绍了如何安装和配置Apache Storm集群,包括前期准备、安装零MQ、JZMQ,以及安装Apache Storm本身,最后提供了注意事项和线上部署指南。
1、前期准备
# yum install libtool
# yum install gcc
# yum install gcc-c++
# yum install make
yum install uuid-devel
# yum install libuuid-devel


2、安装zeromq 2.1.4
http://download.zeromq.org/
tar -xzf zeromq-2.1.4.tar.gz
cd zeromq-2.1.4
./configure
make
sudo make install


3、安装JZMQ
https://codeload.github.com/zeromq/jzmq/zip/master
cd jzmq
sh autogen.sh
./configure
make
sudo make install


4、storm
 下载storm安装包
 http://storm.apache.org/downloads.html
修改conf/storm.yaml
1) storm.zookeeper.servers: Storm集群使用的Zookeeper集群地址,其格式如下:
storm.zookeeper.servers:   
  - "111.222.333.444"   
  - "555.666.777.888" 
  
2) storm.local.dir: Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。然后在storm.yaml中配置该目录,如:
storm.local.dir: "/usr/local/program/storm/data"  
  
注:需要首先创建data目录。正式上线时,要把storm.local.dir下的所有数据删除,


3) nimbus.host: Storm集群Nimbus机器地址,各个Supervisor工作节点需要知道哪个机器是Nimbus,以便下载Topologies的jars、confs等文件,如:
nimbus.host: "111.222.333.444"  


4) supervisor.slots.ports: 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4个workers,分别在6700、6701、6702和6703端口,如:


supervisor.slots.ports:   
    - 6700    
    - 6701   
    - 6702   
    - 6703  

5、启动Storm各个后台进程
Nimbus: 在Storm主控节点上运行 "storm nimbus &" 启动Nimbus后台程序,并放到后台执行;
Supervisor: 在Storm各个工作节点上运行" storm supervisor &"启动Supervisor后台程序,并放到后台执行;
UI: 在Storm主控节点上运行 "storm ui &" 启动UI后台程序,并放到后台执行,启动后可以通过http://{nimbus host}:8080观察集群的worker资源使用情况、Topologies的运行状态等信息。




6、注意事项:
1)Storm后台进程被启动后,将在Storm安装部署目录下的logs/子目录下生成各个进程的日志文件。
2)经测试,Storm UI必须和Storm Nimbus部署在同一台机器上,否则UI无法正常工作,因为UI进程会检查本机是否存在Nimbus链接。

3)为了方便使用,可以将bin/storm加入到系统环境变量中。


7.storm线上部署

1)打jar包 mvn clean package

2)上传storm集群 storm jar xxx.jar com.sss.class



内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值