日期:2014-05-16  浏览次数:20527 次

memcached,mongdb,redis,Tokyo Tyrant的安装和使用

??? 本文准备介绍最常用的四种nosql技术的安装和使用方法,包括如何使用java进行数据访问和操作。
??? 本文的所有操作都在centos5.6版本上测试通过,请保证系统已经安装了gcc,以便make命令可以正常使用,centos上可以使用命令yum install gcc安装。

?

??? 1.?mongodb


???? mongodb的安装最简单了,官方地址:http://www.mongodb.org

?

cd /data
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.1.tgz
tar xf mongodb-linux-i686-1.8.1.tgz
cd mongodb-linux-i686-1.8.1
mkdir data
mkdir logs
bin/mongod --dbpath ./data --logpath ./logs/mongod.log &

??? 这样mongdb服务就启动了,其中--dbpath参数指定了数据存放位置,--logpath参数指定了日志存放位置,注意这两个目录? 都需要手动创建,不然启动会报错的。

?

?

[root@localhost mongodb-linux-i686-1.8.1]# ps axu|grep mongod
root      4486  0.7  0.7  76136  4712 pts/0    Sl   06:43   0:00 bin/mongod --dbpath ./data --logpath ./logs/mongod.log
root      4494  0.0  0.1   4028   696 pts/0    R+   06:43   0:00 grep mongod

?? 通过上面命令可以看到mongod服务确实已经在后台运行了,下面我们来用mongodb提供的客户端访问。

[root@localhost mongodb-linux-i686-1.8.1]# bin/mongo
MongoDB shell version: 1.8.1
connecting to: test
> db.foo.save( { a : 1 } )
> db.foo.find()
{ "_id" : ObjectId("4df499b407ad992f4c1abc9a"), "a" : 1 }
> 

??? bin/mongo 命令用来连接mongodb服务,默认连接localhost,端口27017,可以分别使用参数--host,--port指定,mongodb --help可以看到连接命令的帮助信息。连接成功后,更多的操作命令可以使用db.help()查看,官方文档写的也很详细,http://www.mongodb.org/display/DOCS/Tutorial。

?

?? mongodb支持很多种开发语言,官方网站上都有介绍,java的地址是:http://www.mongodb.org/display/DOCS/Java+Language+Center,介绍的很详细,我就不啰嗦了,就给一个例子吧,见附件nosql-demo.zip。

?

?

? 2.Tokyo Tyrant

?

?? Tokyo Tyrant以前是sourceforge.net上的开源项目,现在已经迁移到fallabs.com,官方地址是:http://fallabs.com/tokyotyrant/。

?? Tokyo Tyran is network interface of Tokyo Cabinet,所以需要先安装Tokyo Cabinet,官方地址是:http://fallabs.com/tokyocabinet/? 。

??? 而Tokyo Cabinet又依赖于zlib和bzip2,官方网址分别是 http://www.zlib.net/和http://www.bzip.org/,无奈zlib的地址必须翻 墙才能打开,为了广大老实的孩子们在墙这边就能下载,咱就上传下zlib的二进制包吧,见附件 zlib-1.2.5.tar.gz。

?? 下面介绍整个安装步骤:

?? (1)安装zlib

???? 翻 墙到?http://www.zlib.net/?下载zlib,或者直接从本文的附件下载,上传到/data目录中,然后使用下面命令安装。????

cd /data
tar -xf zlib-1.2.5.tar.gz 
cd zlib-1.2.5 
./configure 
make 
make install 

?

?? (2)安装bzip2

cd /data 
wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz 
tar xf bzip2-1.0.6.tar.gz 
cd bzip2-1.0.6 
make 
make install 

?

?? (3)安装Tokyo Cabinet

cd /data 
wget http://fallabs.com/tokyocabinet/tokyocabinet-1.4.47.tar.gz 
tar xf tokyocabinet-1.4.47.tar.gz 
cd tokyocabinet-1.4.47 
./configure 
make 
make install

?

?? (4)安装Tokyo Tyrant?

cd /data 
wget http://fallabs.com/tokyotyrant/tokyotyrant-1.1.41.tar.gz 
tar xf tokyotyrant-1.1.41.tar.gz 
cd tokyotyrant-1.1.41 
./configure 
make 
make install 

?

?? 到此为止,算是安装完了,现在使用下面命令启动服务:ttservctl start

?? 我这里很悲剧的出错了: cannot restore segment prot after reloc: Permission denied

?? google一下,发现需要修改下文件 /etc/sysconfig/selinux,将SELINUX=enforcing 改为 SELINUX=disable,想知道为啥的话可以google下.

? OK,再执行命令 ttservctl start ,终于正常启动了。

? 下面验证下服务是否正常。Tokyo Tyrant的安装包自带了一个检测工具,测试Tokyo Tyrant的性能。用下面命令来执行:

/data/tokyotyrant-1.1.41/make check

???? 之后可以看到有Writing Test / Reading Test / Removing Test / Random Concatenating Test / Miscellaneous Test / Wicked Writing Test / Typical Access Test / Threading Test 等多种测试方式被执行,并打印出测试结果。恭喜,tokyotyrant算是安装完成了。

?

??? 接下来,我们来看看怎样用java程序访问Tokyo Tyrant。一般可以采用tokyotyrant-java来访问,地址是http://code.google.com/p/tokyotyrant-java/。附件的demo程序中有两个例子MRDBExample.java和MRDBExample.java,展示了如何使用tokyotyrant-java,其实也是相当的简单。需要注意的是这两个例子需要依赖netty和slf的jar包。

?

? 3. memcached