[Hadoop] Install Hadoop on Ubuntu 12.04 x86_64

Install Hadoop on Ubuntu 12.04 x86_64
A)Install JAVA JDK
# chmod u+x jdk-6u43-linux-x64.bin
  # ./jdk-6u43-linux-x64.bin.bin
  # sudo mkdir -p /usr/lib/jvm
  # sudo mv jdk1.6.0_43 /usr/lib/jvm/
  # sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.6.0_43/bin/java" 1
  # sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.6.0_43/bin/javac" 1
 
B)Add Hadoop User
# sudo addgroup hadoop
# sudo adduser --ingroup hadoop hduser  (1qaz2wsx)
# sudo adduser hduser sudo  <-- add="" p="" permission="" sudo="">
C)Configuring SSH
# su - hduser
# ssh-keygen -t rsa -P ""
# cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
# ssh localhost

D)Disable ipv6
# sudo vi /etc/sysctl.conf
--------------------------
# disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
# check ipv6 disabled , return 1 for disable
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6

E)Install Hadoop
#下載:http://apache.stu.edu.tw/hadoop/core/
# cd
# wget http://apache.stu.edu.tw/hadoop/core/hadoop-1.1.2/hadoop-1.1.2.tar.gz
# cd /usr/local
# sudo tar -zxvf ~/hadoop-1.1.2.tar.gz
# sudo mv hadoop-1.0.3 hadoop
# sudo chown -R hduser:hadoop hadoop

F)Update bash
# cd
# vi .bashrc
--------------------------
# Set Hadoop-related environment variables
export HADOOP_HOME=/usr/local/hadoop

# Set JAVA_HOME (we will also configure JAVA_HOME directly for Hadoop later on)
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_43

# Some convenient aliases and functions for running Hadoop-related commands
unalias fs &> /dev/null
alias fs="hadoop fs"
unalias hls &> /dev/null
alias hls="fs -ls"

# If you have LZO compression enabled in your Hadoop cluster and
# compress job outputs with LZOP (not covered in this tutorial):
# Conveniently inspect an LZOP compressed file from the command
# line; run via:
#
# $ lzohead /hdfs/path/to/lzop/compressed/file.lzo
#
# Requires installed 'lzop' command.
#
lzohead () {
    hadoop fs -cat $1 | lzop -dc | head -1000 | less
}

# Add Hadoop bin/ directory to PATH
export PATH=$PATH:$HADOOP_HOME/bin:$JAVA_HOME/bin
--------------------------

G) Configuration
1.hadoop-env.sh  加入JAVA_HOME
# vi /usr/local/hadoop/conf/hadoop-env.sh
--------------------------
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_43
--------------------------

2.HDFS
# sudo mkdir -p /app/hadoop/tmp
# sudo chown hduser:hadoop /app/hadoop/tmp
# sudo chmod 750 /app/hadoop/tmp

3.core-site.xml
# vi /usr/local/hadoop/conf/core-site.xml

4.mapred-site.xml
# vi /usr/local/hadoop/conf/mapred-site.xml


5.hdfs-site.xml
# vi /usr/local/hadoop/conf/hdfs-site.xml
6.Format Name Node
# /usr/local/hadoop/bin/hadoop namenode -format

H) Run & Shutdown
# /usr/local/hadoop/bin/start-all.sh
# /usr/local/hadoop/bin/stop-all.sh

I) Testing...
1.Download input data
# mkdir /tmp/gutenberg
# cd /tmp/gutenberg
# wget http://www.gutenberg.org/cache/epub/4300/pg4300.txt
# wget http://www.gutenberg.org/cache/epub/5000/pg5000.txt
# wget http://www.gutenberg.org/cache/epub/20417/pg20417.txt

2.Start Hadoop
# /usr/local/hadoop/bin/start-all.sh

3.Copy local example data to HDFS
# hadoop dfs -copyFromLocal /tmp/gutenberg /user/hduser/gutenberg
# hadoop dfs -ls /user/hduser/gutenberg

4.run mapreduce wordcount
# bin/hadoop jar hadoop-examples-1.1.2.jar wordcount /user/hduser/gutenberg /user/hduser/gutenberg-output
# bin/hadoop dfs -ls /user/hduser/gutenberg-output
# bin/hadoop dfs -cat /user/hduser/gutenberg-output/part-r-00000
# bin/hadoop dfs -getmerge /user/hduser/gutenberg-output /tmp/gutenberg-outpu
# head /tmp/gutenberg-output/gutenberg-output

