★以下について、tomcat@tomcat.serviceを作成することでtomcat登録が正常に行えました。
しかし、なぜpacemaker+corosyncはtomcat.serviceではなく、tomcat@tomcat.serviceを
必要としていたのでしょうか?
【追記】tomcat@tomcat.serviceは既存のtomcat.serviceをコピーして作成しました。
pacemaker+corosyncに、リソースとしてtomcatを登録したいのですが、下記エラーが発生し、登録に失敗します。
Jan 27 06:33:11 [32248] osact lrmd: notice: operation_finished: Tomcat_Cluster_start_0:5314:stderr [ Failed to start tomcat@tomcat.service: Unit not found. ]
エラー要因はなんでしょうか?
※tomcat@tomcat.serviceが無いことらしいのですが、
/usr/lib/systemd/system配下には、tomcat.serviceおよびtomcat@.serviceは
存在します。
※pacemaker+corosyncを介さずに、systemctl start tomcat で正常にtomcat起動でき、http://localhost:8080へも正常アクセスできることは確認済みです。
■環境情報
OS:CentOS7.3.1611
pacemake:1.1.15
corosync:2.4.0
tomcat:8.5.11
■(追記)pcs config実行結果
[root@osact ~]# pcs config
Cluster Name: cluster_os
Corosync Nodes:
osact ossby
Pacemaker Nodes:
osact ossby
Resources:
Resource: VIP (class=ocf provider=heartbeat type=IPaddr2)
Attributes: ip=192.168.172.9 cidr_netmask=24
Operations: start interval=0s timeout=20s (VIP-start-interval-0s)
stop interval=0s timeout=20s (VIP-stop-interval-0s)
monitor interval=10s (VIP-monitor-interval-10s)
Resource: Web_Cluster (class=ocf provider=heartbeat type=apache)
Attributes: configfile=/etc/httpd/conf/httpd.conf statusurl=http://127.0.0.1/server-status
Operations: start interval=0s timeout=40s (Web_Cluster-start-interval-0s)
stop interval=0s timeout=60s (Web_Cluster-stop-interval-0s)
monitor interval=1min (Web_Cluster-monitor-interval-1min)
Resource: Tomcat_Cluster (class=ocf provider=heartbeat type=tomcat)
Attributes: statusurl=http://127.0.0.1:8080/ java_home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/jre catalina_home=/usr/tomcat8 tomcat_user=tomcat
Operations: start interval=0s timeout=60s (Tomcat_Cluster-start-interval-0s)
stop interval=0s timeout=120s (Tomcat_Cluster-stop-interval-0s)
monitor interval=1min (Tomcat_Cluster-monitor-interval-1min)
Stonith Devices:
Fencing Levels:
Location Constraints:
Resource: VIP
Enabled on: osact (score:INFINITY) (role: Started) (id:cli-prefer-VIP)
Disabled on: ossby (score:-INFINITY) (role: Started) (id:cli-ban-VIP-on-ossby)
Ordering Constraints:
start VIP then start Web_Cluster (kind:Mandatory) (id:order-VIP-Web_Cluster-mandatory)
start Web_Cluster then start Tomcat_Cluster (kind:Mandatory) (id:order-Web_Cluster-Tomcat_Cluster-mandatory)
Colocation Constraints:
Web_Cluster with VIP (score:INFINITY) (id:colocation-Web_Cluster-VIP-INFINITY)
Tomcat_Cluster with VIP (score:INFINITY) (id:colocation-Tomcat_Cluster-VIP-INFINITY)
Resource Sets:
set VIP (id:pcs_rsc_set_VIP_Tomcat_Cluster) setoptions score=INFINITY (id:pcs_rsc_colocation_set_VIP_Tomcat_Cluster)
set VIP Tomcat_Cluster (id:pcs_rsc_set_VIP_Tomcat_Cluster-1) setoptions score=INFINITY (id:pcs_rsc_colocation_set_VIP_Tomcat_Cluster-1)
Ticket Constraints:
Alerts:
No alerts defined
Resources Defaults:
No defaults set
Operations Defaults:
No defaults set
Cluster Properties:
cluster-infrastructure: corosync
cluster-name: cluster_os
dc-version: 1.1.15-11.el7_3.2-e174ec8
have-watchdog: false
last-lrm-refresh: 1485467664
no-quorum-policy: ignore
stonith-enabled: false
Quorum:
Options:
[root@osact ~]#
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
なぜpacemaker+corosyncはtomcat.serviceではなく、tomcat@tomcat.serviceを必要としていたのでしょう>か?
resource-agent の作りがそうなっているからだと思います。
(/usr/lib/ocf/resource.d/heartbeat/tomcat 抜粋)
tomcatCommand()
{
if ocf_is_true $SYSTEMD; then
systemctl $@ tomcat@${TOMCAT_NAME}
else
$@ は "start" または "stop" です。
${TOMCAT_NAME} は pcs resource create ... ocf:heartbeat:tomcat
の引数 tomcat_name=
で指定します。
指定しない場合、デフォルトの tomcat が設定されますので、tomcat@tomcat.service が必要です。
CentOS 7.3 で提供されている tomcat-7.0.69-10.el7.noarch であれば、/usr/lib/systemd/system/ に tomcat@.service ファイルあれば、tomcat@(任意の名前).service は必要ないのですが、tomcat-8.5.11 で提供される tomcat@.service ファイルは作りが違うのでしょうか?
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
リソースエージェントにおかしなところは見受けられませんので、tomcat@tomcat.serviceがうまく起動していないようです。
Tomcat_Clusterリソースを有効にしようとして今回のように失敗したら、次のコマンドを実行して出力される内容を確認下さい。原因がよくわからなければ、その出力をご質問に追記していただけますか。
systemctl status tomcat@tomcat.service
journalctl -xn tomcat@tomcat.service
なお、サービスを直接起動された際にはroot権限で起動に成功されたと思います。まったくの推測ですが、tomcatが何かを書き込むディレクトリ (PIDファイルやログなど) が、tomcatユーザの権限で書き込めないのかもしれません。その場合、次のいずれかの方法で直るかもしれません。
- Tomcat_Clusterリソースの属性に、
tomcat_user=root
を指定する。
または、
- 上述のディレクトリを探して、tomcatユーザが書き込めるようにする。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.22%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
ikedas
2017/01/27 12:22
「crm configure show」の出力結果を提示して下さい。また、設定にあたって参考にした書籍やウェブサイトがあればその情報 (書名とページ、URLなど) を提示して下さい。
nob777
2017/01/28 06:38
ご確認いただきありがとうございます。crmは入れていませんので、pcs config実行結果を追記しました。tomcat連携にあたり参考にしたサイトは、http://muru-techsolution.blogspot.jp/2015/04/apache-tomcat-cluster-with-pacemaker-on.html です。
ikedas
2017/01/28 14:37
了解です。