Monday, 10 December 2018

[RocketMQ] Quick Start in RaspberryPi(Ubuntu)

 RocketMQ

  • 낮은 latency와 고성능으로 분산 메시징과 스트리밍 처리를 제공하는 플랫폼이다. 메시지의 신뢰성을 보장하고, 조 단위의 처리량과 유연한 확장성을 자랑한다.
  •  알리바바가 2012년부터 다량의 메시지를 처리하기 위해서, Apache ActiveMQ 5.13 버전 기반에서 분산 아키텍처를 도입하여 개발하기 시작했다. 2016년 11월에 알리바바가 Apache 재단에 danation 하고, 2017년 2월에 Apache Top-Level 프로젝트로 선정되었다.









1. Download install file and unzip

Prerequisite : 
    64bit OS, Linux/Unix/Mac is recommended;
    64bit JDK 1.8+;
    Maven 3.2.x;
    Git;
    4g+ free disk for Broker server

$ wget http://mirror.navercorp.com/apache/rocketmq/{version}/rocketmq-all-{version}-bin-release.zip
$ unzip rocketmq-all-{version}-bin-realase.zip









2. Setup environment variables


$ vi ~/.profile

[edit]

$ . ~/.profile

export ROCKETMQ_HOME=[installed_directory]
export PATH=$PATH:$ROCEKTMQ_HOME/bin
export NAMESRV_ADDR={host}:{port}    # for Name server connector address









3. Startup Name Server




3.1. Run Error -> Edit JVM Options


$ vi $ROCKETMQ_HOME/bin/runserver.sh

[Edit : Optimize memory size in your system]





3.2 Start Name Server in background


$ nohup mqnamesrv > $ROCKETMQ_HOME/log/mqnamesrv.log  2>&1 &
$ tail -f $ROCKETMQ_HOME/log/mqnamesrv.log






4. Start Broker Server


$ nohup mqbroker > $ROCKETMQ_HOME/log/mqbroker.log  2>&1 &
$ tail -f $ROCKETMQ_HOME/log/mqbroker.log






4.1. Run Error -> Edit JVM Options


$ vi $ROCKETMQ_HOME/bin/runbroker.sh

[Edit : Optimize memory size in your system]









5. Test Message Produce/Consume

5.1. Start Producer


$ sh $ROCKETMQ_HOME/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer





5.2. Start Consumer


$ sh $ROCKETMQ_HOME/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer






6. Shutdown


# Shutdown Broker
$ mqshutdown broker

# Shutdown Name Server
# mqshtudown namesrv







References

RocketMQ Tutorial
RocketMQ WiKi

No comments:

Post a Comment