Cloudera CDH5リポジトリからCentOS 7にHueをインストールしました。
起動後に報告されたエラー:
# systemctl status hue
hue.service - SYSV: Hue web server
Loaded: loaded (/etc/rc.d/init.d/hue)
Active: failed (Result: resources) since sob 2016-11-26 20:25:31 UTC; 6min ago
Process: 3448 ExecStart=/etc/rc.d/init.d/hue start (code=exited, status=0/SUCCESS)
lis 26 20:25:20 node0 systemd[1]: Starting SYSV: Hue web server...
lis 26 20:25:20 node0 su[3457]: (to hue) root on none
lis 26 20:25:31 node0 hue[3448]: Starting hue: [ OK ]
lis 26 20:25:31 node0 systemd[1]: PID file /usr/lib/hue/pids/supervisor.pid not readable (yet?) after start.
lis 26 20:25:31 node0 systemd[1]: Failed to start SYSV: Hue web server.
lis 26 20:25:31 node0 systemd[1]: Unit hue.service entered failed state.
これは無効なエラー、Hueは実際に正しく起動し、/var/run/hue/supervisor.pid
別のディレクトリ()にpidファイルを作成しました。
# ps -ef | grep hue
hue 3877 1 0 20:25 ? 00:00:00 python2.7 /usr/lib/hue/build/env/bin/supervisor -p /var/run/hue/supervisor.pid -l /var/log/hue -d
hue 3949 3877 0 20:25 ? 00:00:03 python2.7 /usr/lib/hue/build/env/bin/hue runcherrypyserver
PIDFILE変数はpidディレクトリに正しく設定されています/etc/init.d/hue
。 systemctlがコメントとして報告したディレクトリを見つけましたが、
# pidfile: /usr/lib/hue/pids/supervisor.pid
[...]
PIDFILE=/var/run/hue/supervisor.pid
/etc
今私はそれらをすべて見てきましたが、/usr
systemd/var
に特定のディレクトリでpidfileを見つけるように指示する設定が見つかりませんでした。どのようなヒントがありますか?
ベストアンサー1
[...] systemdに、特定のディレクトリでpidfileを見つけるように指示する設定が見つかりません。
皆さんはできるし、それをすることができます。あなたはあなたの質問にそれを入れました:
systemctl
また、コメントに報告されたディレクトリも確認しました。# pid ファイル:/usr/lib/hue/pids/supervisor.pid
まさにそこ。設定情報はsystemd-sysv-generator
PIDファイルの場所を示します。
これは、いくつかの主要なrc
スクリプト(Mewburn rc
、OpenBSD、LFS、Fedora / RHEL / CentOS、SUSE、Debian / Ubuntu、およびOpenRC)rc
からsystemdがインポートしようとする2つのスクリプトのうちの1つです。賞品は、説明の前に追加される「SYSV:」です。別のスタイルをインポートするときは、前に「LSB:」を追加します。
PIDFILE
pidディレクトリは変数を通して正しく設定されました。
「正しい」というのは誇張された表現です。以前のrc
スクリプトは自己矛盾していました。ヘッダーの構成情報は、スクリプトの実際の機能と矛盾します。
一つの方法は矛盾するrc
スクリプトを修正することです。より良いアプローチは、サービスユニットを作成することです。無効なrc
スクリプトを使用すると、デーモンが2つのネストされたサービスマネージャ(systemdの下のスーパーバイザ)で実行される可能性があります。皮肉なことに、このPIDファイルのジャンクは単に不要です。
それは次のとおりです。
[単位] 説明=Hue Webサーバー ドキュメント=https://unix.stackexchange.com/a/326354/5132 [提供する] タイプ=シンプル ユーザー=色合い 作業ディレクトリ=/usr/lib/hue/ 環境=PYTHON_EGG_CACHE=/tmp/.hue-python-eggs ExecStart=/usr/bin/env ビルド/env/bin/hue runcherrypyserver syslogidentifier=hue [インストールする] WantedBy =マルチユーザー。ターゲット