[if !supportLists]1 [endif]手册
[if !supportLists]1.1 [endif]安装注意事项
[if !supportLists]1. [endif]认真阅读《电建工程数据同步系统部署手册》,确认版本说明书中软件版本使用限制。
[if !supportLists]2. [endif]请确认网管所有服务器网络状态正常,且ip地址互通、防火墙端口开放。
[if !supportLists]3. [endif]请确认服务器系统软件的纯净。
[if !supportLists]1.2 [endif]准备工作
[if !supportLists]1.2.1 [endif]系统及软件环境
Center os 7.0及以上 最小安装版 x2
64位jdk1.8及以上
Apache rocketMq4.4
Redis
[if !supportLists]1.3 [endif]jdk的下载及安装
[if !supportLists]1.3.1 [endif]安装前目录准备
Linux开机登入root账户 密码****** ,通过xsell等工具链接对应的服务器,
进入/usr/local目录 命令 cd /usr/local
查看当前所在目录命令:pwd
创建全局软件安装包放置目录和安装目录software命令:mkdir software
进入目录:cd software
创建java目录命令:mkdir java
进入目录命令 cd java
[if !supportLists]1.3.2 [endif]Jdk获取方式说明
Jdk可以通过linux的wget命令下载 也可以通过xshell软件的rz命令上传到当前进入的目录,本文档推荐第二种方式,且下述的后续操作皆以第二种软件上传方式为例。
1.3.21第一种方式:wget下载
通过wget命令下载,首先需要安装wget (因为系统非常纯净) ,命令:yum -y install wget 如图
等待wget下载完成,需要几秒的时间,
按住键盘的ctrl+c键继续执行其他命令
在当前目录创建java目录命令:
通过wget命令下载jdk安装包 命令如下:
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
等待下载执行完成后:查看当前目录下的文件中是否包含jdk的安装包
通过ls命令列出所有文件
1.3.22第二种方式:外部下载后上传
下载好jdk上传至usr/software/java/(前面已经讲解了文件夹的创建过程,不再累述)
文件上传至linux有多种方式可自行网络搜索,本文档以在xsehll软件中上传为例:
首先需要安装安装lrzsz用于文件的传输
命令:yum -y install lrzsz
大概需要几秒的时间,等待安装完成后
按住键盘的ctrl+c键继续执行其他命令
在xshell软件中执行 rz命令并回车
在弹出的选择框中选择对应的jdk文件,然后确定,在文件传输完成后,通过ls命令列出目录文件
[if !supportLists]1.3.3 [endif]Jdk的解压
首先需要安装zip工具 (因为系统非常纯净) 命令:yum install -y unzip zip
大概需要几秒的时间,等待安装完成后
按住键盘的ctrl+c键继续执行其他命令
在xshell软件中执行 tax -zxf jdk-8u141-linux-x64.tar.gz命令(根据具体的文件名称修改命令)并回车,命令执行完成后通过ls命令列出目录
可见目录中除了jdk安装包文件外包含以jdk1.xx开头的文件,则解压成功。
[if !supportLists]1.3.4 [endif]Jdk环境变量安装配置
在xshell软件中执行 vi /etc/profile命令:
按下键盘的insert键
通过方向键移动光标至文件内容的最后,复制或键入如下内容(路径根据具体的解压后的jdk文件名称修改)
#JDK?Environment
export JAVA_HOME=/usr/local/software/java/jdk1.8.0_141
export JRE_HOME=/usr/local/software/java/jdk1.8.0_141/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
追加内容完成后:
按下Esc键
然后键入命令:wq然后回车保存
在xshell中执行
source /etc/profile命令使配置生效。
[if !supportLists]1.3.5 [endif]检测Jdk是否配置成功
xshell软件中键入 java -version命令
如果打印出对应的jdk版本信息,则配置成功。
至此jdk配置安装完成。
[if !supportLists]1.4 [endif]Rocketmq安装
[if !supportLists]1.4.1 [endif]Rocketmq安装前目录准备
Xshell中进入之前创建的software目录
创建rocketmq目录
进入目录
[if !supportLists]1.4.2 [endif]Rocketmq下载
Rocketmq下载地址:http://mirror.bit.edu.cn/apache/rocketmq/4.4.0/rocketmq-all-4.4.0-bin-release.zip
自行下载后通过rz命令上传(具体步骤参考之前的jdk安装配置,不再累述),并通过ls列出目录。
[if !supportLists]1.4.3 [endif]Rocketmq解压
命令:unzip rocketmq-all-4.4.0-bin-release.zip
[if !supportLists]1.4.4 [endif]Rocketmq环境变量配置
Xshell中执行命令:vi /etc/profile
将如下内容追加至文件最后(参考jdk环境变量配置)
#设置rocketmq环境变量
export rocketmq=/usr/local/software/rocketmq/rocketmq-all-4.4.0-bin-release
export PATH=$PATH:$rocketmq/bin
追加内容完成后:
按下Esc键
然后键入命令:wq然后回车保存
在xshell中执行
source /etc/profile命令使配置生效。
[if !supportLists]1.4.5 [endif]Rocketmq日志文件目录创建
首先进入/usr/lcoal目录 命令:cd /usr/local
创建logs目录:命令 mkdir logs
进入目录:命令cd logs
创建rocketmqlogs
目录:命令:mkdir rocketmqlogs
[if !supportLists]1.4.6 [endif]Rocketmq jvm设置
进入rocketmq的bin目录命令:
cd /usr/local/software/rocketmq/rocketmq-all-4.4.0-bin-release/bin
将runbroker.sh的第一个JAVA_OPT改成JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m" (具体根据服务器内存设置)
命令vi runbroker.sh
修改完成后按下Esc键
然后键入命令:wq然后回车保存
将runserver.sh的第一个JAVA_OPT改成JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx256m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"(具体根据服务器内存设置)
命令vi runserver.sh
修改完成后按下Esc键
然后键入命令:wq然后回车保存
[if !supportLists]1.4.7 [endif]Rocketmq双master配置(双主)
根据之前的文档,分别配置两台linux主机之后
分别在两台连接的Xshell软件中执行命令进入目录:
cd /usr/local/software/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-noslave
进入目录之后:
服务器a执行 vi broker-a.properties
服务器b执行 vi broker-b.properties
之后修改对应的配置内容:
主要需要修改的内容包括:
BrokerClusterName:集群名称,两台机器需要配置一致。
brokerName :默认即可
namesrvAddr:两台服务器的固定ip及端口,9876为rocketmq主服务的默认端口
其他项默认即可。
服务器a的配置
服务器b的配置
[if !supportLists]1.4.8 [endif]修改防火墙开放端口(两台主机)
broker端口:firewall-cmd --permanent --add-port=9876/tcp
firewall-cmd --reload
namesrv端口: firewall-cmd --permanent --add-port=10909/tcp
firewall-cmd --reload
[if !supportLists]1.4.9 [endif]启动namesrv(两台主机)
命令:nohup sh /usr/local/software/rocketmq/rocketmq-all-4.4.0-bin-release/bin/mqnamesrv > /usr/local/logs/rocketmqlogs/namsrv.log 2>&1 &
通过jps命令查看进程:
进程中包含namesrv相关的,则启动成功
启动出错的排查:查看namesrv启动日志
命令:tail -f /usr/local/logs/rocketmqlogs/namsrv.log
[if !supportLists]1.4.10 [endif]启动broker(两台主机)
服务器a:
nohup sh /usr/local/software/rocketmq/rocketmq-all-4.4.0-bin-release/bin/mqbroker -c /usr/local/software/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-noslave/broker-a.properties > /usr/local/logs/rocketmqlogs/broker.log 2>&1 &
服务器b:
nohup sh /usr/local/software/rocketmq/rocketmq-all-4.4.0-bin-release/bin/mqbroker -c /usr/local/software/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-noslave/broker-b.properties > /usr/local/logs/rocketmqlogs/broker.log 2>&1 &
通过jps命令查看:
Namesrv和borker都启动成功了
启动出错时查看broker启动日志:
tail -f /usr/local/logs/rocketmqlogs/broker.log
至此配置结束。
[if !supportLists]1.4.11 [endif]检验集群结果(安装阿里开源的rocketmq-console-ng)
Rocketmq-console-ng下载地址:
https://github.com/apache/rocketmq-externals
将下载的文件解压并提取出rocketmq-console-ng
然后安装和配置maven请参考
https://www.cnblogs.com/eagle6688/p/7838224.html
接下来我们将rocketmq-console-ng打包,因为我们一般都是在windows环境下将项目打包,然后上传到linux主机启动,这里我们以window环境下的打包为例。
首先cmd命令进入rocketmq-console-ng所在文件夹
以放在桌面为例,如:
注意:
打包之前需修改application.properties的配置信息;
rocketmq.config.namesrvAddr=xx.xx.xx.x:9876;xx.xx.xx.x:9876
xx.xx.xx.x为两台服务器的固定ip
server.port=xxxx
xxxx为任意一台服务器未被使用的端口(之后注意防火墙要开放端口)
接下来打包:
执行命令mvn clean package -Dmaven.test.skip=true
然后在target目录下找到文件rocketmq-console-ng-1.0.0.jar
通过xshell 进入之前创建的software目录
cd/usr/local/software
创建rocketmq-console目录
mkdir rocketmq-console
进入目录:
cd rocketmq-console
执行命令:
rz上传rocketmq-console-ng-1.0.0.jar到当前目录
启动rocketmq-console,执行命令:
java -jar rocketmq-console-ng-1.0.0.jar
在浏览器中输入该服务器的ip地址:配置的端口访问
如:192.168.101.130:88
访问页面如下:
查看集群信息:
可见集群已经生效。