1 Download RockeMQ Package:

You need to download it and put it to the OS Image.

wget http://apache.claz.org/rocketmq/4.3.2/rocketmq-all-4.3.2-bin-release.zip
and unzip the package to /opt/rocketmq


2 Prerequsite

JDK installed.

3 Create service account for Jetty

useradd -m rocketmq
echo "umask 002" >> /home/rocketmq/.bash_profile


4 Modify PATH system variable
4

run /opt/rocketmq/bin/os.sh
change JVM parameters in /opt/rocketmq/bin/runserver.sh


5 Configure RocketMQ

run /opt/rocketmq/bin/os.sh
change JVM parameters in /opt/rocketmq/bin/runserver.sh
change JVM parameters in /opt/rocketmq/bin/runbroker.sh
#Note: Usually set the Xmn to 1/8 or Xmx

8 Add RocketMQ to system service

cd /etc/init.d
vi rocketmq  and add
 
 
#!/usr/bin/env bash
#
# rocketmq - this script starts and stops the rocketmq daemon
#
# chkconfig:   - 85 15
ROCKETMQ_HOME=/opt/rocketmq
ROCKETMQ_BIN=${ROCKETMQ_HOME}/bin
ADDR=`hostname -i`:9876
LOG_DIR=${ROCKETMQ_HOME}/logs
NAMESERVER_LOG=${LOG_DIR}/namesrv.log
BROKER_LOG=${LOG_DIR}/broker.log
start() {
    if [ ! -d ${LOG_DIR} ];then
       su - rocketmq -c "mkdir ${LOG_DIR}"
    fi
    cd ${ROCKETMQ_HOME}
    su - rocketmq -c  "nohup sh $ROCKETMQ_HOME/bin/mqnamesrv > ${NAMESERVER_LOG} 2>&1 &"
    echo  "The Name Server boot success..."
    su - rocketmq -c  "nohup  sh $ROCKETMQ_HOME/bin/mqbroker -n ${ADDR} > ${BROKER_LOG} 2>&1 &"
    echo  "The broker[%s, ${ADDR}] boot success..."
}
stop() {
    cd ${ROCKETMQ_HOME}
    su - rocketmq -c "sh $ROCKETMQ_HOME/bin/mqshutdown broker"
    sleep 1
    su - rocketmq -c "sh $ROCKETMQ_HOME/bin/mqshutdown namesrv"
}
restart() {
    stop
    sleep 5
    start
}
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 2
esac
 
 
#################################################
chmod a+x rocketmq
chkconfig --add rocketmq
chown -R rocketmq:rocketmq /opt/rocketmq

9 add a boot script to setup Rocketmq JVM(below script is only for standalone mode)

#!/bin/bash
#set -x
#this script is only going to set Rocketmq standalone installation(nameserver and broker server in a same host)
 
RQ_HOME_BIN=/opt/rocketmq/bin
#RQ_HOME_BIN=/home/dc-user/rq/rocketmq-all-4.3.2-bin-release/bin
#$RQ_HOME_BIN/runserver.sh to modify the #39  JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
#$RQ_HOME_BIN/runbroker.sh to modify the #39   JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
#get current physical memory setting
mem_size=`free -m | grep Mem | awk '{print $2}'`
#set jetty JVM xmx to 50% of mem
jmem=$(($mem_size/4))
jmemn=$(($jmem/2))
jmem=$jmem"m"
jmemn=$jmemn"m"
sed -i "s/-Xmn[0-9]\+[g|m]/-Xmn$jmemn/g" $RQ_HOME_BIN/runserver.sh
sed -i "s/-Xms[0-9]\+[g|m]/-Xms$jmem/g" $RQ_HOME_BIN/runserver.sh
sed -i "s/-Xmx[0-9]\+[g|m]/-Xmx$jmem/g" $RQ_HOME_BIN/runserver.sh
sed -i "s/-Xmn[0-9]\+[g|m]/-Xmn$jmemn/g" $RQ_HOME_BIN/runbroker.sh
sed -i "s/-Xms[0-9]\+[g|m]/-Xms$jmem/g" $RQ_HOME_BIN/runbroker.sh
sed -i "s/-Xmx[0-9]\+[g|m]/-Xmx$jmem/g" $RQ_HOME_BIN/runbroker.sh