J) WEB UI
1.TaskTracker Web Interface (MapReduce layer)
- http://localhost:50060
2.JobTracker Web Interface (MapReduce layer)
- http://localhost:50030
3.NameNode Web Interface (HDFS layer)
- http://localhost:50070








[Zabbix] Install Zabbix on CentOS 6.3

Zabbix Server 需求套件
=========================================================
#yum install zlib-devel.*
#yum install openssl-devel.*
#yum install libxml2-devel.*
#yum install curl curl-devel net-snmp net-snmp-devel
#yum install flex
#yum install bison gcc automake autoconf snmp rrdtool
#yum install php-gd php-mysql php-pear phpMyAdmin mysql-server mysql mysql-devel php
#yum install php-bcmath php-mbstring php-xml

***
1. 用 vi /etc/httpd/conf/httpd.conf 設定Apache中的語系為:( (記得restart)
         AddDefaultCharset UTF-8

2. 用 vi /etc/php.ini 設定php中的語系為:( (記得restart)
         default_charset = "utf-8"

3. 用 vi /etc/my.cnf 設定MySQL中的語系為:( (記得restart)
      [mysqld]
         init_connect='SET NAMES utf8'
         default-character-set=utf8
      [client]
         default-character-set = utf8

安裝 Zabbix Server
=========================================================
取得 Zabbix 原始碼: http://www.zabbix.com/download.php
# tar zxf zabbix-2.0.5.tar.gz -C /usr/local/src
# cd /usr/local/src/zabbix-2.0.5
# ./configure --prefix=/opt/zabbix-2.0.5 --enable-server --enable-agent \
   --with-mysql --with-libcurl --with-net-snmp
# make install
# mysql -u root -p -A mysql
mysql> CREATE DATABASE `zabbix` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> quit
# cd /usr/local/src/zabbix-2.0.5/database/mysql
# mysql -u root -p -A zabbix < schema.sql
# mysql -u root -p -A zabbix < images.sql
# mysql -u root -p -A zabbix < data.sql
# cd /opt
# ln -s zabbix-2.0.5 zabbix
# vi /opt/zabbix/etc/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
# groupadd zabbix
# useradd -g zabbix -s /sbin/nologin -M zabbix
啟動 Zabbix Server 與 Zabbix Agent Daemon
# /opt/zabbix/sbin/zabbix_server
# /opt/zabbix/sbin/zabbix_agentd
開機自動啟動
# echo "/opt/zabbix/sbin/zabbix_server" >> /etc/rc.d/rc.local
# echo "/opt/zabbix/sbin/zabbix_agentd" >> /etc/rc.d/rc.local
在 Zabbix Server 安裝 Web 介面
# cp -r /usr/local/src/zabbix-2.0.5/frontends/php/. /var/www/zabbix/
# chown apache:apache /var/www/zabbix/conf
# vi /etc/php.ini
date.timezone = "Asia/Taipei"
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
# vi /etc/httpd/conf.d/zabbix.conf
Alias /zabbix /var/www/zabbix

    AllowOverride Limit
    Order allow,deny
    Allow from 192.168.

# service httpd restart

Zabbix Agent @ Linux 安裝步驟
=========================================================
# ./configure --prefix=/opt/zabbix-2.0.1 --enable-agent
# make install
# cd /opt
# ln -s zabbix-2.0.1 zabbix
# vi /opt/zabbix/etc/zabbix_agentd.conf
Server=zabbix.server.name.or.ip
Hostname=my.host.name
# groupadd zabbix
# useradd -g zabbix -s /sbin/nologin -M zabbix
# /opt/zabbix/sbin/zabbix_agentd
# echo "/opt/zabbix/sbin/zabbix_agentd" >> /etc/rc.d/rc.local

Zabbix Agent @ Windows 安裝步驟
=========================================================
1. 取得 Zabbix Agent for Windows: http://www.zabbix.com/download.php
2. 將 win32 (32位元) 或 win64 (64位元) 裡的檔案解壓縮到 C:\zabbix
3. 以 Administrator 身份執行 cmd
4. 產生 zabbix_agentd.conf 設定檔
> echo Server=zabbix.server.name.or.ip > c:\zabbix\zabbix_agentd.conf
5. 註冊 Zabbix Agent 服務
> c:\zabbix\zabbix_agentd.exe --config c:\zabbix\zabbix_agentd.conf --install
6. 啟動 Zabbix Agent 服務
> net start "Zabbix Agent"
7. 開機自動啟動 Zabbix Agent 服務 (注意空格)
> sc config "Zabbix Agent" start= auto
註: 如果沒有出現防火牆開放提示, 必須到控制台手動操作防火牆設定, 允許 C:\zabbix\zabbix_agentd.exe 通過防火牆, 或開放 TCP 10050 port
       

[MySQL] Install MySQL Cluster 7.2.10 on CentOS 6

0.Pre-config OS
================================================================
先將/etc/udev/rules.d/70-persistent-net.rules裡的eth0刪除並把eth1改為eth0
#sudo vi /etc/udev/rules.d/70-persistent-net.rules

更改/etc/sysconfig/network-scripts/ifcfg-eth0
#sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NETWORK=192.168.1.0
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
IPADDR=192.168.1.xxx

更改hostname
#sudo vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=xxx_xxx

disable SELINUX
#sudo vi /etc/sysconfig/selinux
SELINUX=disabled

1.Management Node
================================================================
#tar -zxvf mysql-cluster-gpl-7.2.5-linux2.6-x86_64.tar.gz
#cd mysql-cluster-gpl-7.2.5-linux2.6-x86_64
#mv bin/ndb_mgm .
#mv bin/ndb_mgmd .
#chmod +x ndb_mg*
#mv ndb_mg* /usr/bin/

set up the config file ON ManagementNode
#mkdir /var/lib/mysql-cluster
#cd /var/lib/mysql-cluster
#vi config.ini

-------config.ini--------
[NDBD DEFAULT]
DataMemory=80M
IndexMemory=18M
NoOfReplicas=2

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

# Managment Server
[NDB_MGMD]
HostName=192.168.1.180       # the IP of Mgm SERVER
# Storage Engines
[NDBD]
HostName=192.168.1.182        # the IP of the 2nd SERVER
DataDir= /var/lib/mysql-cluster
[NDBD]
HostName=192.168.1.183    # the IP of the 3rd SERVER
DataDir=/var/lib/mysql-cluster
# 1 MySQL Clients
[MYSQLD]
HostName=192.168.1.180       # the IP of 4th SERVER
---------------------------

#mkdir -p /usr/local/mysql/mysql-cluster

Start the Management Node:
#ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
#ndb_mgmd -f /var/lib/mysql-cluster/config.ini --reload

2.Data Node
================================================================
#tar -zxvf mysql-cluster-gpl-7.2.10-linux2.6-x86_64.tar.gz
#mv mysql-cluster-gpl-7.2.10-linux2.6-x86_64 /usr/local/
#cd /usr/local/
#mv mysql-cluster-gpl-7.2.10-linux2.6-x86_64 mysql-cluster
#mkdir /var/lib/mysql-cluster
#mkdir /etc/mysql
#cd /etc/mysql
#vi my.cnf

--------my.cnf--------
[mysqld]
datadir=/usr/local/mysql-cluster/data
basedir=/usr/local/mysql-cluster
socket=/usr/local/mysql-cluster/mysql.sock
default-storage-engine=NDBCLUSTER
ndbcluster
ndb-connectstring=192.168.1.180

[mysql_cluster]
ndb-connectstring=192.168.1.180
-----------------------

Startup DataNode
#/usr/local/mysql-cluster/bin/ndbd --initial
#/usr/local/mysql-cluster/bin/ndbd -d

3.SQL Node
================================================================
#tar -zxvf mysql-cluster-gpl-7.2.10-linux2.6-x86_64.tar.gz
#mv mysql-cluster-gpl-7.2.10-linux2.6-x86_64 /usr/local/
#cd /usr/local/
#mv mysql-cluster-gpl-7.2.10-linux2.6-x86_64 mysql-cluster
#cp mysql-cluster/support-files/mysql.server /etc/init.d/mysqld
#mkdir /etc/mysql
#vi /etc/mysql/my.cnf

——————-my.cnf——————————–
[client]
port = 3306
socket = /tmp/mysql.sock

# The MySQL server
[mysqld]
basedir = /usr/local/mysql-cluster
datadir = /usr/local/mysql-cluster/data
port = 3306
socket = /tmp/mysql.sock
ndbcluster
ndb-connectstring=192.168.1.180
user = mysql
# Try number of CPU’s*2 for thread_concurrency
thread_concurrency = 2
log-bin=mysql-bin
log-error

[mysql_cluster]
ndb-connectstring=192.168.1.180

[mysqld_safe]
log-error = /var/log/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[mysqlhotcopy]
interactive-timeout
————————————-————————-

#groupadd mysql
#useradd -r -g mysql -s /sbin/nologin mysql
#cd /usr/local/mysql-cluster
#scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql-cluster
#vi /etc/init.d/mysqld
***把basedir 跟 datadir的路徑加入
basedir=
    datadir=
    改為
basedir=/usr/local/mysql-cluster
    datadir=/usr/local/mysql-cluster/data

#/etc/init.d/mysqld start
#/etc/init.d/mysqld stop

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Add Data and SQL Node
Step 1: Update configuration file.  (add [NDBD] or [MYSQLD]), 加sqlnode只要做到Step 4
Step 2: Restart the management server.
2.1 in ndb_mgm console, type 'x' stop. x is mgmnode id, x=1 usually.
2.2 in shell, restart ndb_mgmd (#ndb_mgmd -f /var/lib/mysql-cluster/config.ini --reload)
Step 3: Perform a rolling restart of the existing data nodes.
3.1 in ndb_mgm console, type 'x' restart. x is data node id.(每一個Data Node都要restart)
Step 4: Perform a rolling restart of all cluster API nodes.
4.1 in shell, restart mysqld (#/etc/init.d/mysqld restart)
Step 5: Perform an initial start of the new data nodes.
5.1 in shell, execute ndbd --initial
Step 6: Create a new node group.
6.1 in ndb_mgm console, type CREATE NODEGROUP 3,4
Step 7: Redistribute cluster data
7.1 in ndb_mgm console, type ALL REPORT MEMORY
7.2 在sqlnode的結點下,連入mysql> ALTER ONLINE TABLE xxxxx REORGANIZE PARTITION
7.3 在sqlnode的結點下,連入mysql> OPTIMIZE TABLE xxxxx,xxxxx

[OpenERP] Install OpenERP 6.1 on Amazon EC2 (Ubuntu 12.04 LTS x64)

1.先安裝系統所需的程式或lib
#sudo apt-get install openssh-server denyhosts
#sudo apt-get update
#sudo apt-get dist-upgrade

2.Create the OpenERP user
#sudo adduser --system --home=/opt/openerp --group openerp
#sudo su - openerp -s /bin/bash
#exit

3.Install and configure the database server(PostgreSQL)
#sudo apt-get install postgresql
#sudo su - postgres
#createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt openerp
Enter password for new role: cen0q@dmin (mz@dmin)
Enter it again: cen0q@dmin (mz@dmin)
#exit

4.Install the necessary Python libraries for the OpenERP server
#sudo apt-get install unzip python-mock python-unittest2 python-docutils python-jinja2 python-dateutil python-feedparser python-gdata python-ldap python-libxslt1 python-lxml python-mako python-openid python-psycopg2 python-pybabel python-pychart python-pydot python-pyparsing python-reportlab python-simplejson python-tz python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt python-yaml python-zsi python-pip
#sudo apt-get remove python-werkzeug
#sudo pip install werkzeug

5.Install the OpenERP server
a.Download:
#wget http://nightly.openerp.com/6.1/releases/openerp-6.1-1.tar.gz
#     http://nightly.openerp.com/6.1/releases/openerp-6.1-latest.tar.gz
b.unzip:
#sudo mkdir /opt/openerp
#cd /opt/openerp
#sudo tar xvf ~/openerp-6.1-1.tar.gz
#sudo chown -R openerp: *
#sudo cp -a openerp-6.1-1 server

6.Configuring the OpenERP server
#sudo cp /opt/openerp/server/install/openerp-server.conf /etc/
#sudo chown openerp: /etc/openerp-server.conf
#sudo chmod 640 /etc/openerp-server.conf
#sudo vi /etc/openerp-server.conf
db_password = False
logfile = /var/log/openerp/openerp-server.log
#########################
for openerp v7
要額外加上gdata-python-client (http://code.google.com/p/gdata-python-client/)
先下載最新版本,解壓後再執行
#sudo python ./setup.py install
#########################
#sudo su - openerp -s /bin/bash
#/opt/openerp/server/openerp-server   <---for ctrl="" div="" run="" server="" shutdown="" test="" to="">
#exit

7.Installing the boot script
#sudo chmod 755 /etc/init.d/openerp-server
#sudo chown root: /etc/init.d/openerp-server
#sudo update-rc.d -f openerp-server defaults
#sudo mkdir /var/log/openerp
#sudo chown openerp:root /var/log/openerp

[OpenERP] 客製流程(以expense為例)

1.        先定義流程狀態(state)
#sudo vi /opt/openerp/server/openerp/addons/hr_expense/hr_expense.py
修改 :
=>增加兩個狀態 hr_expense.mt_expense_first_approved, hr_expense.mt_expense_second_approved

=>增加兩個狀態 first_approved, second_approved

=>加入以下兩個method給action call,主要是來change state

       
2.        增加流程動作
於OpenERP上,點選"設置">"技術">"工作流程">"工作流程"


=>這時會顯示所有目前已定義的流程


我們以expense來說明,所以點選"hr.wkf.expenses"

點選後會跳出此流程的所有動作(activity),



按下"編輯"來新增我們要的動作

點選"新增一個項目",填入名稱,工作流程,類別及python 動作

新增源活動及目標活動

這裡的信號代表畫面上按鈕的動作(name),此時可選擇這個活動的使用者群組,來限定可執行該動作的人員.

依樣作出second_approved.
3.        修改畫面
點選”人力資源”>”費用”並按下”建立”

此時在上方”調試視圖#xxx”內選擇”編輯Form視圖”

會出現如下圖,


在裡面新增兩個button
更改
最後按下存檔就完成了.

[PostgreSQL] PostgreSQL 9.x Replication 心得記錄


1. Hot-Standby vs. Warm-Standby:
    先講講Warm-Standby,它指的是Standby server處在offline的狀態下,並不能提供查詢工作。主要目的是讓Master在失效後能透過它快速的啟動來接手服務。
    而Hot-Standby基本上跟Warm-Standby相同,只差異在於Hot可以提供read-only queries,可以利用這個特性來做負載平衡。

2. Replication 方法差異(file-based log shipping, streaming replication 及 synchronous replication)
    a) file-based log shipping:
            指的是copy WAL log 到指定目錄,等到master有問題時,可以透過這些備份的  
        WAL log來進行還原。此方法是當一個WAL被填滿時(預設是16MB),才會進行copy,
        所以master跟slave之間會有比較大的delay。


    b) streaming replication :
             相較於file-based log shipping,Streaming的方式是根據WAL Record,在master
        及standby node各自有一個WSL Sender及Receiver來對資料進行replicate。



    c) synchronous streaming replication :
           與streaming replication相似,只需於Master的postgresql.conf增加配
       置synchronous_standby_names,再於recovery.conf裡的primary_info裡多增加
       application_name就可以了,這些參數會保證replication 同步。有一點值得注意的是當
       你的synchronous_standby_names不只一個時,只有一個(第一個)可以做為同步的對象。

主要的設定為:
    a) master node 上的 postgresql.conf
        wal_level = hot_standby or archive                                       #對應hot-standby or warm-standby
          archive_mode = on
          archive_command = 'cp %p /home/postgres/archive/%f'        
#也可用rsync來達到
          max_wal_senders = 1                                                        #基於WAL Record,值視standby server的數量
          synchronous_standby_names = 'standby_db1,standby_db2'    #同步replication時會用到
    b) slave node 上的 postgresql.conf
        hot_standby = on                                                             #hot-standby才需要有這個
    c) slave node 上的 recovery.conf
        standby_mode = on
          restore_command = 'cp /home/postgres/archive/%f %p'  
          primary_conninfo = 'host=db01 port=5432 user=repusr password=repusr application_name=standby_db1' #同步replication時會用到
          trigger_file = '/opt/pg92/pgsql.trigger.6432'

