やっぱグレートなプログラマになりたいっす。
2011-06-27
■[技術メモ]MongoDBを入れてみた
必要に迫られて、CentOS 5.4にMongoDBを入れてみました。
# yum install mongodb-server mongodb-devel # /etc/init.d/mongod start Starting mongod:[ OK ]
接続してみると、エラー。
#mongo Sun Jun 26 21:53:49 *** warning: spider monkey build without utf8 support. consider rebuilding with utf8 support connecting to: test Sun Jun 26 21:53:49 Error: couldn't connect to server 127.0.0.1 (anon):1154 exception: connect failed
ログ等を確認してみると、そもそも起動していないっぽい。
起動O.K.って出してたじゃないですか。。。
# /etc/init.d/mongod status mongod dead but subsys locked # cat /var/log/mongodb/mongodb.log Sun Jun 26 21:52:22 MongoDB starting : pid=2052 port=27017 dbpath=/var/lib/mongodb 32-bit ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data ** see http://blog.mongodb.org/post/137788967/32-bit-limitations Sun Jun 26 21:52:22 db version v1.6.4, pdfile version 4.5 Sun Jun 26 21:52:22 git version: nogitversion Sun Jun 26 21:52:22 sys info: Linux x86-12.phx2.fedoraproject.org 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 i686 BOOST_LIB_VERSION=1_33_1 Sun Jun 26 21:52:22 exception in initAndListen std::exception: dbpath (/var/lib/mongodb) does not exist, terminating Sun Jun 26 21:52:22 dbexit: Sun Jun 26 21:52:22 shutdown: going to close listening sockets... Sun Jun 26 21:52:22 shutdown: going to flush oplog... Sun Jun 26 21:52:22 shutdown: going to close sockets... Sun Jun 26 21:52:22 shutdown: waiting for fs preallocator... Sun Jun 26 21:52:22 shutdown: closing all files... Sun Jun 26 21:52:22 closeAllFiles() finished Sun Jun 26 21:52:22 dbexit: really exiting now
/var/lib/mongodbがありませんとの指摘です。インストール時に作ってくれよという気もします。
/var/lib/の下にmongodbディレクトリを作り、ユーザとグループをmogodbにします。
気をとりなおして再度起動&ログイン
UTF8絡みでWarningが出ています。
日本語を入れると、やっぱりエラー。
# mongo
MongoDB shell version: 1.6.4
Sun Jun 26 22:36:23 *** warning: spider monkey build without utf8 support. consider rebuilding with utf8 support
connecting to: test
> k = { name : "ほげほげ" };
error:non ascii character detected
>
SpiderMonkey(js)をUTF-8対応すれば良いらしいです。
Building Spider Monkey - MongoDB
上記の記事によると、jsをアンインストールしてから再度UTF-8版を入れてねと書いています。
ただし、MongoDBをyumで入れたい場合は、上記の方法ですると依存関係でrpm版のjsが勝手に入れられます。
解決策としては、何も考えずにyumでmongodb-serverとmongodb-develをインストールして(jsも一緒に入ります)
その後にソースからビルドしたjsを上書きしたら上手くいきます。
# curl -O ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
# tar zxvf js-1.7.0.tar.gz
# cd js/src
# export CFLAGS="-DJS_C_STRINGS_ARE_UTF8"
# make -f Makefile.ref
# JS_DIST=/usr make -f Makefile.ref export
# mongo
MongoDB shell version: 1.6.4
connecting to: test
> k = { name : "ほげほげ" };
{ "name" : "ほげほげ" }
ちょっと苦労しましたが、これでMongoDBで日本語が扱えます。
お試しアレ
トラックバック - http://d.hatena.ne.jp/dkfj/20110627/1309190684
リンク元
- 89 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cts=1331003881751&ved=0CCYQFjAA&url=http://d.hatena.ne.jp/dkfj/20110627/1309190684&ei=4oFVT8nEKc_orQfIquG8Bw&usg=AFQjCNE3a5Jd8IHRY2WBys4iXqJvdVaQdg&sig2=9AuISXL-WKm0jyl2T_aYkQ
- 69 https://www.google.co.jp/
- 52 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cts=1331100000965&ved=0CDMQFjAB&url=http://d.hatena.ne.jp/dkfj/20110627/1309190684&ei=uPhWT6PADeHtmAWR4PCtDw&usg=AFQjCNE3a5Jd8IHRY2WBys4iXqJvdVaQdg&sig2=6m1RpU4hQ0Wr4kBawF0KbA
- 31 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cts=1331188651432&ved=0CEIQFjAC&url=http://d.hatena.ne.jp/dkfj/20110627/1309190684&ei=p1NYT5SPJLDFmQWz1sCrDw&usg=AFQjCNE3a5Jd8IHRY2WBys4iXqJvdVaQdg&sig2=_5KvRQ6RKKqBn3nhsNofiw
- 30 http://d.hatena.ne.jp/zebevogue/20120820/1345439138
- 16 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cts=1331188003592&ved=0CEUQFjAD&url=http://d.hatena.ne.jp/dkfj/20110627/1309190684&ei=HFFYT4HWFqnNmQWEy6CiDw&usg=AFQjCNE3a5Jd8IHRY2WBys4iXqJvdVaQdg&sig2=zMcAXPhXStCYBoZ0riGuTw
- 13 http://bit.ly/mkvtNE
- 13 http://www.google.co.jp/url?sa=t&rct=j&q=dbexit: really exiting now&source=web&cd=1&ved=0CCYQFjAA&url=http://d.hatena.ne.jp/dkfj/20110627/1309190684&ei=vRGgTtXTLujPmAXosbHsBA&usg=AFQjCNE3a5Jd8IHRY2WBys4iXqJvdVaQdg&sig2=cXXTJK8cDL702SjR
- 11 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CFEQFjAE&url=http://d.hatena.ne.jp/dkfj/20110627/1309190684&ei=4z9xT7vvK83FmQXgqf20Dw&usg=AFQjCNE3a5Jd8IHRY2WBys4iXqJvdVaQdg
- 10 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=mongodb+server