RocketMQ 4.3.2 standalone Installation and Configuration的更多相关文章

  1. CentOS -- RocketMQ 4.3.2 standalone Installation and Configuration

    1 Download RockeMQ Package: You need to download it and put it to the OS Image. wget http://apache.c ...

  2. P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1

    P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1       May ...

  3. P6 EPPM Installation and Configuration Guide 16 R1 April 2016

    P6 EPPM Installation and Configuration Guide 16 R1         April 2016 Contents About Installing and ...

  4. installation and configuration of OpenCV4Android SDK

    http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/O4A_SDK.html#running-opencv ...

  5. !! This tutorial was designed to help you with installation and configuration of OpenCV4Android SDK.

    ref: http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/O4A_SDK.html#running-o ...

  6. HHVM Installation and Configuration(HHVM 安装及配置)

    Installation and Configuration¶ General Installation Considerations Installation on Linux systems Ub ...

  7. SharePoint 2013 Installation and Configuration Issues

    # Issue 1: During Installing SharePoint 2013 Prerequisites there was an error in installing Applicat ...

  8. Installation and Configuration MySQL Cluster 7.2 on CentOS 5 (include MySQL 5.5)

    Architecture Manager Node mysql-mag1   192.168.1.31 mysql-mag2   192.168.1.32 SQL Node mysql-sql1   ...

  9. HAProxy Installation and Configuration on CentOS 6.4 to Mitigate The Effects of Abusive Clients--转

    ref:http://thoughts.z-dev.org/2013/05/07/haproxy-installation-and-configuration-on-centos-6-4-to-mit ...

随机推荐

  1. Python连载24-函数list&read&seek

    一. 函数list (1)定义:用打开的文件作为参数,把文件内的每一行内容作为一个元素 (2)格式:list(文件) (3)例子: with open(r"test01.txt", ...

  2. Vue的基本使用(三)

    1.过滤器 1.局部过滤器,在当前组件内部使用过滤器,给某些数据添油加醋. //声明 filters:{ "过滤器的名字":function(val,a,b){ //a就是alex ...

  3. python基础知识练习题一

    1.执行Python脚本的两种方式 1.在计算机终端(运行cmd),输入安装的Python路径,然后输入Python脚本的路径,回车. 2.直接运行python 2.简述位.字节的关系. 1字节 = ...

  4. vue.js带复选框表单的增删改查

    近段时间由于公司项目要求,前端开始使用VUE框架进行开发,最近刚开始学习,做了一个表单的增删改查,和大家分享一下. 页面模型代码设计如下 <template> <div id=&qu ...

  5. asn1学习笔记

    INTEGER 类型 1.由于这个类型在解码器中没有针对取值范围进行定义.所以在定义的时候要指定取值范围.如: errorcode::=ERRORCODE (1..12345678) ErrorCod ...

  6. android 界面提示框架WisdomProgressHUD,为金典而生

    一:简述 今天给android开发者们,推荐一个金典的界面提示框架WisdomProgressHUD,使用简洁方便. WisdomProgressHUD 是一个半透明的 HUD 指示器. Wisdom ...

  7. Chrome 跨域 disable-web-security 关闭安全策略

    谷歌浏览器暂时关闭跨域. 当遇到以下情况,则可以简单的使用 关闭Chrome 安全策略跨域 开发时跨域,上线后,部署在一个域名下没有跨域问题 开发时,临时解决跨域问题 只有开发时用这个,其他时候,就不 ...

  8. 聊一聊Java的枚举enum

    一. 什么是枚举 枚举是一种数据类型,具有集合的一些特点,可以存放多个元素,但存储对象有限且固定,枚举也有比较常见的使用场景,如我们需要表达性别(男.女),颜色(红.黄.蓝),星期(星期一.星期二.. ...

  9. oracle常用的一些sql命令

    //查看系统当前时间   HH24 24小时制  MI是正确的分钟 select to_char(sysdate,'yyyy-mm-dd HH24:MI:SS') from dual //HH非24 ...

  10. 02、Java的lambda表达式和JavaScript的箭头函数

    前言 在JDK8和ES6的语言发展中,在Java的lambda表达式和JavaScript的箭头函数这两者有着千丝万缕的联系:本次试图通过这篇文章弄懂上面的两个"语法糖". 简介 ...