• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:memcachedのモニタリング)

memcachedのモニタリングに関するエラーの原因と解決方法

このQ&Aのポイント
  • memcachedのモニタリングをするために導入したCloudForecastでエラーが発生しました。
  • エラーログを確認したところ、Perlのバージョンが要件を満たしていないことが判明しました。
  • 必要なバージョンのPerlをインストールすることで問題は解決します。

質問者が選んだベストアンサー

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

cpanm がインストールした perl 5.10.0 で実行されていないのだと思います。 perl --version で表示されるバージョンは 5.8.8 のままではないでしょうか。 perldoc -l cpanm で、cpanm スクリプトの存在するパスが表示されるので、インストールした perl で実行してみてください。 perl 5.10.0 が /usr/local/perl/bin/perl でインストールされているのでしたら、 /usr/local/perl/bin/perl cpanmのパス -l extlib --installdeps . と実行します。 cpanm を /usr/local/perl/bin/perl を使ってインストールする必要があるかもしれません。 また、 export PATH=/usr/local/perl/bin:$PATH として、OS 付属の perl よりも先に perl 5.10.0 が使われるようにした方がよいでしょう。 ちょっと自信がないので、うまくいかなかったら、ごめん。

yosakun
質問者

お礼

先ほど perlbrewを入れてみました。 5.16.2を入れて cpanm -l extlib --installdeps . としたとろうまくいったのですが ./cloudforecast_web -p 5000 -c cloudforecast.yaml -l server_list.yaml で今度は下記のようになりました。 # ./cloudforecast_web -p 5000 -c cloudforecast.yaml -l server_list.yaml Can't locate Proc/Wait3.pm in @INC (@INC contains: /root/cloudforecast/site-lib /root/cloudforecast/extlib/lib/perl5/x86_64-linux /root/cloudforecast/extlib/lib/perl5 /root/cloudforecast/lib /root/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux /root/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2 /root/perl5/perlbrew/perls/perl-5.16.2/lib/5.16.2/x86_64-linux /root/perl5/perlbrew/perls/perl-5.16.2/lib/5.16.2 .) at /root/cloudforecast/extlib/lib/perl5/Parallel/Prefork.pm line 10, <DATA> line 1092. BEGIN failed--compilation aborted at /root/cloudforecast/extlib/lib/perl5/Parallel/Prefork.pm line 10, <DATA> line 1092. Compilation failed in require at /root/cloudforecast/extlib/lib/perl5/Plack/Handler/Starlet.pm line 6, <DATA> line 1092. BEGIN failed--compilation aborted at /root/cloudforecast/extlib/lib/perl5/Plack/Handler/Starlet.pm line 6, <DATA> line 1092. Compilation failed in require at /root/cloudforecast/extlib/lib/perl5/Plack/Util.pm line 23, <DATA> line 1092. 検索してみたのですが似たような現象がなかったので perlのバージョンを10.0.1に変更し同じように実行したところ ./cloudforecast_web -p 5000 -c cloudforecast.yaml -l server_list.yaml perl: symbol lookup error: /root/cloudforecast/extlib/lib/perl5/x86_64-linux/auto/Data/MessagePack/MessagePack.so: undefined symbol: Perl_xs_apiversion_bootcheck と出たました。 http://d.hatena.ne.jp/studio3104/20130116/1358304522 で再インストールすると直るとあったのでやってみたのですが変わりませんでした。 うまくいかない原因にはどういった可能性がありますでしょうか? また、rootでperlbrewを入れてしまったのですが後々、問題が出る可能性はありますでしょうか? その場合perlbrewインストール前の状態に戻すにはどのような手順で行えばよいでしょうか? よろしくお願い致します。

yosakun
質問者

補足

ご教授ありがとうございます。 おっしゃる通りバージョンが5.8.8のままでした。 まだ、実行していないのですが perlbrewを使えば上記の作業をせずともうまくいくだろう という解釈であっていますでしょうか? 色々とインストールしていたら今月のサーバーの転送量が制限を越えそうなので 来月、試してみようと思います。 実行後、再度お礼をしたいと思います。 よろしくお願いします。

その他の回答 (1)

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.2

No.1 です。 少し補足します。 OS 標準と違う perl を使うのであれば perlbrew をお勧めします。

参考URL:
http://www.seeds-std.co.jp/seedsblog/611.html
yosakun
質問者

お礼

あれから 全て入れなおしてなんとか表示されるようになりました。 ありがとうございました。

関連するQ&A