centos7安装ssdb,及ssdb的使用

 

安装前准备

安装unzip

yum install -y unzip zip

编译前安装gcc编译器

yum -y install gcc*

开始安装ssdb

按照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

问题及解决

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;
./configure
make

# 或者

cd deps/jemalloc-3.3.1;
./configure
make

启动

# 启动主库
./ssdb-server ssdb.conf

# 或者启动为后台进程
./ssdb-server -d ssdb.conf

# 启动 ssdb 命令行
./tools/ssdb-cli -p 8888

# 停止 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

命令行工具 ssdb-cli

SSDB 的命令行工具 ssdb-cli 对于 SSDB 的管理非常有用, 你可以用它来执行所有的命令, 监控服务的状态, 清除整个数据库, 等等.

连接到 SSDB 服务器

$ /usr/local/ssdb/ssdb-cli -h 127.0.0.1 -p 8888
ssdb (cli) - ssdb command line tool.
Copyright (c) 2012-2013 ideawu.com

'h' or 'help' for help, 'q' to quit.

ssdb 127.0.0.1:8888>

输入 'h', 然后按回车查看帮助信息. 下面是操作的演示:

ssdb 127.0.0.1:8888> set k 1
ok
(0.000 sec)
ssdb 127.0.0.1:8888> get k
1
(0.000 sec)
ssdb 127.0.0.1:8888> del k
ok
(0.000 sec)
ssdb 127.0.0.1:8888> get k
error: not_found
(0.000 sec)
ssdb 127.0.0.1:8888>

监控 SSDB 实例的状态

info

命令 info 显示了数据在 SSDB 中的分布情况, 还有 LevelDB 的健康程度.

ssdb 127.0.0.1:8899> info
version
	1.8.0
links
	1
total_calls
	4
dbsize
	1829
binlogs
	capacity : 10000000
	min_seq  : 1
	max_seq  : 74
replication
	client 127.0.0.1:55479
		type     : sync
		status   : SYNC
		last_seq : 73
replication
	slaveof 127.0.0.1:8888
		id         : svc_2
		type       : sync
		status     : SYNC
		last_seq   : 73
		copy_count : 0
		sync_count : 44
leveldb.stats
					 Compactions
	Level  Files Size(MB) Time(sec) Read(MB) Write(MB)
	--------------------------------------------------
	  0        0        0         0        0         0
	  1        1        0         0        0         0

25 result(s) (0.001 sec)

links

当前服务器的连接数.

total_calls

从服务器启动至今处理的请求数.

dbsize

数据库估计的大小(可能和硬盘占用差异非常大, 以 du 命令显示的为准), 字节数. 如果服务器开启了压缩, 这个大小是压缩后的大小.

binlogs

  • 参见 同步和复制

replication

  • 参见 同步和复制

key_range.*

不同数据类型的 key 在 SSDB 中是排序的, 所以这个信息表示不同数据类型的最小 key 和最大 key.

leveldb.stats

这个信息显示了 LevelDB 每一层级的文件数量和文件总大小. 越小的层级如果文件越少, 那么数据库就越健康(查询更快速).

info cmd

ssdb 127.0.0.1:8899> info cmd
version
	1.6.7
cmd.get
	calls: 20000    time_wait: 27   time_proc: 472
cmd.set
	calls: 267045   time_wait: 7431 time_proc: 7573
cmd.setx
	calls: 111100   time_wait: 3663 time_proc: 6456
cmd.del
	calls: 0    time_wait: 0    time_proc: 0

cmd.*

  • calls: 该命令总共处理了多少次.
  • time_wait: 命令在被处理前等待的总共时间(单位毫秒).
  • time_proc: 命令处理总共消耗的时间(单位毫秒).

compact

这个命令强制 SSDB 服务器对数据进行收缩(compaction), 收缩之后, 操作通常会变得更快.

注意, compact 的过程可能会拖慢正常服务, 特别是当数据库比较大时. 所以, 建议在空闲时使用.

你可能感兴趣的:(Linux运维)