[JBoss] JBoss 設定與效能調校


  • 簡介:

    JBoss AS廣泛用於Web應用程序的開發,測試和部署Java應用程序服務器。 在這篇文章中,將介紹的JBoss的設置和性能調整。

JBoss可大規模部署(Farm Deploy),並支持負載均衡(Load Balance),集群(Cluster),並符合EJB和J2EE規範。請注意以下是針對JBoss5.1。


  • 開始使用JBoss前你要做的事:
1.下載並安裝 JDK ,建議是使用1.6版
2.下載相應的 JBoss 版本

  • 基礎:

JBoss AS 5採用了全新的架構被 Microcontainer 來管理POJO和生命週期,這是一個輕量級的容器。它也完整支援Java EE5。

JBoss AS 5配備了5種不同的組態(server configurations)。應用程序應該選適合的組態。這篇文章會使用default來做說明。

如果您使用的是“默認”以外的其他任何服務器配置,你將不得不在服務器的啟動腳本的命令行中指定。例如使用下面的命令來運行“最小”配置。

/jboss-5.1.0.GA/bin# run.sh -C default  (如是default可以不寫)
另外你要部署程式,可以將WAR or EAR直接copy到 /JBOSS_HOME/server/default/deploy/下就可以完成。

  • 設定
step1: 設定啟動與停止script
    startup : /JBOSS_HOME/bin/run.sh -c default
    shutdown : /JBOSS_HOME/bin/shutdown.sh -S
    bind ip : /JBOSS_HOME/bin/run.sh -c default -b 0.0.0.0

