DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 960|回复: 0
打印 上一主题 下一主题

[待整理] 为你完全解析Oracle 10 gas全面集群配置

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-13 15:16:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
所以本文主要讲如何创建 filebased-Repository 的cluster。对于基于 databased-Repository 的方式的集群,以后再深入讲。对于大规模的企业级应用来讲,没有集群是不太现实的,考虑到可扩展性和高可用性,在通常的生产环境中,都会应用到中间件集群这种技术。

本文主要讲述了10 gas相关的集群配置,一般的管理方面的内容。

10 gas的集群分为两大类
1.基于管理的集群:
基于管理的集群主要通过 Repository 来记录 整个集群得相关配置信息,比如集群发布的程序阿等等。
这个方式下,管理员需要手工操作的东西比较少。比如发布一个程序,只要对整个集群做一次发布即可。

2..手工管理的集群方式:
在这种方式下,除了最基本的session复制以及ejb cluster 外,10gas不提供更多的管理手段,
如果需要发布程序,你需要对参与集群的所有instance做发布。你可以想象再你有10几台服务器的情况下,如果每次发布程序,都需要一台台去发布,不但工作量大,而且很容易搞错。
所以建议采用基于管理的方式来做集群。

基于管理的集群主要用到需要 Repository 来存储相关的配置信息。由于 Repository 的重要性,这里花点时间讲一下 Repository得相关信息。
Repository 有两种存储方式,databased-Repository 和 filebased-Repository。其中 filebased-Repository 是 10gas才新心出来的功能。主要是解决以前只能创建databased-Repository cluster 的问题,而databased-Repository 需要安装Infrastructure 。这个Infrastructure 是大家颇为头疼的东西,不太庞大,而且极容易出问题。所以才有了filebased-Repository。

存放在 Repository 的信息主要有下面几种:
1.Product metadata;
2.Management metadata;
3.Idendity Management metadata (databased-Repository 才有)。

对于集群主要需要用到的信息是 1.Product metadata 和 2.Management metadata。

J2EE andWeb Cache installation type ,这个安装方式缺省就是采用 filebased-Repository .当然也可以迁移到 databased-Repository。


创建集群的要求
1.所有的 application server instance 必须再同一个farm ,也就是要用同一个 Repository来存放管理信息。
2.所有的参与集群的 application server instance 都必须安装同样的os。
3.每个参与集群的 application server instance 只能由一个ohs server。
4.每一个 application server instance 可以有多个oc4j instance。每个oc4j instance可以有多个 oc4j process。
5.当然要求所有的application server instance 版本一样了。

涉及的 application server instance 有两个ip 都是 10.1.18.1 ,在同一 物理server 用两个用户安装两个 application server instance ,每个 application server instance 用不同的端口。操作系统是 redhat 3.0 update 2。

用户 ias10g 启用ohs,端口7778,用户 ias10g2只启用oc4j.。其中 ias10g用户 作为 filebased-Repository host。

1.测试该 application server instance 是否已经属于某个 farm。
检查 instance 1:

           
  1. su - ias10g
  2. [ias10g@finproduction home]$ dcmctl whichFarm
  3. Standalone instance
复制代码
           
显示该instance还没有加入 farm。如果显示已经加入farm,请执行下面的命令离开:

           
  1. farm
  2. dcmctl leaveFarm

  3. 检查 instance 2

  4. su - ias10g2

  5. [ias10g2@finproduction ias10g2]$ dcmctl whichFarm
  6. Standalone instance
  7. [ias10g2@finproduction ias10g2]$
复制代码
           
2.初始化 Repository:

           
  1. su - ias10g
  2. 获得当前的 id 号码
  3. [ias10g@finproduction home]$ dcmctl getRepositoryid
  4. finproduction.tplife.com:7101
  5. [ias10g@finproduction home]$

  6. 初始化farm

  7. dcmctl joinFarm -r finproduction.tplife.com:7101
复制代码
           
其中 finproduction.tplife.com:7101 就是前面通过 getRepositoryid 获得信息。

现在在来看看 是否已经加入 farm :

           
  1. [ias10g@finproduction home]$ dcmctl whichFarm
  2. Farm Name: .tpdata.ias10g.OraHome1.dcm.repository
  3. Host Instance: iastest.finproduction.tplife.com
  4. Host Name: finproduction.tplife.com
  5. Repository Type: Distributed File Based (host)
  6. SSL In Use: false
复制代码
           
可以看到 已经加入 File Based farm .而且这个 instance是 host.

3.加入 instance2:

           
  1. su - ias10g2

  2. dcmctl joinFarm -r finproduction.tplife.com:7101
复制代码
           
加入成功,看看 现在的 farm 信息。

           
  1. [ias10g2@finproduction ias10g2]$ dcmctl whichFarm
  2. Farm Name: .tpdata.ias10g.OraHome1.dcm.repository
  3. Host Instance: iastest.finproduction.tplife.com
  4. Host Name: finproduction.tplife.com
  5. Repository Type: Distributed File Based
  6. SSL In Use: false
  7. [ias10g2@finproduction ias10g2]$
复制代码
           
可以看到,已经加入成功 file-based Repository .

4.创建集群:(两种方式)
一、通过 em 管理界面创建;
二、通过dcmctl手工创建。

由于通过 em 创建比较简单,且创建集群属于比较高阶的内容,我这里主要讲如何手工创建:su - ias10g。

看看是否已经创建集群:dcmctl listclusters。没有输出,说明还没有创建。

创建一个集群:[ias10g@finproduction home]$ dcmctl createcluster -cl mycluster

1、mycluster:

-cl 指定 集群的名字,可以随便取。
[ias10g@finproduction home]$ dcmctl listclusters1 mycluster

可以看到已经创建一个cluster。

先把 instance1 加入集群:

           
  1. [ias10g@finproduction home]$ dcmctl joincluster -cl mycluster

  2. 1 iastest.finproduction.tplife.com
复制代码
           
接着把 instance2加入集群:

           
  1. su - ias10g2

  2. [ias10g2@finproduction ias10g2]$ dcmctl joincluster -cl mycluster

  3. 1 iastest2.finproduction.tplife.com
  4. 2 iastest.finproduction.tplife.com
复制代码
           
可以看到已经再集群mycluster中已经有两个instance。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-1-11 09:59 , 耗时 0.082548 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表