Redhat上安装JBoss及其群集

简介:

1.1 应用软件

 
软件
版本
介质包
所属
对应操作系统
JBoss
4.0.5 .GA
jboss-4.0.5.GA.zip
Redhat
Linux Windows
JDK
1.4.2 _16
j2sdk-1_4_2_16-
linux-i586.bin
Sun
Linux IA64硬件除外)
 
注:1. IA64的硬件需要IA64版本的JDK
    linux下,JDKj2sdk-1_4_2_16-linux-ia64.bin
    Windows下,JDKj2sdk-1_4_2_16-windows-ia64.exe
    2. JBoss 可以运行在任何支持JAVA的平台上。
 

1.2.1 常用的vi文本编辑器命令

命令
操作的含义
vi  文件名
打开对应的文件
a
从命令模式切换到输入模式
Esc
输入模式切换到命令模式
:
末行模式(esc之后,在此时可以输入命令)
:w
保存
:wq
保存并退出
:q!
不保存强制退出
:wq!
保存并强制退出
:set nu
显示行号
: 数字
定位到数字所在的行

1.2.2 安装过程中用到的Linux命令

命令
操作的含义
ssh IP
登录一台Linux系统的计算机并进行操作
groupadd
创建用户组
useradd  组名 用户名
创建用户到组
passwd  用户名
为新用户创建密码
exit
退出当前命令窗口
chmod XXX  文件名
修改文件权限
ls
查看当前目录下的文件
unzip
解压zip格式的压缩包

1.2.3 使用的省略词含义

命令

安装与环境配置

2.1 创建jboss用户

[root@node1 ~]# useradd jboss 
[root@node1 ~]# passwd jboss 
Changing password for user jboss. 
New UNIX password:  
BAD PASSWORD: it is too short 
Retype new UNIX password:  
passwd: all authentication tokens updated successfully. 
[root@node1 ~]#exit
 

2.2 使用jboss用户登录系统

