配置与理解Glassfish Cluster【28张图片已修复】

第一部分 实验目的

  1. 理解Glassfish V3.1.2.2 Cluster的工作原理
  2. 理解Apache HTTPD 软件负载均衡的工作原理
  3. 理解如何使用Glassfish的内存复制功能
  4. 验证是否或者如何通过Apache HTTPD + Glassfish完成故障转移

第二部分 实验环境设计与搭建   2.1 实验环境拓扑   为了方便起见,实验环境由如简化过的 络拓扑示意图所示,有两个子 构成,分别为Glassfish Cluster Web Subnet和Glassfish Cluster Admin Subnet。  

  • Web Gateway, 拥有公 IP地址,作为互联 业务请求的入口。
  • Load Balance(以下简称LB),软件负载均衡器,将互联 的业务请求按照一定规则转交给4个Glassfish Server Instances以均衡负载。
  • Glassfish Node 1~2,每一个Glassfish Node当中包含两个Glassfish Server Instance。
  • Instance 1 ~ 4, 为4个Glassfish Server的实例。

此外Glassfish Cluster Admin Subnet作为应用服务器管理的子 ,由以下元素构成:

  • Admin Gateway, 可以拥有公 IP地址,作为系统管理员完成日常维护工作的入口。
  • Domain Administration Server,域管理服务器,为Glassfish服务器的术语,用来管理domain下的各个Clusters, Nodes, Instances, Resources, Applications 和其他组件。
  • Glassfish Node 1~2,同上段介绍。

注意:对应Glassfish Cluster的概念, 一个Glassfish Cluster由DAS, Node, 以及各个instance构成。   由于资源有限且为了方便实验环境的构建,两个 关部分暂时省去,两个子 也可以暂时合并为一个子 。   2.2 实验环境描述   笔者采用VMware虚拟机构建目标环境,构建环境的大部分过程可以重用于云端虚拟环境。以下为实验环境清单:

  • 物理主机:MacOS 10.8.3 + 2.7 GHz Intel Core i7 + 16GB 1600 MHz DDR3 + 512G SSD
  • 虚拟机软件:VMware Fusion 5.0.3
  • 虚拟主机:
    • LB
      • 1GB MEM + 1 CPU + 20G + NAT (192.168.107.130) (load-balancer)
    • DAS
      • 1GB MEM + 1 CPU + 20G + NAT (192.168.107.131) (das)
    • Glassfish Node 1
      • 1GB MEM + 1 CPU + 20G + NAT (192.168.107.129) (gnode-1)
    • Glassfish Node 2
      • 1GB MEM + 1 CPU + 20G + NAT (192.168.107.128) (gnode-2)
  • ubuntu安装镜像
    • ubuntu-12.10-server-amd64.iso
  • ubuntu基本安装配置
    • 软件列表配置为VMware默认列表
    • 安装过程为VMware默认的无人参与安装
    • 虚拟资源配置参考“虚拟主机”部分
  • 服务器软件安装
    • LB
      • openssh
      • httpd
    • DAS
      • openssh
      • sun-java6-jdk
      • glassfish
    • Glassfish Node 1~2
      • openssh
      • sun-java6-jdk
      • glassfish (集群Node设定过程中自动安装)
  • 服务器账户
    • username:asadmin
    • password:adminadmin
  • 相关目录设定
    • glassfish
      • /home/asadmin/runtimes/glassfish3
  • 相关端口设定
    • ssh, 22
    • httpd, 80
    • glassfish das admin console, 4848

注解:

  1. NAT为虚拟主机 络配置选项,Network Address Translation 络地址转换
  2. IP地址通过DHCP获得
  3. 由于Glassfish集群配置过程中需要用到各个Glassfish Node的主机名称,所以建议为每个主机设定有意义的名称。同时可以在各个虚拟主机的/etc/hosts文件中指定各个主机名与IP地址映射关系,例如下面文本片段

