天天看點

[筆記]2016阿裡中間件性能挑戰賽(一)

目錄

    • 目錄
    • 前言
    • 正文
      • 目錄
      • 初賽題目介紹
      • 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環境配置

單機部署過程記錄:

  1. 下載下傳release包

    2.下載下傳源碼

  2. cd /alibaba-rocketmq/bin

    (第1步中解壓出的檔案夾)
  3. 啟動namesrv

    nohup sh mqnamesrv &

    (預設NameServer的監聽端口是9876,可以用

    jps

    netstat -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-..tar.gz
tar zxf zeromq-..tar.gz
cd zeromq-.
./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指令應該能夠看到如下程序

[email protected]:~$ jps
 NimbusServer
 Bootstrap
 QuorumPeerMain
 Supervisor
 Jps
           

後記

之前完全沒有接觸過這三個架構,前前後後共花了兩天時間才完成配置,在這個過程中遇到許多坑,是以浪費了不少時間。希望這個筆記能夠幫助大家繞過這些坑。

繼續閱讀