Type `help' to learn how to use Xshell prompt. 
Xshell:\> ssh 192.168.200.151
 
 
 

2.3 使用jboss用户上传软件

 
 
u  查看上传文件结果:
[jboss@node1 ~]$ ls 
jdk-1_5_0_14-linux-i586.bin         jboss-4.0.5.GA.zip

2.4 安装JDK

修改JDK文件的权限,使其执行,并安装(ctrlc跳过版本说明,键入yes进行jdk安装

       [jboss@node1 ~]$ chmod 755 jdk-1_5_0_14-linux-i586.bin 
[jboss@node1 ~]$ ./jdk-1_5_0_14-linux-i586.bin

2.5 安装JBoss

[jboss@node1 ~]$ unzip jboss-4.0.5.GA.zip 
[jboss@node1 ~]$ vi JBOSS_HOME/bin/run.conf
 
添加JAVA_HOME,查找并将红色一行
30 # be defined to $JAVA_HOME/bin/java, else $JAVA will be "java". 
31 # 
32  #JAVA_HOME="/opt/java/jdk"
 
替换成
30 # be defined to $JAVA_HOME/bin/java, else $JAVA will be "java". 
31 # 
32  JAVA_HOME="/home/jboss/jdk1.5.0_14" //你的JDK安装路径
 
使用":wq"保存退出
 

2.6 JBoss的启动和关闭

窗口启动方式及后台启动方式(事实上,这种启动是默认执行了一个启动参数run.sh -c default,在JBOSS_HOME/server/中,有jboss的三种配置:all,default,minimal。你也可以自己复制其中的文件夹,命名为自己的服务,如:myserver,启动的时候只需要run.sh -c myserver就行了。):
[jboss@node1 ~]$ JBOSS_HOME/bin/run.sh //启动后此窗口不能再做他用 
[jboss@node1 ~]$ JBOSS_HOME/bin/run.sh & //启动后此窗口还可继续进行其他操作
 
窗口启动方式及后台启动方式的关闭:
窗口启动方式的,在此窗口直接按“Ctrl+C”就行了
[jboss@node1 ~]$ JBOSS_HOME/bin/shutdown.sh -S //后台启动方式的关闭
 
注意:上面所说的JBoss4.0.5.GA的运行与关闭方式,由于JBoss的后续版本(4.2.0GA+)做了安全修改,不像JBoss4.0.5.GA那样,默认就是启动了全局暴露(就是外IP都可以访问),而是需要增加一个启动参数,才能被外IP访问,因此启动命令变成:
[jboss@node1 ~]$ JBOSS_HOME/bin/run.sh -b 你的IP地址 //暴露此IP上的jboss服务,如果一个机器上有2以上的ip呢?如下命令,暴露所有ip上的jboss服务
[jboss@node1 ~]$ JBOSS_HOME/bin/run.sh -b 0.0.0.0
 
随之关闭命名也就变成:
[jboss@node1 ~]$ JBOSS_HOME/bin/shutdown.sh -S -s 你的IP地址
 

JBoss集群安装

3.1 Apache安装

3.1.1 使用Redhat系统自带的apache服务(建议使用)

启动:
[root@node1 ~]$  service httpd start
 
关闭:
[root@node1 ~]$ service httpd stop
 
重新启动:
[root@node1 ~]$ service httpd restart
 
状态:
[root@node1 ~]$ service httpd status
 
设置随系统启动:
[root@node1 ~]$ chkconfig –level 345 httpd on
 

3.1.2 自己安装Apache

[url]http://httpd.apache.org/[/url]  网站下载 Apache2.x.x 版本的源码包。
[root@node1 ~]$ tar zxvf httpd-2.0.54.tar.gz  //解压
[root@node1 ~]$cd httpd-2.0.54 
[root@node1 httpd-2.0.54]$./configure --enable-MODULE=shared --enable-so  --with-mpm=worker –prefix=PREFIX  //编译
[root@node1 httpd-2.0.54]$ make 
[root@node1 httpd-2.0.54]$ make install
注:PREFIXApache指定的安装路径。默认的路径的为/usr/local/apache2
(本人对Apache也不熟悉,但这样基本上可以正常工作了)

3.2 mod_jk编译

3.2.1 使用系统Apachemod_jk选用

[url]http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/[/url]
网站下载mod_jk

3.2.2 编译mod_jk

[root@node1 ~]$ tar zxvf tomcat-connectors-1.2.23-src.tar.gz 
[root@node1 ~]$cd tomcat-connectors-1.2.23-src 
[root@node1 tomcat-connectors-1.2.23-src]$./configure --with-apxs=PREFIX/apxs 
[root@node1~]$ make 
注:PREFIX 为系统Apache服务的apxs路径,每个linux系统不一样,你可以用whereis apxs搜索一下。

3.2.3 使用自己安装Apachemod_jk选用

可以从 [url]http://www.apache.org/dist/jakarta/tomcat-connectors/[/url]
jk/binaries/
下载对应操作系统的 mod_jk 1.2.x  的二进制版本。
 

3.3 配置Apache装载mod_jk

修改 APACHE_HOME/conf/httpd.conf 文件:

[root@node1 ~]$vi /etc/httpd/conf/httpd.conf 
在文件的末尾添加一行,保存退出:
# Include mod_jk's specific configuration file 
Include conf/mod-jk.conf 
 
创建一个名字为 APACHE_HOME/conf/mod-jk.conf 的文件,并增加如下内容:
# Load mod_jk module 
# Specify the filename of the mod_jk lib 
LoadModule jk_module modules/mod_jk.so 
# Where to find workers.properties 
JkWorkersFile conf/workers.properties 
# Where to put jk logs 
JkLogFile logs/mod_jk.log 
# Set the jk log level [debug/error/info]  
JkLogLevel info 
# Select the log format 
JkLogStampFormat    "[%a %b %d %H:%M:%S %Y]" 
# JkOptions indicates to send SSK KEY SIZE 
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 
# JkRequestLogFormat 
JkRequestLogFormat "%w %V %T" 
# Mount your applications 
JkMount /application/* loadbalancer 
# You can use external file for mount points. 
# It will be checked for updates each 60 seconds. 
# The format of the file is: /url=worker 
# /examples/*=loadbalancer 
JkMountFile conf/uriworkermap.properties 
# Add shared memory. 
# This directive is present with 1.2.10 and 
# later versions of mod_jk, and is needed for 
# for load balancing to work properly 
JkShmFile logs/jk.shm 
# Add jkstatus for managing runtime data 
<Location /jkstatus/> 
  JkMount status 
  Order deny,allow 
Deny from all 
Allow from 127.0.0.1 
</Location>
 
 
创建一个名字为 APACHE_HOME/conf/uriworkermap.properties 的文件,并增加如下内容:
# Simple worker configuration file 
# Mount the Servlet context to the ajp13 worker 
/jmx-console=loadbalancer 
/jmx-console/*=loadbalancer 
/web-console=loadbalancer 
/web-console/*=loadbalancer
 
创建一个名字为APACHE_HOME/conf/workers.properties的文件,并增加如下内容:
# Define list of workers that will be used 
# for mapping requests 
worker.list=loadbalancer,status 
# Define Node1 
# modify the host as your host IP or DNS name. 
worker.node1.port=8009 
worker.node1.host=node1.mydomain.com 
worker.node1.type=ajp13 
worker.node1.lbfactor=1 
worker.node1.cachesize=10 
# Define Node2 
# modify the host as your host IP or DNS name. 
worker.node2.port=8009 
worker.node2.host=node2.mydomain.com 
worker.node2.type=ajp13 
worker.node2.lbfactor=1 
worker.node2.cachesize=10 
# Load-balancing behaviour  
worker.loadbalancer.type=lb 
worker.loadbalancer.balance_workers=node1,node2  
worker.loadbalancer.sticky_session=1 
#worker.list=loadbalancer 
# Status worker for managing load balancer  
worker.status.type=status
 
    将前面编译过的 mod_jk.so 和下载的 mod_jk.so 复制到 APACHE_HOME/ modules 文件夹下。其中, mod_jk.so 的名字要与 mod-jk.conf 文件中的
LoadModule jk_module modules/ mod_jk.so ”相同。
 

3.3 JBoss集群配置

3.3.1 加入集群:

编辑JBOSS_HOME/server/all/deploy/jbossweb-tomcat50.sar/server.xml文件(在jboss中,all的配置就是集群配置,而jbossweb-tomcat50.sar是jboss4.0.5.GA的配置,在4.2.0+里是jboss-web.deployer):

< Engine  name ="jboss.web"  defaultHost ="localhost" >  
... ...  
</ Engine >  
为  
< Engine  name ="jboss.web"  defaultHost ="localhost"
jvmRoute="node1" >  
... ...  
</ Engine >  
<!-- 其中,node1为节点名,与前面mod_jk那里的workers.properties里的节点对应-->

3.3.2  激活 mod_jk
编辑JBOSS_HOME/server/all/deploy/jbossweb-tomcat50.sar/META-INF/
jboss-service.xml
文件:
< attribute  name ="UseJK" >fasle </ attribute >  
<!-- 改为 --> 
< attribute  name ="UseJK" >true </ attribute >
3.3.3 配置应用集群
Session复制:
修改 YOURAPP /WEB-INF/web.xml 文件,web.xml文件的开头增加distributable:
<? xml  version ="1.0" ?>  
< web-app    [url]http://java.sun.com/xml/ns/j2ee=[/url]"http://java.sun.com/xml/ns/j2ee"  
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"  
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
[url]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd[/url]"  
version ="2.4" >  
< distributable />  
<!--  ... -->  
</ web-app >
 
配置 Session 复制模式:
增加YOURAPP/WEB-INF/jboss-web.xml文件,添加如下内容(这都是默认,具体的要根据你的应用、运行环境来配置,可参考《JBoss企业级应用服务平台群集指南》的英文官方文档):
<? xml  version ="1.0" ?>  
< jboss-web >  
< replication-config >  
< replication-trigger >SET_AND_NON_PRIMITIVE_GET </ replication-trigger >  
< replication-granularity >SESSION </ replication-granularity >  
< replication-field-batch-mode >true </ replication-field-batch-mode >  
</ replication-config >  
</ jboss-web >
 
3.4 JBoss集群的启动与关闭
与前面的单个jboss启动和关闭一样,只是在启动命令里的把default换成了all:
[jboss@node1 ~]$ JBOSS_HOME/bin/run.sh -c all
 
        JBoss 集群里有个 farming 服务,即热部署应用归档文件  ( 例如 , EAR , WAR  包或是  SAR  包。不是文件夹后面加个".war"的那种)。
    将你的应用程序打好EAR等归档文件包放到集群中任意一台JBoss [JBOSS_HOME/server/all/farm]文件夹中, JBoss会自动的复制此应用归档文件到集群中的其他节点并完成部署。
    在运行的JBoss集群服务中,从任何一个节点的farm/ 目录下删除应用,应用程序首先从本地卸载,然后再从集群中其他服务节点的farm目录删除应用。
3.6 其他
    上面所做的配置和修改都是使用 Apache做前端HTTP负载的方式,如果使用其他硬件产品做前端负载(如:F5),则JBoss不需要修改,只需使用[JBOSS_HOME/bin/run.sh –c all]启动即可。同时,不管哪种方式,JBoss都是要在同一个网段中(如:192.168.1.*)。
 
好了,到此jboss的简单群集配置完毕。水平有限,错误之处请谅解。也希望大家的完善。

本文转自xudayu 51CTO博客,原文链接:http://blog.51cto.com/xudayu/64842,如需转载请自行联系原作者

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
1月前
|
安全 Linux 网络安全
如何在 VM 虚拟机中安装 Red Hat Enterprise Linux 9.3 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Red Hat Enterprise Linux 9.3 操作系统保姆级教程(附链接)
88 0
|
7月前
|
编解码 Java Linux
linux【redhat&ubuntu】下ffmpeg-3.1安装编译及视频转码
这篇是几年前整理的老文章了,当时在调研流视频推送及播放相关技术,并在项目中应用,使用到ffmpeg,所以整理了这篇文章,但并未发布。最近又有相关的技术需求,所以整理出来,作为一个新的开始。
173 0
|
8月前
|
关系型数据库 Linux 数据库
百度搜索:蓝易云【Redhat Linux9上安装DB2【详解】】
注意事项: - 安装过程中需要注意所选的软件包版本和系统依赖。 - 在创建 DB2 用户和组时,可以使用自己的用户名和组名,但需要与后续操作一致。 - 在配置环境变量时,需要注意所填写的路径是否正确,否则会导致启动 DB2 失败。 - 在启动 DB2 时,需要以 DB2 用户身份进行操作,否则会提示权限不足。
73 0
|
存储 缓存 运维
运维 --- Nginx介绍和在CentOS/Redhat下安装
运维 --- Nginx介绍和在CentOS/Redhat下安装
运维 --- Nginx介绍和在CentOS/Redhat下安装
|
缓存 NoSQL Linux
Redis(一)-Redis的安装以及概述(以Red Hat为例)
Redis是一款开源的高性能 key-value 数据库。它被广泛应用于实际的开发中,高效的纯内存操作使得它可以用来做缓存。单进程单线程的操作使得它可以用来做分布式锁。
138 0
Redis(一)-Redis的安装以及概述(以Red Hat为例)
|
监控 关系型数据库 MySQL
centos/redhat 7 下zabbix安装及使用
centos/redhat 7 下zabbix安装及使用
698 0
centos/redhat 7 下zabbix安装及使用
|
存储 缓存 Linux
【Linux】【RedHat】下载 安装 注册
【Linux】【RedHat】下载 安装 注册
526 0
|
分布式计算 Ubuntu Oracle
RedHat 6.1中安装JDK
以前一直使用Ubuntu做Hadoop的学习,最近需要部署生产环境,服务器改为RedHat,也记录一下在RedHat 6.1中安装JDK,与之前写过在Ubuntu 14.04 安装 JDK 8做一下比较。
122 0
|
Java 数据库连接 应用服务中间件
怎样在eclipse里安装Hibernate / JBoss 工具【最新】
原文:http://www.mkyong.com/hibernate/how-to-install-hibernate-tools-in-eclipse-ide/
194 0
怎样在eclipse里安装Hibernate / JBoss 工具【最新】
|
Oracle 关系型数据库 Linux