[笔记]2016阿里中间件性能挑战赛(一)
2016-12-20 23:12
387 查看
目录
目录前言
正文
目录
初赛题目介绍
Tair环境配置
RocketMQ环境配置
Jstorm环境配置
后记
前言
跳过废话,直接看正文2016.5-2016.8,阿里巴巴集团在天池大数据平台上举行了阿里中间件性能挑战赛,我和北京的两个队友参加了比赛。经历了初赛和复赛,最终获得了决赛的亚军。在这个过程中我收获颇丰,在此便记录下整个比赛的一些过程,并分享出初赛和复赛的代码。
正文
目录
初赛题目介绍Tair环境配置
RocketMQ环境配置
Jstorm环境配置
初赛题目介绍
赛题官方介绍其实就是写一个topology,整个任务流程是利用JStorm从RocketMQ拉取数据,按照要求实时计算出结果,并将结果写入Tair。
赛题所使用的三种产品是:
RocketMQ-3.2.6
Tair-2.3.4
JStorm-2.1.1
帮助文档:
Tair开发帮助文档
RocketMQ 开发帮助文档
Jstorm开发帮助文档
Tair环境配置
按照Tair部署帮助文档配置即可值得注意的是,在ubuntu上部署会遇到一些问题,解决起来有些麻烦,因此最好在centos上部署。
RocketMQ环境配置
单机部署过程记录:下载release包
2.下载源码
cd /alibaba-rocketmq/bin(第1步中解压出的文件夹)
启动namesrv
nohup sh mqnamesrv &
(默认NameServer的监听端口是9876,可以用
jps和
netstat -pan | grep 9876查看是否启动成功)
部署Broker(单Master模式)
nohup sh mqbroker -n "127.0.0.1:9876" -c ../conf/2m-2s-async/broker-a.properties &
打开第2步中下载的文件夹RocketMQ,用IDE(Eclipse/IDEA)导入rocketmq-example项目
在com.alibaba.rocketmq.example.quickstart.Producer中的
DefaultMQProducer producer = new DefaultMQProducer...这一行后加入
producer.setNamesrvAddr("127.0.0.1:9876");
在com.alibaba.rocketmq.example.quickstart.Consumer中的
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer...这一行后加入
consumer.setNamesrvAddr("127.0.0.1:9876");
先运行com.alibaba.rocketmq.example.quickstart.Consumer再运行com.alibaba.rocketmq.example.quickstart.Producer就可以看到输出信息
其他参考资料:
阿里RocketMQ Quick Start
Jstorm环境配置
与storm一样,Jstorm的底层消息通信机制依赖zeromq/jzmq,另外,Jstorm通过zookeeper实现数据共享和协调服务,因此需要先安装这三个组件。1. 安装zeromq
wget http://download.zeromq.org/zeromq-3.2.4.tar.gz tar zxf zeromq-3.2.4.tar.gz cd zeromq-3.2.4 ./configure make sudo make install sudo ldconfig
2. 安装jzmq
wget https://github.com/zeromq/jzmq/tarball/master -O jzmq.tar.gz tar zxf jzmq.tar.gz cd jzmq/jzmq-jni ./autogen.sh ./configure make sudo make install
3. 安装zookeeper
下载地址:zookeeper-3.4.8.tar.gz
单机或集群的配置过程参考ZooKeeper的安装即可
4. 安装jstorm
下载地址:taobao-jstorm-2.1.1.rpm
操作系统环境:ubuntu14.04
新建用户admin和用户组admin
安装rpm包
集群配置
单机配置, 在同一台机器上启动nimbus和supervisor)
5. 全部完成后使用jps命令应该能够看到如下进程
admin@ubuntu:~$ jps 9840 NimbusServer 8051 Bootstrap 9573 QuorumPeerMain 10086 Supervisor 8924 Jps
后记
之前完全没有接触过这三个框架,前前后后共花了两天时间才完成配置,在这个过程中遇到许多坑,因此浪费了不少时间。希望这个笔记能够帮助大家绕过这些坑。相关文章推荐
- [笔记]2016阿里中间件性能挑战赛(三)
- [笔记]2016阿里中间件性能挑战赛(二)
- 第三届阿里中间件性能挑战赛-挑战双十一亿级消息引擎
- 第三届阿里中间件性能挑战赛 初赛记录及源码分享
- 阿里巴巴中间件性能挑战赛(MOM篇)
- 【总结】阿里中间件性能大赛
- 阿里巴巴中间件性能挑战赛(RPC篇 同步阻塞模型)
- Kafka vs RocketMQ——多Topic对性能稳定性的影响-转自阿里中间件
- Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能-转自阿里中间件
- 转:Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能 (阿里中间件团队博客)
- Kafka vs RocketMQ——多Topic对性能稳定性的影响-转自阿里中间件
- Voice Conversion 项目笔记(含从VCC 2016匿名比赛深挖的各前沿方法性能对比)
- Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能-转自阿里中间件
- 阿里中间件学习笔记
- Kafka vs RocketMQ—— Topic数量对单机性能的影响-转自阿里中间件
- Android逆向学习笔记---逆向腾讯2016游戏安全挑战赛Tencent2016A.apk
- Kafka vs RocketMQ—— Topic数量对单机性能的影响-转自阿里中间件
- Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能 (阿里中间件团队博客)
- Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能-转自阿里中间件
- 阿里巴巴中间件性能挑战赛(RPC篇 复杂版)