RabitMQ的补偿机制部署对策

 

 

   1 服务器及软件清单

 

应用服务器1

应用服务器2

应用服务器3

操作系统

Red Hat Enterprise Linux Server release 6.9 (Santiago)

 

Red Hat Enterprise Linux Server release 6.9 (Santiago)

 

Red Hat Enterprise Linux Server release 6.9 (Santiago)

 

数据库

--

 

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

 

Oracle服务器编码:

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

JDK

java version "1.8.0_131"

java version "1.8.0_131"

java version "1.8.0_131"

应用中间件

WebLogic 12.1.3.0.0

Redis version:4.0.9

RabbitMQ version:3.6.2

WebLogic 12.1.3.0.0

Redis version:4.0.9

RabbitMQ version:3.6.2

 

IP

10.28.40.223

10.28.83.61

10.28.40.222

 

2软件安装

各软件安装版本符合人行安全等级,原则上开源软件由公司平台部统一提供,实施前由部门SVN统一提取,进制实施人员个人下载,如有必要需和项目经理沟通确认。确认可使用后,必须将此版本带回部门统一维护。

2.1 JDK安装

2.1.1安装环境

  1. 操作系统:Red Hat Enterprise Linux Server release 6.6 (Santiago)。
  2. JDK版本:jdk-6u45-linux-x64.bin。

2.1.2安装过程

1.切换到jdk-6u45-linux-x64.bin文件所在目录。

2. 执行如下命令:

Chmod+x  jdk-6u45-linux-x64.bin

./jdk-6u45-linux-x64.bin

安装软件会将JDK自动安装到 /usr/java/目录下。

2.1.3环境配置

#vi /etc/profile

在里面添加如下内容:

export JAVA_HOME=/usr/java/jdk1.6.0_45

export JAVA_BIN=/usr/java/jdk1.6.0_45/bin

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

让/etc/profile文件修改后立即生效 ,可以使用如下命令:

# . /etc/profile

注意: . 和 /etc/profile 有空格

2.1.4验证测试

运行命令:java –version

输出如下:

 

2.2 redis安装

2.2.1安装环境

1.安装版本:redis-3.2.2.tar.gz

2.2.2 安装步骤

1.安装编译命令:

在root用户下执行:

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel

2.上传安装包到服务器

   以下均在普通用户下执行,且普通用户必须拥有此文件夹读写权限

         将安装包上传至/home/weblogic/soft

      3.解压安装包:

        依次执行以下命令:

        cd /home/weblogic/soft

        tar -xzvf redis-4.0.9.tar.gz

      4.编译

        依次执行以下命令:

   cd redis-4.0.9

   make

   cd src

   make install PREFIX=/home/weblogic/redis

     5.移动配置文件到安装目录下

     依次执行以下命令:

       cd ../

       mkdir  /home/weblogic/redis/etc

   mv redis.conf /home/weblogic/redis/etc

   mv sentinel.conf /home/weblogic/redis/etc

 

6.修改redis配置文件

   依次执行以下命令:

   mkdir /home/weblogic/redis/pid

mkdir /home/weblogic/redis/logs

vi /home/weblogic/redis/etc/redis.conf

   将daemonize no 改成daemonize yes(后台启动)

    bind 127.0.0.1 改为 bind 0.0.0.0

    protected-mode no 改为protected-mode yes

pidfile "/var/lib/redis_6379.pid" 改为

pidfile "/home/weblogic/redis/pid/redis_6379.pid"

logfile “”改为 logfile “home/weblogic/redis/logs/redis.log”

 

 

7.将redis加入到开机启动

在root账户下执行

vi /etc/rc.local

在文件末尾添加以下内容:

    su - weblogic -lc “/home/weblogic/redis/bin/redis-server   /home/weblogic/redis/etc/redis.conf”

    8.开启redis

    /home/weblogic/redis/bin/redis-server /home/weblogic/redis/etc/redis.conf 

2.2.3主从配置

     1.修改redis.conf配置文件

       vi /home/weblogic/redis /etc/redis.conf

      从配置文件修改如下:(无则添加)

       添加 slaveof 主服务器IP 主服务器端口号

   例:slaveof 10.28.121.109 6379

 

      2.重启主从服务器的redis

       /home/weblogic/redis/bin/redis-cli shutdown  停止

       /home/weblogic/redis/bin/redis-server /home/weblogic/redis/etc/redis.conf  启动

