SSDB的安装

SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库, 支持 KV, list, map(hash), zset(sorted set) 等数据结构, 用来替代或者与 Redis 配合存储十亿级别列表的数据.
SSDB 是稳定的, 生产环境使用的, 已经在许多互联网公司得到广泛使用, 如奇虎 360, TOPGAME.

编译和安装:

强烈推荐你把 SSDB 部署在 Linux 操作系统上.
注意:
不要在生产环境中使用 Windows 操作系统来运行 SSDB 服务器. 如果你确实必须使用 Windows 操作系统, 请在上面运行一个 Linux 虚拟机, 然后再让 SSDB 运行于这个虚拟机之中.

wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip
unzip master
cd ssdb-master
make
# 将安装在 /usr/local/ssdb 目录下
sudo make install

如果你想安装 ssdb 在其它的目录, 不在 /usr/local 目录下, 可以这样

sudo make install PREFIX=/your/direcotry

安装时可能出现的问题:

1、利用unzip命令解压缩的时候,出现-bash:
unzip: command not found的错误。
unzip——命令没有找到,其原因肯定是没有安装unzip。
利用一句命令就可以解决了。
命令是:
yum install -y unzip zip
安装成功后就可以使用unzip命令了。
2、 进入解压后的目录执行:

​​​​​​​make

但是编译报错:

cp: cannot stat `ssdb-server': No such file or directory
make: *** [install] Error 1

或者

g++ ...deps/snappy-1.1.0/.libs/libsnappy.a: No such file or directory
make[1]: *** [all] Error 1

或者

g++ ...deps/jemalloc-3.3.1/lib/libjemalloc.a: No such file or directory
make[1]: *** [all] Error 1

这是因为 Snappy 或者 Jemalloc 没有编译成功, 这一般是因为你的系统时钟有问题. 可以这样解决:

cd deps/snappy-1.1.0
autoreconf --force --install
./configure
make

或者

cd deps/jemalloc-3.3.1
autoreconf --force --install
./configure
make

3、这里autoreconf --force --install可能也会报错
1)第一次,报错没有安装autoreconf

ERROR! autoconf required! install autoconf first
Makefile:4: build_config.mk: No such file or directory
make: *** No rule to make target `build_config.mk'. Stop.

原来是没有autoconf不能实现自动编译,于是安装autoconf
在ubuntu下安装SSH可以:

sudo apt-get update
sudo apt-get install autoconf

在centos上可以这样来安装,最好一起把g++也装上

sudo yum update
sudo yum install gcc gcc-c++ libstdc++-devel

2)第二次,报错aclocal丢失

Can't exec "aclocal": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 326.
autoreconf: failed to run aclocal: No such file or directory

开发版本常常是通过autogen.sh使用程序源代码生成的,构建过程包括验证程序功能和生成配置脚本。autogen.sh脚本依赖于autoreconf来调用autoconf,automake,aclocal和其它相关工具。
丢失的aclocal是automake包的一部分,因此,要修复该错误,请安装以下包。
解决办法:
在Debian,Ubuntu或Linux Mint上:

sudo apt-get install automake

在CentOS,Fedora或RHEL上:

sudo yum install automake 

3)第三次,运行autoreconf --force --install还是可能会报错

Makefile.am:4: Libtool library used but `LIBTOOL' is undefined
Makefile.am:4:   The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
Makefile.am:4:   to `configure.ac' and run `aclocal' and `autoconf' again.
Makefile.am:4:   If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
Makefile.am:4:   its definition is in aclocal's search path.
autoreconf: automake failed with exit status: 1

解决办法:安装libtool

sudo yum install libtool

4、
再接着运行下面的命令:

cd deps/snappy-1.1.0
autoreconf --force --install
./configure
make

或者

cd deps/jemalloc-3.3.1
autoreconf --force --install
./configure
make

把后面2步操作完;
5、接着把最开始的命令操作完;

make
# 将安装在 /usr/local/ssdb 目录下
sudo make install

启动和停止

# 启动主库, 此命令会阻塞住命令行
./ssdb-server ssdb.conf

# 或者启动为后台进程(不阻塞命令行)
./ssdb-server -d ssdb.conf

# 停止 ssdb-server
./ssdb-server ssdb.conf -s stop
# 对于旧版本
kill `cat ./var/ssdb.pid`

# 重启
./ssdb-server ssdb.conf -s restart

到目前为止, 你需要手动管理 ssdb-server 进程, 如果你希望在操作系统启动和停止时自动地管理, 请按下面的说明进行.

SSDB 启动脚本(随操作系统自启动)

假设你已经安装 SSDB 在默认的 /usr/local/ssdb 目录, 把 tools/ssdb.sh 脚本放到 /etc/init.d 目录下.

注意: 对于 CentOS 用户, 请将 ssdb.sh 重命名为 ssdb.

编辑下面的内容:

# each config file for one instance
configs=/data/ssdb_data/test/ssdb.conf

将 /data/ssdb_data/test/ssdb.conf 修改为你的 SSDB 配置文件的路径. 如果你有多个 SSDB 实例, 那么把它们写在一行, 用空格来分隔, 例如:

# each config file for one instance
configs=/data/ssdb_data/test/ssdb.conf /data/ssdb_data/demo/ssdb.conf

CentOS

sudo chkconfig --add ssdb
sudo chkconfig ssdb on

Ubuntu

sudo chmod a+x /etc/init.d/ssdb
sudo update-rc.d ssdb defaults

参考文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 161,873评论 4 370
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,483评论 1 306
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,525评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,595评论 0 218
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,018评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,958评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,118评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,873评论 0 208
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,643评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,813评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,293评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,615评论 3 262
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,306评论 3 242
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,170评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,968评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,107评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,894评论 2 278

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,037评论 2 34
  • 最近公司购买了一台新的服务器,我负责给这台服务器安装oracle ,磕磕绊绊的终于装好了,但是却花了不少时间,算起...
    testerPM阅读 8,833评论 3 8
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 98,591评论 9 467
  • 近两天在CentOS7上安装了oracle,在网上找了一些资料,发现不是很全面,为了方便以后再次安装,所以...
    即墨雨阅读 5,995评论 1 11
  • 什么是对,什么是错?什么是有道理,什么是没有道理?什么是有用的,什么是没有用的?然后,应该做什么?最后,真正做了什...
    老原阅读 1,389评论 0 2