step2: JVM的memory 設定
    run.conf是 run.sh這個啟動script會去讀取的組態檔,我們可以將JVM的參數設定於此。
值的大小取決於你機器本身,沒有一定,但有時太小可能會導致一些問題。

set "JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1024m"
set "JAVA_OPTS=%JAVA_OPTS% -XX:PermSize=512m -XX:MaxPermSize=512m"

建議是將-Xms與-Xmx設為一樣大,PermSize設為512。PermSize預設為256通常是不夠的。

step3: 更改服務的Port號
    /JBOSS_HOME/server/default/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml
可將裡面 8080改為 80 , 8443改為443。應你需求來設定。

step4: 設定Datasource
    一般設定datasource是採用*-ds.xml,並將該檔案部署到JBOSS_HOME/server/default/deploy/下,以postgres為例,你可以產出一個postgres-ds.xml來設定所要的組態,並放置到前述的目錄下。
    你可以到JBOSS_HOME/docs/examples/jca下找到很多例子。copy一份並更改裡面的參數就可以囉。

setp5: 設定HTTP Connector
    在/JBOSS_HOME/serverdefault/deploy/jbossweb.sar/server.xm裡面可以組態HTTP Connector的設定,這些設定可能會關係到系統的Performance。


maxThreads- 處理客戶端的HTTP請求被分配的最大的線程數。就是同時要應付多少Request啦。