/etc/hosts 192.168.107.131       das 192.168.107.130       load-balancer 192.168.107.129       gnode-1 192.168.107.128       gnode-2   2.3 实验环境搭建过程   2.3.1 在VMware Fusion上安装虚拟机   根据上一节对实验环境的描述,需要安装配置4台虚拟主机。为了节省安装时间,可以采取下面的安装配置步骤来完成:

  1. 安装模板虚拟主机
  2. 在模板主机中配置安装openssh-server
  3. 如果计划使用指定IP地址的情况下,可预先在模板主机中的/etc/hosts文件中增加前述文本片段,否则可跳过这一步
  4. 复制模板虚拟主机为load-balancer虚拟主机,并通过VMware生成新的MAC地址
  5. 在load-balancer虚拟主机中安装apache web server
  6. 复制模板虚拟主机为glassfish-node模板虚拟主机模板,并通过VMware生成新的MAC地址
  7. 在glassfish-node虚拟主机模板中安装sun-java6-jdk
  8. 在glassfish-node虚拟主机模板中创建/home/asadmin/runtimes目录
  9. 复制glassfish-node虚拟主机模板为glassfish-node 1
  10. 复制glassfish-node虚拟主机模板为glassfish-node 2
  11. 复制glassfish-node虚拟主机模板为domain administration server
  12. 更改各个虚拟机主机名称和配置所有虚拟主机/etc/hosts文件
  13. 在domain administration server中安装glassfish v3.1.2.2

 

2.3.1.1 安装模板虚拟主机

  使用VMware Fusion安装ubuntu-12.10-amd64-server, 包括设定用户名和密码(asadmin, adminadmin), 注解:在VMware Fusion安装的过程中,基本采用默认的配置方式(选择“下一步”,暂时忽略自定义部分),VMware会提示输入目标虚拟主机的用户名和密码,此时填入配置中给出用户名和密码。   2.3.1.2 在模板主机中配置安装openssh-server   在采用VMware Fusion默认安装的版本中,openssh-server不是默认安装内置,需要手动安装。但是ssh服务的配置文件ssh_config在未手动安装之前就已经存在/etc/ssh/目录下。 为了简化安全配置,本次试验选用用户名密码登陆方式(而不是key文件登录方式),所以首先通过下列命令打开文件

sudo vi /etc/ssh/ssh_config 然后将PasswordAuthentication yes前面的#去掉 PasswordAuthentication yes 保存退出(esc :wq) 然后使用下面的命令安装openssh,安装后服务会自动启动。 sudo apt-get install openssh-server 最后,使用下面命令关闭虚拟模板主机 sudo shutdown -P 0  注:首先配置文件然后再安装openssh-server减少一次ssh服务重启。 2.3.1.4 复制虚拟主机模板为load-balancer虚拟主机在MacOS中使用Finder程序,到个人的“文稿”(Documents)目录下,进入“虚拟机”目录,复制刚刚安装好的虚拟主机模板,将其重命名(比如load-balancer)。 在未启动load-balancer的状态下,打开load-balancer虚拟主机窗口,点击窗口上方的 设定(扳手)按钮。在打开的设定面板窗口中,选择 络适配器。点击底部的“高级选项”,如下图所示,最后点击“生成”按钮用来生成新的MAC地址。 

sudo apt-get purge sun-java* #You need to do that if you want the mozilla plugin to work without conflict with java7 for instance.
mkdir ~/src
cd ~/src
git clone https://github.com/flexiondotorg/oab-java6.git
cd ~/src/oab-java6
sudo ./oab-java.sh

Then when its finished, install java:
sudo apt-get install sun-java6-plugin sun-java6-jre sun-java6-bin sun-java6-jdk

You can follow the installation process with:
tail -f ~/src/oab-java6/oab-java.sh.log


  Note: If you do not need Java 6 it’s much safer to stick to the current  Oracle Java 7release. 2.3.1.8 在glassfish-node虚拟主机模板中创建/home/asadmin/runtimes目录 通过下面命令创建相应目录 mkdir runtimes 最后,使用下面命令关闭load-balancer虚拟主机 sudo shutdown -P 0 按照2.3.1.4所提供的步骤完成下面三步 2.3.1.9   复制glassfish-node虚拟主机模板为glassfish-node 12.3.1.10 复制glassfish-node虚拟主机模板为glassfish-node 2
2.3.1.11 复制glassfish-node虚拟主机模板为glassfish domain administration server2.3.1.12 更改所有虚拟主机主机名称以及配置/etc/hosts文件 启动所有虚拟主机,通过下列命令获取各个虚拟主机的IP地址  asadmin@localhost:~$ ifconfig eth0      Link encap:Ethernet  HWaddr 00:0c:29:7b:ab:a3           inet addr:192.168.107.130  Bcast:192.168.107.255  Mask:255.255.255.0           inet6 addr: fe80::20c:29ff:fe7b:aba3/64 Scope:Link           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:3858 errors:0 dropped:0 overruns:0 frame:0           TX packets:1579 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1000           RX bytes:4790744 (4.7 MB)  TX bytes:105902 (105.9 KB)   lo        Link encap:Local Loopback           inet addr:127.0.0.1  Mask:255.0.0.0           inet6 addr: ::1/128 Scope:Host

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2013年10月20日
下一篇 2013年10月20日

相关推荐