准备工作如下:

              物理机os   win7    ip 10.22.8.237  (主机domain  controller)

              虚拟linux系统  ip 192.168.88.128 (从机host controller) (关闭防火墙)

             (理论上两个ip之间可以ping通就可以搭建集群环境)

              软件环境:

             (1) jdk 7及以上版本(以下附上jdk 7的下载地址,linux操作系统中建议下载rpm文件)  http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

    然后通过rpm -i file.rpm安装jdk (目录自定义,如有多个文件,则需要执行rpm -i options file1.rpm file2.rpm ...),安装jdk之后,使用命令# vi /etc/profile打开profile文件,并在该文件末尾添加如下所列出的信息之后保存

  

           (2) 下载WidFly 8的最新版本8.0.0.CR1,具体的下载地址请参考如下链接:http://www.wildfly.org/download/ ,建议下载gz格式的,下载之后移动到虚拟机对应的目录下,然后在Xshell中进入到安装包所在的目录通过命令tar  -zxvf   文件包名,解压下载好的wildfly到当前目录。

    接下里就是搭建domain的多机多节点的集群环境了,整个过程主要涉及到三个wildfly里的xml文件,主机domain.xml ,host.xml 和 从机 host.xml(注:在把其中一台机器作为从机的时候,建议把domain下的domain.xml采取重命名的方式 如:domain.xml.bak)

  主机:

  在domain.xml修改配置如下,其他的不需要改动,默认设置即可:

 

  在host.xml文件里修改如下几处:

 

这里标出来的是要把原来的127.0.0.1改成自己主机的ip

 

  在该文件中提供了两个群组,默认情况下我们使用“main-server-group”群组,多个server节点之间要设定不同的偏移量。

  对于从机192.168.88.128来说,只需要更改host.xml文件,将host.xml文件中的host名修改为“slave”,并将主控制器修改为之前设定的主控制器的IP地址,如下:  

然后将本机的127.0.0.1改为真实的ip。

 修改接口配置,同样要给从机上的多个server节点设置不同的偏移量:

 

上述过程结束之后基本的配置就可以结束,只是在实际运行时可能会发生错误,此时就需要进行适当的安全配置,如下所示。

1)     为主控制器增加管理员用户admin及slave:windows下通过bin下面的add-user.bat(linux是add-user.sh)来添加(笔者在添加slave用户时使用的密码是sn@12345)

2)     修改主控制器配置:成功添加管理员用户之后,在主控制器的host.xml和文件中添加如下配置(其中c25AMTIzNDU是sn@12345的base64码值,用户可以根据实际设定的密码值进行适当的修改)

这里需要注意一下,在主机上添加的了从机用户名和密码之后,对应也要在从机上做add-user的操作,用户名和密码和主机添加的对应,然后在slave从机的host.xml文件里面增加如下配置:

至此,整个集群配置结束,windows下直接运行bin下面的domain.bat命令,linux下到bin目录下执行./domain.sh即可,但是启动服务器之后,你可能会遇到如下警告:

这个警告是由于操作系统os 设置的receive buffer of scoket 过小,只需要调整os的receive buffer of scoket值大小就可以

解决办法

1)打开根目录/下的etc下面的配置文件:vi /etc/sysctl.conf
2)编辑1)中打开的文件,如下:
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
其中net.core.wmem_max是发送缓冲区上限,两个数值都可以往上加,直到不再出现警告。
3)执行配置:sysctl -p
另外一种警告,如下:
解决方法:
打开domain.xml文件找到如下配置:
然后重启两机服务器(先主后从),主机上出现如下图所示,则表示集群部署成功:
然后访问主机上wildfly web控制台,看到如下结果则表示集群部署成功:
然后通过控制台的方式部署war应用,看能否体现domain域统一配置统一部署的功能:
   
待应用部署到master和slave上的各个节点上去之后,通过浏览器来访问之前部署的应用,因为笔者在主从机各个节点之间设置的偏移量间隔是100,所以访问的端口也是从第一个server节点(server-one)8180(原8080+100)一直到8680都是可以访问的,测试结果如下:
   ->访问主机上的应用
 
 测试成功!
 
->访问从机上的应用
 测试成功!
Logo

更多推荐