2.2.4哨兵配置

      1.修改sentinel.conf配置文件

         vi /u    sr/local/redis/etc/redis.conf

       配置文件修改如下:(集群中所有服务器相同配置)

       注释掉bind 127.0.0.1

       添加daemonize yes

       添加 protected-mode no

       添加sentinel monitor mymaster 主服务IP 主服务端口 故障转移票数

       例:sentinel monitor mymaster 10.28.121.109 6379 1

2.2.5验证测试    

      主从验证

在主服务器存值

 

 

 

 

 

 

 

在从服务器取值(如果能获取到相应的值说明主从配置成功)

     

 

 

哨兵验证:

 /usr/local/redis/bin/redis-cli -p 26379

 info sentinel

 

 

 

 

 

 

 

2.3 rabbit mq安装

2.3.1安装环境

       Rabbit mq软件版本:

       Erlang软件版本:

2.3.2安装Erlang

  1. 上传安装包到服务器

将安装包上传至/home/weblogic/soft

  1. 解压安装包

依次执行以下命令:

  cd /home/weblogic/soft

tar -xzvf otp_src_18.3.tar.gz

 

 

  1. 编译安装

   cd otp_src_18.3/

./configure --prefix=/home/weblogic/erlang

make && make install

cd /home/weblogic/erlang

ll

 

 

 

  1. 配置Erlang环境变量

在root账户下执行

vi /etc/profile

增加下面的环境变量:

export PATH=$PATH: /home/weblogic/erlang/bin

使得文件生效 source  /etc/profile

  1. 验证erlang是否安装成功:

erl

 

 

Halt() .退出(不要忘记后面的点)

2.3.3安装rabbit MQ

  1. 上传安装包

将安装包上传至/home/weblogic/soft

 

  1. 解压安装包

依次执行以下命令:

cd /home/weblogic/soft

xz -d rabbitmq-server-generic-unix-3.6.2.tar.xz

tar -xvf rabbitmq-server-generic-unix-3.6.2.tar

mv rabbitmq_server-3.6.2/  ../

  1. 进入sbin 启动服务:./rabbitmq-server -detached

 

 

 

  1. 配置网页插件

启用插件:./rabbitmq-plugins enable rabbitmq_management

 

 

 

新增用户: ./rabbitmqctl add_user root root

 

  1. 赋予管理员权限

./rabbitmqctl set_user_tags root administrator

./rabbitmqctl set_permissions -p "/" root ".*" ".*" ".*"

 

 

 

         设置开机启动

          在root用户下编辑:

          vi /etc/rc.local

在文件末尾添加以下内容:

    su - weblogic -lc "/home/weblogic/rabbitmq_server-3.6.2/sbin/rabbitmq-server -detached"

 

  1. 访问http://10.28.121.108:15672

 

 

 

  1. 至此rabbitmq安装完成

 

2.3.4 Rabbitmq集群配置

编辑各个服务器的hosts文件,配置以上内容

vi /etc/hosts

加入以下内容:

集群内所有的 ip hostname

例:

 

 10.28.121.109  zrc121109

 10.28.121.108  zrc121108

 ....

  1. 配置erlang.cookie

集群中的所有服务器的 .erlang.cookie必须一致

例:

以10.28.121.109为准

    将.erlang.cookie复制到其他服务器

 

 

 

  1. 将所有节点加入集群中

启动集群内所有服务器

./rabbitmq-server -detached

 

添加节点:

 所有服务器命令一样:

 ./rabbitmqctl stop_app

 ./rabbitmqctl join_cluster rabbit@zrc121109

./rabbitmqctl start_app

查看集群节点

./rabbitmqctl cluster_status

 

 

 

 

3.加入镜像策略

在集群中随意一台服务器输入以下命令:

./rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

 

1.1.1 验证测试

自测

 

 

2.4 nginx安装

  1. 上传nginx-1.16.1.tar.gz安装包到/home/weblogic/soft

2.解压安装包

      tar -xzvf nginx-1.16.1.tar.gz

3.切换至root账户

yum -y install pcre-devel

4.切换至普通用户

     cd nginx-1.16.1/

./configure --prefix=/home/weblogic/nginx

