CentOS 6.3にUltraMonkey-L7を入れた
UltraMonkey-L7入れた
UltraMonkey-L7というものを知り「なにそれかっこいい…」と思ったので入れてみました。
とりあえず入れるだけ入れて、軽く設定してバランシングいけた…
ちゃんと手順書きたかったけど、色々ごにゅごにょ足りないパッケージ入れたりしながらやったので微妙&疲れたのでとりあえずメモを貼る。
以下のサイトを参考にしてやれば間違いないはず!
参考サイト
UltraMonkey-L7 インストールマニュアル(3.0.x 対応版)の表示 - UltraMonkey-L7 - SourceForge.JP
http://sourceforge.jp/projects/ultramonkey-l7/docs/uml7-install_manual_3.0.0_ja/ja/4/uml7-install_manual_3.0.0_ja.txt
UltraMonkey-L7でロードバランサー構築 その4 | 自宅がiDC?
http://blog.x-labot.com/2009/11/15/ultramonkey-l7%E3%81%A7%E3%83%AD%E3%83%BC%E3%83%89%E3%83%90%E3%83%A9%E3%83%B3%E3%82%B5%E3%83%BC%E6%A7%8B%E7%AF%89-%E3%81%9D%E3%81%AE%EF%BC%94/
memo
IP構成
web01, web02でやったこと
phpのインストールと、おまけでphp入れたら依存関係でhttpd入った。
centos6.3ってデフォでPHP5.3入るんだ…!
yum -y install php-devel php-gd php-mbstring php-mysql php-pdo php-pear php-xml php-imap php echo "<h1>web01 or web02</h1>" > /var/www/html/index.html
ultramonkeyでやったこと
メモ貼ってみよ…
centos6系だとcppのファイルにヘッダー追加したりしないといけなかった。
足りないパッケージやライブラリをそのばその場で入れている感じなので、次やれば手順化出来るかも…。
■ 依存性解決 yum install apr-devel apr-util-devel ■ 依存性解決 yum install perl-libwww-perl perl-Crypt-SSLeay perl-IO-Socket-SSL perl-Net-DNS perl-DBI perl-DBD-MySQL perl-DBD-Pg ■ UltraMonkeyをダウンロード cat redir.php\?m\=iij\&f\=%2Fultramonkey-l7%2F54277%2Fultramonkeyl7-3.0.3-1.el6.i686.rpm mv redir.php\?m\=iij\&f\=%2Fultramonkey-l7%2F54277%2Fultramonkeyl7-3.0.3-1.el6.i686.rpm ultramonkeyl7-3.0.3-1.el6.i686.rpm md5sum ultramonkeyl7-3.0.3-1.el6.i686.rpm | grep 5c1561667cec721b1e2a5f476f178827 rpm -ivh ultramonkey-l7-2.1.3-0.i386.rpm cd /etc/ha.d/conf/ cp l7directord.cf.sample l7directord.cf ■ なんかエラーでた # /etc/init.d/l7vsd start Starting l7vsd: /usr/sbin/l7vsd: error while loading shared libraries: liblog4cxx.so.10: cannot open shared object file: No such file or directory error occurred. l7vsd was not started. find / | grep liblog4cxx.so.10 ない… ■ 入れ忘れてたのでインストール curl -L -O http://ftp.kddilabs.jp/infosystems/apache/logging/log4cxx/0.10.0/apache-log4cxx-0.10.0.tar.gz tar xvfz apache-log4cxx-0.10.0.tar.gz cd apache-log4cxx-0.10.0 ./autogen.sh エラーでた。 ■ そんなコマンドねぇっす、と言われるれた。 yum install libtool 再び ./autogen.sh いけた ./configure ■ make -bash: make: コマンドが見つかりません まじっすあ・・・ yum install make ■ 再トライ $ make configure: error: C++ preprocessor "/lib/cpp" fails sanity check まだだめっすかぁ… ■ c++コンパイラ入れる yum -y install gcc-c++ ./configure きた! make make install | tee install.log /bin/sh ../../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"log4cxx\" -DVERSION=\"0.10.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_MBSRTOWCS=1 -DHAVE_WCSTOMBS=1 -DHAVE_SYSLOG=1 -DHAVE_FWIDE=1 -I. -I../../../src/main/include -I../../../src/main/include -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/apr-1 -I/usr/include/apr-1 -g -O2 -MT inputstreamreader.lo -MD -MP -MF .deps/inputstreamreader.Tpo -c -o inputstreamreader.lo inputstreamreader.cpp libtool: compile: g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"log4cxx\" -DVERSION=\"0.10.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_MBSRTOWCS=1 -DHAVE_WCSTOMBS=1 -DHAVE_SYSLOG=1 -DHAVE_FWIDE=1 -I. -I../../../src/main/include -I../../../src/main/include -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/apr-1 -I/usr/include/apr-1 -g -O2 -MT inputstreamreader.lo -MD -MP -MF .deps/inputstreamreader.Tpo -c inputstreamreader.cpp -fPIC -DPIC -o .libs/inputstreamreader.o inputstreamreader.cpp: In member function ‘virtual log4cxx::LogString log4cxx::helpers::InputStreamReader::read(log4cxx::helpers::Pool&)’: inputstreamreader.cpp:66: error: ‘memmove’ was not declared in this scope んーイミフ。 inputstreamreader.cpp:66: error: ‘memmove’ was not declared in this scope と思ってググっていたら、CentOS6系だと修正が必要なようで。 参考サイト http://sourceforge.jp/projects/ultramonkey-l7/docs/uml7-install_manual_3.0.0_ja/ja/4/uml7-install_manual_3.0.0_ja.txt 注意)RHEL6.0では、gccのバージョンの関係でmake時にエラーが出るため、 以下の修正が必要となります。 #include<cstring>を追加 apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp apache-log4cxx-0.10.0/src/examples/cpp/console.cpp #include<cstdio>を追加 apache-log4cxx-0.10.0/src/examples/cpp/console.cpp ■ make install 時に [install-privateincHEADERS] Error 1 が発生する場合以下2ファイルを対処しておきます ./apache-log4cxx/src/main/include/log4cxx/private/Makefile.am ./apache-log4cxx/src/main/include/log4cxx/Makefile.am ・修正前 privateinc_HEADERS= $(top_builddir)/src/main/include/log4cxx/private/*.h log4cxx_private.h ↓ ・修正後 privateinc_HEADERS= $(top_builddir)/src/main/include/log4cxx/private/*.h ・修正前 log4cxxinc_HEADERS= $(top_srcdir)/src/main/include/log4cxx/*.h log4cxx.h ↓ ・修正後 log4cxxinc_HEADERS= $(top_srcdir)/src/main/include/log4cxx/*.h ■ ライブラリの場所を環境変数に書かないといけないみたい export LD_LIBRARY_PATH=/usr/local/lib ■ boostがないと駄目 libboost_threa-dmt.so.5 ないって怒られた ■ 入れる yum install boost-devel.i686 他にも入れる、net-snmp-develだけ足りなかった。 yum innstall net-snmp-devel yum install perl-IO-Socket-INET6 意味あるか分からぬ、代わりに環境変数で対応…? echo ”/usr/local/lib” > /etc/ld.so.conf.d/local.conf ※後で知ったが、ldconfigを使用している。たぶんこの後にldconfigをたたくべきだった。
tmux使って画面を分割してweb01とweb02のaccess_logをtailしてみたり
VMWareを3台動かしてみたり。Phenom4コアとMemory8Gなのでまぁまぁ耐えてくれるはず…!