http://ask.loongnix.org/?/article/65
一、RethinkDB简介
- 用于构建实时Web应用程序的开源数据库
- NoSQL数据库,存储无模式JSON文档
- 易于扩展的分布式数据库
- 具有自动故障转移和稳健容错的高可用性数据库
其核心是一个高度并行的B树实现。
二、移植环境
软件环境:
(1)loongnix1.0系统。下载地址:www.loongnix.org
(2)内核版本:3.10.84
硬件环境:
(1)开发板类型:Loongson-3A2000-780E-4w-V0.1-demo
(2)固件版本:loongson-PMON-V3.3.0
三、移植过程
安装依赖软件:
sudo yum install gcc-c++ protobuf-devel ncurses-devel jemalloc-devel \ boost-static wget protobuf-compiler which zlib-devel \ openssl-devel libcurl-devel make m4 wget http://ftp.loongnix.org/others/server/RethinkDB/jemalloc-4.2.1-1.fc21.loongson.mips64el.rpm wget http://ftp.loongnix.org/others/server/RethinkDB/jemalloc-devel-4.2.1-1.fc21.loongson.mips64el.rpm sudo rpm -Uvh jemalloc-4.2.1-1.fc21.loongson.mips64el.rpm jemalloc-devel-4.2.1-1.fc21.loongson.mips64el.rpm
下载源码及patch文件:
本例中使用的rethinkdb的版本为官方2.3.5版本
wget https://download.rethinkdb.com/dist/rethinkdb-2.3.5.tgz tar xf rethink-2.3.5.tgz wget http://ftp.loongnix.org/others/server/RethinkDB/sources/0001-rethinkdb-2.3.5-add-mips64el-support.patch cd rethinkdb-2.3.5 patch –p1 < ../ 0001-rethinkdb-2.3.5-add-mips64el-support.patch
编译安装RethinkDB:
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --dynamic jemalloc make THREADED_COROUTINES=1 -j4 sudo make THREADED_COROUTINES=1 install
配置RethinkDB(root用户):
groupadd –r rethinkdb useradd --system --no-create-home --gid %{name} --shell /sbin/nologin --comment "RethinkDB Daemon" rethinkdb cp /etc/rethinkdb/default.conf.sample /etc/rethinkdb/instances.d/default.conf(可根据需求进行修改)
启动服务:
/etc/init.d/rethinkdb start 启动过程可能出现Permission错误,解决方法见FAQ。
运行后可在浏览器中访问数据库:
http://localhost:8080
四、二进制rpm包的使用
如果觉得重新编译麻烦,可直接使用编译好的二进制rpm包:
sudo wget http://ftp.loongnix.org/others/server/RethinkDB/rethinkdb.repo -O /etc/yum.repos.d/rethinkdb.repo sudo yum install rethinkdb sudo cp /etc/rethinkdb/default.conf.sample /etc/rethinkdb/instances.d/default.conf sudo /etc/init.d/rethinkdb start 注:如启动过程出现Permission错误,见FAQ。
FAQ:
(1)启动提示permission错误 需要修正目录权限 chown rethinkdb:rethinkdb /var/lib/rethinkdb –R chown rethinkdb:rethinkdb /run/rethinkdb –R 然后重新执行启动命令。 /etc/init.d/rethinkdb start