make && make install

  1. 将nginx.conf上传至/home/weblogic/nginx目录下

 

 

3. 替换/home/weblogic/nginx/config/nginx.conf文件

  Mv /home/weblogic/nginx/nginx.conf /home/weblogic/nginx/conf/nginx.conf

 

4.启动nginx

/home/weblogic/nginx/sbin/nginx -c /home/weblogic/nginx/conf/nginx.conf”

配置开机启动

切换至root账户

Vi /etc/rc.local

在最后加入

su - webLogic -lc “/home/weblogic/nginx/sbin/nginx -c /home/weblogic/nginx/conf/nginx.conf”

 

 

3数据库脚本执行

3.1创建用户

  Create user credit identified by credit;

  Grant dba to credit;

3.2表空间列表

  表空间创建在默认的数据库磁盘空间上,表空间列表:

表空间名

说明

C_PLAT_TABS

平台

P_QUERY_TABS

个人查询

E_QUERY_TABS

企业查询

P_ANALYSIS_TABS

个人解析

E_ANALYSIS_TABS

企业解析

创建表空间语句:

select * from Dba_Data_Files;--查看表空间所在位置

create tablespace C_PLAT_TABS  --表空间名

 

logging 

 

datafile 'C:\Users\Administrator\Desktop\class\C_PLAT_TABS.DBF'

 

size 50m 

 

autoextend on  --自动扩展

 

next 50m maxsize 20480m 

 

extent management local; 

 

 

 

4系统部署

4.1应用包配置修改

4.1.1 amqp.properties文件

文件文件路径:creditenterprisequeryweb.war\WEB-INF\classes

单机部署:

v   

参数

参数说明

修改后

amqp.deployMode

集群模式

1

amqp.host

MQ主机地址

10.28.110.141

amqp.port

MQ端口

5672

amqp.username

MQ用户名

root

amqp.password

MQ密码

root

集群部署:

参数

参数说明

修改后

amqp.deployMode

集群模式

2

amqp.addresses

MQ主机地址

10.28.40.223,10.28.83.61

amqp.port

MQ端口

5672

amqp.username

MQ用户名

root

amqp.password

MQ密码

root

 

 

 

 

4.1.2 redis.properties文件

文件文件路径:creditenterprisequeryweb.war\WEB-INF\classes

 

 

 

 

单机部署:

参数

参数说明

修改后

redis.deploymodel

集群模式

2

redis.host

redis主机地址

10.28.110.141

集群部署(哨兵):

参数

参数说明

修改后

redis.deploymodel

集群模式

3

redis.host

redis主机地址

10.28.40.223

Redis.host2

Redis从机地址

10.28.83.61

 

4.2步骤

  1. 将修改后的配置文件替换到creditenterprisequeryweb.war\WEB-INF\classes目录下.
  2. 将war包上传至服务器部署目录下.

 

说明:其他应用包类似配置

 

 

5日志管理

5.1应用包启动脚本

新建start.sh增加以下内容:

#!/bin/sh

#日志文件

base_dir=$(pwd)

echo $base_dir

#java_options

export JAVA_OPTIONS="-Dfile.encoding=UTF-8"

 

#nohup 重定向输出日志

nohup $base_dir/startWebLogic.sh > /dev/null 2>&1 &

5.2日志清单

应用

日志地址

平台包

/weblogic/files/logs/223/creditplatformweb/

个人查询

/weblogic/files/logs/223/creditpersonqueryweb/

企业查询

/weblogic/files/logs/223/creditenterprisequeryweb/

个人解析

/weblogic/files/logs/223/ent-asyncMqStorageService/

企业解析

/weblogic/files/logs/223/person-asyncMqStorageService/

 

 

 

 

 

5.3目录清单

文件类型

文件地址

保存文件使用的工作目录

/weblogic/files/queryFiles/

保存文件使用的临时目录

/weblogic/files/queryFiles/tmp

批量查询文件存放路径(个人)

/weblogic/files/queryFiles/perbatchquery

批量查询文件存放路径(企业)

/weblogic/files/queryFiles/entbatchquery

挡板报告路径

/weblogic/files/queryFiles/pdam

 

 

posted @ 2022-11-07 10:07  城市幽灵  阅读(78)  评论(0编辑  收藏  举报