zoukankan      html  css  js  c++  java
  • WebLogic集群案例分析

    WebLogic集群案例分析

    2012年8月,某证券交易系统(采用Weblogic中间件),由于基金业务火爆,使系统压力太大,后台服务器频繁死机时,这时工程师们紧急调试系统及恢复操作,等完成这些操作花掉了1天的时间,前端的所有任务都不得不停止,以等待系统恢复最终造成证券交易系统一整天不能服务的重大事故,从以上情形可以看出提高证券交易系统的高可用性是多么重要,这直接关系到到证券投资业务的正常开展。下文为大家介绍如何搭建Weblogic集群高可用案例,其主要介绍如何配置WebLogic集群,拓扑如图1所示。

    clip_image002[7]

    图1 WebLogic集群

    硬件: IBM 3950M2 +  DS4700,(服务器和存储都采用SAS盘)

    HBA卡: QLogic 4Gb FC Single-Port PCIe HBA

    1.RHEL5.4操作系统的安装注意事项

    RHEL5.4作为当前比较稳定的linux服务器版本,将其作为这次改造的底层操作系统

    操作系统安装注意事项:注意采用自动分区,自动分区是LVM方式,手动划分磁盘分区容易造成找不到分区的情况;切忌在服务器装好后,不要使用fdisk进行分区调整,否则会出严重错误;安装Desktop Environments依然选择安装Gnome桌面环境;Servers选项中将右侧所有的服务全部去掉;在Virtualization中,不要勾选虚拟技术;另外防火墙设置成关闭状态;关闭SELinux强制模式

    2.FCFibre Channel)连接方式配置

    服务器安装FC HBA卡,通过FC线连接到盘柜上的FC接口(接口上必须安装短波光模块)。也就是 主机和磁盘阵列通过光纤交换机连接,速率可达10Gb/S

    1. 多路径软件配置在光盘下安装以下两个软件包

    l device-mapper-1.02.13-6.14.i586.rpm 该软件包负责设备虚拟化和映射

    l multipath-tools-0.4.7-34.38.i586.rpm 该软件包负责路径状态检测及管理

    待这两个包安装完成后使用modprobe dm_multipath加载相应模块,然后使用lsmod |grep dm_multipath检查安装是否成功.

    2.利用模板创建multipath.conf的配置文件

    #cp /usr/share/doc/packages/multipath-tools/multipath.conf.synthetic /etc/multipath.conf

    然后再该文件的最后一段加上如下配置:

    devices {

    device {

    vendor "EMC" //厂商名称

    product "CaXXXXX" //产品型号

    path_grouping_policy group_by_prio //默认的路径组策略

    getuid_callout "/sbin/scsi_id -p 0x80 -g -u -s /block/%n" //获得唯一设备号使用的默认程序

    prio_callout "/sbin/acs_prio_alua %d" //获取有限级数值使用的默认程序

    hardware_handler "1 acs" //确认用来在路径切换和IO错误时,执行特定的操作的模块。

    path_checker hp_sw //决定路径状态的方法

    path_selector "round-robin 0" //选择那条路径进行下一个IO操作的方法

    failback immediate //故障恢复的模式

    no_path_retry queue //在disable queue之前系统尝试使用失效路径的次数的数值

    rr_min_io 100 //在当前的用户组中,在切换到另外一条路径之前的IO请求的数目

    }

    }

    编辑modprobe.conf文件,用来设置驱动程序的参数。

    /etc/modprobe.conf.local

    增加一行 "options scsi_mod dev_flags=Accusys:ACS92102:0x1000"

    重新编译引导文件

    "cp -f /boot/initrd-2.6.[kernel_version].img ./initrd-2.6.[k_v].img.bak"

    "mkinitrd"

    做完上述操作后,注意要将操作系统重新启动

    3.Java环境的配置安装

    Java在Linux系统安装的过程中可以默认安装,但是为了保证java的版本与我们运行程序之间进行统一,在安装系统的时候,没有安装系统默认携带的java版本,需要我们安装自定义版本的java,首先我们到http://www.oracle.com/,下载JDK1.6.21版本,选择jdk-6u21-linux-i586-rpm.bin下载到本地/home。然后将其安装到/usr/local/java目录下

    # chmod 777 jdk-6u22-linux-i586.bin

    # ./jdk-6u22-linux-i586.bin

    # mkdir –p /usr/local/java

    # cp -Rf ./jdk1.6.0_22 /usr/local/java

    # chmod –R 777 /usr/local/java

    4.设置环境变量

    我们首先需要修改配置文件

    #vi /etc/profile

    在文件的末尾加入如下的信息

    export JAVA_HOME=/usr/local/java/jdk1.6.0_22

    export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

    保存退出后,在控制台执行复制的代码

    # export JAVA_HOME=/usr/local/java/jdk1.6.0_22

    # export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

    验证:

    #echo $JAVA_HOME

    #java –version

    java version "1.6.0_22"

    Java(TM) SE Runtime Environment (build 1.6.0_22-b04)

    Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode)

    5.Oracle11g安装部署和RAC设置参见《Linux企业应用案例精解》一书

    6. Weblogic11安装部署

    因为它的安装过程比较简单下面附上一些安装过程的关键截图。


    205124376.jpg205024530.jpg204952284.jpg204910502.jpg

    安装完毕后我们开始创建服务

    1. 创建新的域

    #cd /root/Oracle/Middleware/wlserver_10.3/common/bin

    [root@localhost bin]# ./config.sh

    204828793.jpg

    单击下一步

    选择域源,在产品列表里我们选择第一个默认选项Basic WebLogic Server Domain-10.3.4.0,单击下一步.

    204756816.jpg

    指定域名和位置,我们在这里输入cluster_domain,域的位置在/root/Oracle/Middleware/user_prejects/domain,然后下一步

    7.配置管理员用户和密码

    在此以weblogic作为登陆服务器的用户名,密码为"welcome1",单击下一步

    204718993.jpg

    8.配置服务器启动模式和JDK


    由于是生产环境下部署,建议在WebLogic域启动模式中选择生产模式,同时JDK选择JRockit SDK 1.6.0_24@/root/Oracle/Middleware/jrockit_160_24_D1.1.2-4,然后单击下一步.

    在可选配置里选择"管理服务器"和受管理服务器,集群和计算机"两个选项.单击下一步

    配置管理服务器

    在这里,监听地址就需要选择192.168.0.4,而不要选择本机环路地址,并启用SSL 加密.

    204632634.jpg

    204554760.jpg

    配置需要创建的被管理的应用服务器和ProxyServer,注意第二个节点的IP地址要填第二个节点服务务器配置IP,这里是192.168.0.5,然后添加代理服务器,端口配置为8080,单击下一步


    9配置集群

    单击“添加”,输入Cluster 的名称new_Cluster,Multicast address 组播地址(用来进行

    集群间的状态通信)和端口7777,Cluster 的各个服务器地址和端口,完成后单击“下一步”按钮。

    注意:当用Configuration Wizard 创建集群时,您只能选择multicast,要选择unicast,您只能在Administration Console 中修改集群的配置,参考Oracle Fusion Middleware Oracle WebLogic Server Administration

    Console 帮助文档中的:"Create and configure clusters".

    注意: multicast address 的IP 范围必须位于224.0.0.0 到 239.255.255.255 之间.

    WebLogic Server 使用的multicast 默认值为 239.192.0.0.

    204503599.jpg


    10.向集群分配服务器

    204420429.jpg

    选择左面列表中的Managed Server,将其添加到右面的列表中,但Proxy_Server不要添加到右边,然后下一步.

    创建Http代理应用程序,这时我们就可以选择Proxy_Server,单击下一步的配置计算机,我们不对其进行配置.

    204338483.jpg

    11检查Weblogic配置

    204255367.jpg


    安装另一个节点时,重复上面的操作,配置管理服务器时地址也选择本机地址;配置受管理服务器(代理服务器实际上也是一个受管理服务器)这里的配置和第一个节点的配置完全一样;配置群集信息集群这不需要再配置了,继续操作就行。


    设置启动不需要密码:

    在AdminServer/security目录下,以weblogic用户身份建立boot.properties文件,实现启动时不用输入用户名和密码

    内容为:

    username=weblogic

    password=welcome1

    不用担心密码泄露,因为启动weblogic服务器后boot.properties文件将被服务器用AES算法加密。所以建议大家在调试好后不要随意修改用户名,那样这个文件就失效了。

    12 启动WebLogicAdminServer 服务

    注意只有启动adminserver后才能进一步下面的配置任务,所以我们在脚本目录bin下输入./startWebLogic.sh 但是这个脚本是一个前台程序,一旦窗口意外关闭,就会导致应用程序的推出,所以我们用下面的命令将其放到后台执行。

    nohup ./startWebLogic.sh& \监听TCP 7001端口

    在这里“nohup”表示给命令一个非挂起的信号,“&”表示将服务器放到后台运行,但由于后台运行中有可能报错,我们在实际当中还是在机房主机X-window里启一个窗口单独启动它。

    下面是关键的一个环节,服务器启动顺序,次序不能颠倒,否则将会报错导致无法正常启动。

    124452487.jpg

    启动第一个节点:

    启动第一个节点的命令:

    ./startWebLogic.sh

    ./startManagedWebLogic.sh new_ManagedServer_1 http://192.168.0.4:7003

    ./startManagedWebLogic.sh ProxyServer http://192.168.0.4:8080

    同样我们登录到第二个节点上启动第二个节点服务。

    13.查看服务器配置情况

    登录AdminServer服务器管理端口http://192.168.0.4:7001/console&

    204130932.jpg

    添加数据源

    进入consol控制台后再左边域结构树中点服务前的“+”,单击“新建”,再填写信息如下图

    203947721.jpg

    再单击“新增”,然后继续单击“下一步”

    203827727.jpg

    接下来,输入数据库名qbdb,主机名:192.168.0.4;端口号:1521;以及口令

    203640246.jpg

    单击“测试配置”,测试成功,单击“完成”测试成功后,此数据源就可以正常使用了,关于数据连接池的调优受到Oracle的官方授权的实现,请购买授权后修改数据库连接池的参数。


    部署WEB 应用

    在左边域结构树中点击“环境”前的“+”,在展开的菜单中点击“服务器”,在右边的列表中可以看到各服务器是否正常启动。

    203412685.jpg

    如果正常启动则单击左侧域结构下的“ 部署”203243608.jpg

    再单击右侧的“安装”按钮,选择要部署的WEB 应用程序,笔者这里在“路径”输入框中

    点击安装按钮,可以手工输入Web 应用所在目录:/root/Oracle/Middleware/wlserver_10.3/resources,也可通过点击上传来选择文件所在目录。

    203035363.jpg

    完成后,单击“下一步”,选择群集“new_Cluster”,再选择“群集中的所有服务器”,之后单击“下一步”,再单击“下

    一步”,再单击“完成”。最后再单击左上角的“激活更改”。


    启动WEB 应用

    进入console 控制台后,点击左侧的域结构下的“部署”,接着单击选中部署列表中的

    应用(这里是DefaultWebApp),然后单击“启动”按钮下的菜单项“为所有请求提供服务”,

    202900543.jpg

    接下来在出现的启动部署页再单击“是”按钮。当看到DefaultWebApp 右侧的状态从“准备就绪”转换为“活动”时就表示WEB 应用启动完成。

    注意,如果需要修改字符集,必须在每个服务器中编辑/etc/sysconfig/i18n,实例文件/etc/sysconfig/i18n内容如下:

    LANG="zh_CN.GB18030"

    LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"

    SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"

    SYSFONT="latarcyrheb-sun16"

    然后 source /etc/sysconfig/i18n生效

    本文出自 “李晨光原创技术博客” 博客,谢绝转载!

  • 相关阅读:
    NHibernate OR EES ,不能比较的比较
    Dubbo实现原理和实现机制
    xxljob学习1:整体架构
    xxljob学习2:用户端注册
    xxljob学习4:任务调度器
    xxljob学习3:服务端一次调度
    jQuery源码学习(1)——addClass
    jQuery 选择器项目实例
    javascript权威指南读书笔记(1)——对象
    easyui tabs源码阅读(未完待续)
  • 原文地址:https://www.cnblogs.com/chenguang/p/3742169.html
Copyright © 2011-2022 走看看