• java消息中间件 RocketMQ Linux安装与运行


      阿里巴巴宣布捐赠RocketMQ到Apache软件基金会孵化项目,最近闲下来便去部署了一个试验版本玩玩。

      至于RockeMQ是什么,原理架构什么的这里就不赘述了,这里只记录安装过程。

     一、系统环境

    service操作系统:centOS7 64位虚拟机
    JDK:1.7以上
    client操作系统:Windows 7 64位旗舰版

    1.1 安装Linux

      笔者在此安装的是最小化版本的Linux,安装完成后显示:

      安装完成发现虚拟机无法联网,解决方法:

    修改网络配置:vi /etc/sysconfig/network-scripts/ifcfg-en*****

    修改

    TYPE=Ethernet
    BOOTPROTO=static  修改
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=e866ca7f-40bd-4b1d-80fa-0afc13da35bb
    DEVICE=ens33
    ONBOOT=yes  修改
    IPADDR=192.168.75.130  添加修改
    NETMASK=255.255.255.0  添加修改
    GATEWAY=192.168.75.2   添加修改
    DNS1=192.168.75.2      添加修改

    最后

    重启网络配置:service network restart

    为何说最小化版本呢,在验证上述修改生效时会出现这种情况:

    好吧,参照这里搞定。

     1.2 安装JDK

      a.下载jdk的rpm安装包,这里以jdk-8u131-linux-x64.rpm为例。下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

      b.将jdk-8u131-linux-x64.rpm移动到合适的安装目录上。

      c.给安装包赋予运行权限chmod 755 jdk-8u131-linux-x64.rpm

      d.安装该rpm安装包rpm -i jdk-8u131-linux-x64.rpm

      e.设置环境变量vi /etc/profile输入 i 追加以下内容

    export JAVA_HOME=/usr/java/jdk1.8.0_131
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
    export PATH=$PATH:$JAVA_HOME/bin

      若没有立即生效,运行source /etc/profile

    若运行java -version后显示

    则安装完成。

     二、安装RocketMQ

      1.下载rocketmq安装包,这里以alibaba-rocketmq-3.2.6.tar为例。下载地址:https://github.com/alibaba/RocketMQ/releases

      2.安装

    # tar zxf alibaba-rocketmq-3.2.4-beta1.tar.gz -C /usr/local/
    # cd /usr/local/
    # ln -s /usr/local/alibaba-rocketmq /usr/local/rocketmq
    # cd rocketmq/

      3.配置  运行 vim conf/2m-noslave/broker-a.properties

    brokerClusterName=adam   
    brokerName=broker-a    
    brokerId=0    
    namesrvAddr=192.168.75.130:9876
    deleteWhen=04    
    fileReservedTime=120    
    
    brokerRole=ASYNC_MASTER    
    flushDiskType=ASYNC_FLUSH    
    sstorePathRootDir=/data/rocketmq/store    
    storePathCommitLog=/data/rocketmq/store/commitlog

       4.创建数据目录

    # mkdir -p /data/rocketmq/store/commitlog
    # mkdir /data/logs
    # cd conf/
    # sed -i 's#${user.home}#/data#g' *.xml      //将conf目录下所有xml文件中的${user.home}

       5.启动rocketmq

    # cd ../bin/
    # nohup sh mqnamesrv >/var/log/ns.log &  //启动namesrv
    # nohup sh mqbroker -c ../conf/2m-noslave/broker-a.properties > /var/log/mq.log 2>&1 &  //启动borker

       6.查看启动日志

    # tail -f /var/log/ns.log 
    # tail -f /var/log/mq.log

       7.查看启动端口

    # netstat -tunpl
    # jps
    

       8.关闭RocketMQ

    # sh mqshutdown broker
    # sh mqshutdown namesrv

       由此,安装完成。

      但由于linux防火墙会屏蔽某些端口,需要手动开放mq需要的端口。在此,笔者直接关闭了防火墙。

    # systemctl stop firewalld.service //停止firewall
    # systemctl disable firewalld.service //禁止firewall开机启动
    # firewall-cmd --state //查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

    三、验证

      1.下载测试环境 下载地址:https://code.aliyun.com/MiddlewareRace/PreliminaryDemo.git

      2.用windows下的Eclipse导入Maven项目进行测试

      3.修改Product和Consumer的服务器ip地址

      4.先运行Consumer再运行Product

    至此,调试通过运行。

  • 相关阅读:
    Iterable,Iterator和forEach
    集合的线程安全性
    Servlet生命周期
    JavaWeb应用的生命周期
    将博客搬至CSDN
    (五)新类库的构件
    Python input和print函数
    python----调试
    Excel决定吃什么
    MATLAB—地图
  • 原文地址:https://www.cnblogs.com/adamJin/p/6897807.html
Copyright © 2020-2023  润新知