[笔记]2016阿里中间件性能挑战赛(一)

目录

前言

跳过废话,直接看正文

2016.5-2016.8,阿里巴巴集团在天池大数据平台上举行了阿里中间件性能挑战赛,我和北京的两个队友参加了比赛。经历了初赛和复赛,最终获得了决赛的亚军。在这个过程中我收获颇丰,在此便记录下整个比赛的一些过程,并分享出初赛和复赛的代码。


正文

目录

初赛题目介绍

赛题官方介绍

其实就是写一个topology,整个任务流程是利用JStorm从RocketMQ拉取数据,按照要求实时计算出结果,并将结果写入Tair。

赛题所使用的三种产品是:

  • RocketMQ-3.2.6
  • Tair-2.3.4
  • JStorm-2.1.1

帮助文档:

Tair环境配置

按照Tair部署帮助文档配置即可

值得注意的是,在ubuntu上部署会遇到一些问题,解决起来有些麻烦,因此最好在centos上部署。

RocketMQ环境配置

单机部署过程记录:

  1. 下载release包
    2.下载源码
  2. cd /alibaba-rocketmq/bin (第1步中解压出的文件夹)
  3. 启动namesrv
    nohup sh mqnamesrv &
    (默认NameServer的监听端口是9876,可以用 jpsnetstat -pan | grep 9876 查看是否启动成功)
  4. 部署Broker(单Master模式)
    nohup sh mqbroker -n "127.0.0.1:9876" -c ../conf/2m-2s-async/broker-a.properties &
  5. 打开第2步中下载的文件夹RocketMQ,用IDE(Eclipse/IDEA)导入rocketmq-example项目
  6. com.alibaba.rocketmq.example.quickstart.Producer中的DefaultMQProducer producer = new DefaultMQProducer...这一行后加入producer.setNamesrvAddr("127.0.0.1:9876");
  7. com.alibaba.rocketmq.example.quickstart.Consumer中的DefaultMQPushConsumer consumer = new DefaultMQPushConsumer...这一行后加入consumer.setNamesrvAddr("127.0.0.1:9876");
  8. 先运行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

  1. 新建用户admin和用户组admin
  2. 安装rpm包
  3. 集群配置
  4. 单机配置, 在同一台机器上启动nimbus和supervisor)

5. 全部完成后使用jps命令应该能够看到如下进程

admin@ubuntu:~$ jps
9840 NimbusServer
8051 Bootstrap
9573 QuorumPeerMain
10086 Supervisor
8924 Jps

后记

之前完全没有接触过这三个框架,前前后后共花了两天时间才完成配置,在这个过程中遇到许多坑,因此浪费了不少时间。希望这个笔记能够帮助大家绕过这些坑。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值