GlassFish ドメイン管理の基本

2010年2月2日 at 5:59 AM

さて、ブログサイトを移動して初エントリですが、実は昨年
GlassFish に関する本を出版するかもしれないということで、
出版用に書きためた物があります。それを、そのまま削除するのも
もったいないので、こちらに数回に分けて投稿する事にしました。

まず、はじめに GlassFish のドメイン管理を行う前に事前に準備します。

  1. ホスト名とインストール場所について

  2. 以降で紹介するホスト名は下記の通りです.それぞれのホストで実行するコマンドを区別するため,コマンド実行時はコマンドプロンプトを付加します.たとえば dashost > と記載されたコマンドはドメイン管理サーバ上で実行していることを意味します.

    役割 ホスト名 コマンドプロンプト
    ドメイン管理サーバ dasohst.japan.sun.com dashost >
    ノードエージェント nodeagent1.japan.sun.com nodeagent1 >
    ノードエージェント nodeagent2.japan.sun.com nodeagent2 >
    認証局(CA)サーバ ca-admin.sun.com ca-server >



    ドメイン管理サーバ,ノードエージェントはそれぞれ下記のディレクトリにインストールします.
    GlassFish のインストールは root 権限で行い,インストールしたライブラリ等は全て root 権限のままにします.
    またドメインの実行や管理などは全て一般ユーザ (appserv) で行います.

    /sun/glassfish-v2.1.1



    認証局(CA)サーバはOpenSSL/0.9.8kを利用していますが,紙面の都合上認証局サーバの構築方法は省略します.

  3. アプリケーションサーバ実行ユーザの作成

  4. ドメイン管理サーバと全てのノードエージェント上で実行ユーザとグループを作成します。

    # groupadd -g 300 appserv
    # useradd -u 300 -g appserv -d /export/home/appserv -s /bin/tcsh -m appserv
    64 ブロック

    次に,アプリケーションサーバのデフォルトのドメインディレクトリパスを変更します.この変数を変更すると全てのドメイン管理は指定したディレクトリ配下で行われるようになります.ここで指定したディレクトリは実行ユーザ,実行グループで読み書きができるディレクトリでなければなりません.

    # vi /sun/glassfish-v2.1.1/config/asenv.conf
    AS_DEF_DOMAINS_PATH=”/export/home/appserv/domains”

    上記で指定したディレクトリがない場合は作成してください.

    dashost >cd /export/home/appserv
    dashost > mkdir domains
    dashost > ls -l
    合計 2
    drwxr-xr-x 2 appserv appserv 512 12 月 2日 20:48 domains


  5. 管理操作を容易にする環境変数の設定

  6. あらかじめ環境変数に,管理者ユーザ名,パスワードなどを設定しておくことでコマンド入力引数を省略できます.下記の設定をドメイン管理サーバ,ノードエージェントの全てで設定してください.

    sh 用環境変数の設定例

    PATH=/sun/glassfish-v2.1.1/bin
    JAVA_HOME=/usr/jdk/jdk1.6.0_17
    AS_HOME=/sun/glassfish-v2.1.1
    AS_ADMIN_USER=clusterAdmin
    AS_ADMIN_PASSWORDFILE=~/.passwordfileAS_ADMIN_HOST=dashost.japan.sun.com
    AS_ADMIN_PORT=5048

    csh 用環境変数の設定例

    set path=(/sun/glassfish-v2.1.1/bin $path)
    setenv JAVA_HOME /usr/jdk/jdk1.6.0_17
    setenv AS_HOME /sun/glassfish-v2.1.1
    setenv AS_ADMIN_USER clusterAdmin
    setenv AS_ADMIN_PASSWORDFILE ~/.passwordfile
    setenv AS_ADMIN_HOST dashost.japan.sun.com
    setenv AS_ADMIN_PORT 5048


    AS_ADMIN_PASSWORDFILE で指定するパスワードファイルは任意の場所に置くことができます.パスワードファイルには高い機密性を要する情報が含まれるため,ファイルを隠しファイルにしたり,パーミッションを読み込み可能モードにするなどして管理に十分注意してください.

    パスワードファイル中に記載する AS_ADMIN_PASSWORD は管理サーバにログインする際に使用するパスワードを指定します。また AS_ADMIN_MASTERPASSWORD には SSL のサーバ証明書や認証局証明書を扱う,証明書データベースを操作するために必要なパスワードを指定します.GlassFish はドメインを作成時,自動的で設定ディレクトリ配下に自己署名証明書(ニックネーム:s1as)を作成します.証明書データベースを操作する際にこのパスワードが必要になります.

    ~/.passwordfile の内容

    AS_ADMIN_PASSWORD=adminadmin
    AS_ADMIN_MASTERPASSWORD=changeit

  7. 管理ツールの紹介

    1. 管理コンソール

      GUIの管理コンソールを使用してGlassFishの管理を行うことができます.管理コンソールは洗練されたデザインであるため,初めてGlassFishを扱うサーバ管理者も感覚的に管理操作ができるため非常に便利です.

    2. asadminコマンドユーティリティ

      asadmin コマンドユーティリティは,GUIベースの管理コンソールが提供する管理機能のほとんどを行うことができる便利なユーティリティコマンドです.このコマンドを把握するとスクリプトを書いて管理の自動化を行ったり,ブラウザを開かずに管理ができるためちょっとした管理にもとても便利です.asadminユーティリティの使用方法は,–helpを付加して確認します.実行すると利用可能なコマンドの一覧を表示します.

    3. dashost > asadmin –help
      Administration Commands help(1)
      NAME
      help – displays the asadmin utility commands
      SYNOPSIS
      help [command_name]
      command_name [–help | -?]

      さらに利用可能なコマンド一覧からコマンドを選択し,引数に–help をつけて実行して下さい.実行するとコマンドの詳細なマニュアルが表示されます.

      dashost > asadmin create-domain –help
      Administration Commands create-domain (1)
      NAME
      create-domain – creates a domain with the given name
      SYNOPSIS
      create-domain [–user user] [–passwordfile passwordfile]
      [(–adminport port_number | –portbase portbase)]
      [(–profile developer | cluster | enterprise ] –template domain_template)]
      [–domaindir domain_directory/domains]
      [–instanceport port_number] [–savemasterpassword=false]
      [–domainproperties (name=value)[:name=value]*
      ]
      [–savelogin=false] [–terse=false]
      [–echo=false] [–interactive=true]
      domain_name

      また,asadminユーティリティのコマンドの中でもgetsetコマンドを使用すると現在設定されている内容の参照や更新ができます.下記の例ではアスタリスク(*)を指定し全ての設定情報を参照しています.また特定のプロパティに対してsetコマンドを実行し設定変更を行うことができます.

      dashost > asadmin get “*”
      dashost > asadmin set server-config.http-service.http-listener.admin-listener.server-name=dashost
      server-config.http-service.http-listener.admin-listener.server-name = dashost
      dashost > asadmin get server-config.http-service.http-listener.admin-listener.server-name
      server-config.http-service.http-listener.admin-listener.server-name = dashost



広告

Entry filed under: Application Server/GlassFish. Tags: , .

ニュース記事一覧 GlassFish プロファイル


Java Champion & Evangelist

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2010年2月
« 1月   3月 »
1234567
891011121314
15161718192021
22232425262728

カテゴリー

Twitter

clustermap

ブログ統計情報

  • 1,015,120 hits

Feeds


%d人のブロガーが「いいね」をつけました。