acceptCount - 這是請求隊列中的請求的線程時使用所有可用線程的數量。當超過時,再連進該伺服器就會顯示timeout。

compression - 如果將此屬性設為“force”,傳送的內容會被壓縮,由JBoss將被發送到瀏覽器。瀏覽器將它解壓縮,然後才顯示頁面。啟用壓縮可以減少你的應用程序的頻寬。

setp6:  設定 JSP Compilation

Step 7 – 移除不必要的服務與應用程式
    以下列出的Service如果不會用到,可以將其刪除
(a) Home page server- (deploy/ROOT.war)
(b) JMX Console server – (deploy/jmx-console.war)
(c) Web Console server – (deploy/management)
(d) Unique ID key generator -  (deploy/uuid-key-generator.sar, lib/autonumber-plugin.jar)
(e) HTTP Invoker service – (deploy/http-invoker.sar)
(f) Quartz scheduler service – (deploy/quartz-ra.rar)
(g) Mail service – (deploy/mail-service.xml, lib/mail*.jar)
(h) Monitoring service – (deploy/monitoring-service.xml,lib/jboss-monitoring.jar)
(i) Scheduler service – (deploy/scheduler-service.xml, deploy/schedule-manager-service.xml,lib/scheduler-plugin*.jar)
(j) Messaging (JMS) service – (deploy/messaging, deploy/jms-ds.xml, deploy/jms-ra.rar, lib/jboss-messaging*.jar)

Step 8 – 保護 Administration Console

Step 9 – 設定 Log4J Logging