美文网首页
SSDB的安装

SSDB的安装

作者: 王小鱼鱻 | 来源:发表于2017-09-22 01:10 被阅读41次

    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
    

    参考文档

    相关文章

      网友评论

          本文标题:SSDB的安装

          本文链接:https://www.haomeiwen.com/subject/jjlxextx.html