Chinaunix首页 | 论坛 | 博客
  • 博客访问: 780865
  • 博文数量: 99
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1163
  • 用 户 组: 普通用户
  • 注册时间: 2016-09-22 09:50
个人简介

一个守望数据库的老菜鸟

文章分类

全部博文(99)

文章存档

2019年(21)

2018年(17)

2017年(37)

2016年(24)

我的朋友

分类: NOSQL

2017-01-02 14:08:14

博客文章除注明转载外,均为原创。转载请注明出处。
本文链接地址:http://blog.chinaunix.net/uid-31396856-id-5757616.html


1.环境准备
1) 查看是否已分配swap空间
free -m
 
#如果没有则添加swap空间
如:增加 1 G
dd if=/dev/zero of=/opt/swap bs=1024 count=1048576
/sbin/mkswap /opt/swap
/sbin/swapon /opt/swap

#添加自启动检查
编辑/etc/fstab
/opt/swap               swap                    swap    defaults        0 0
#挂载
mount /opt/swap

2)添加lvm
fdisk –l
#创建pv
pvcreate /dev/vdb
vgcreate VG_DB_files /dev/vdb
#创建lv
lvcreate -L 99G -n LV_DB_files   VG_DB_files
#格式化lv
mkfs.ext4 /dev/VG_DB_files/LV_DB_files
mkdir -p /dbfiles
 vi /etc/fstab 
/dev/VG_DB_files/LV_DB_files        /dbfiles                ext4    defaults        0 0
#挂载
mount -a

3)修改open files
#查看现有配置参数,max_open_files默认为1024
Ulimit –a
#修改max_open_files为65536
 ulimit -n 65536

#添加俩条记录
vi /etc/security/limits.conf
*  soft  nofile  65536
*  hard  nofile  65536

2.安装设置
#安装依赖包
yum install -y gcc gcc-c++ gcc-g77
#下载ssdb安装包并解压
wget --no-check-certificate
unzip master
cd ssdb-master
make
# 将安装在 /usr/local/ssdb 目录下
make install

启动命令:
# 启动主库
./ssdb-server ssdb.conf
# 或者启动为后台进程
./ssdb-server -d ssdb.conf
# 启动 ssdb 命令行
./ssdb-cli -p 8888
# 停止 ssdb-server
./ssdb-server ssdb.conf -s stop

3.设置为自启动
#自启动设置 
cd  /usr/local/ssdb
cp  ssdb-ins.sh  /etc/init.d/ssdb

#修改config参数
vi /etc/init.d/ssdb
# chkconfig: 2345 10 90 
# chkconfig: 2345 64 36
# description: SSDB startup scripts
# each config file for one instance
config=/usr/local/ssdb/ssdb.conf

##添加系统自启动
chkconfig --add ssdb
chkconfig ssdb on 
service ssdb start|stop|restart  

echo "export PATH=$PATH:/usr/local/ssdb">>/etc/profile 


修改/etc/init.d/ssdb
# chkconfig: 2345 10 90
# chkconfig: 2345 64 36
# description: SSDB startup scripts
# each config file for one instance
config=/etc/ssdb/ssdb.conf
ssdb_root=/usr/local/ssdb

#config=$2
pidfile=`cat $config | sed -n 's/pidfile[[:blank:]]*=[[:blank:]]//p' | sed 's/^\s*//g'`


4.CONF文件配置
mkdir –p /dbfiles/ssdb_home/ ssdb_data
mkdir –p /dbfiles/ssdb_home/logs                      
mkdir –p /etc/ssdb


编辑 /etc/ssdb/ssdb.conf
# ssdb-server config
# MUST indent by TAB!             
# relative to path of this file, directory must exists
work_dir =/dbfiles/ssdb_home/ ssdb_data                 # data目录
pidfile = /dbfiles/ssdb_home/ ssdb_data /ssdb.pid #PID文件路径
server:
ip: 172.18.0.64    ##本机ip,ssdb-cli命令端连接。必须显式指定ip
port: 8888
# bind to public ip
#ip: 0.0.0.0        ##不限制ip
# format: allow|deny: all|ip_prefix
# multiple allows or denys is supported
#deny: all
#allow: 192.168.0.0/24
#allow: 192.168
# auth password must be at least 32 character
auth: WKoZ5etQdevops*%nx0l7!VqLxK9Dj%B36v

主从设置
replication:
binlog: yes
# Limit sync speed to *MB/s, -1: no limit
sync_speed: -1
slaveof:
# to identify a master even if it moved(ip, port changed)
# if set to empty or not defined, ip:port will be used.
id: svc_01
# sync|mirror, default is sync
type: mirror
ip: 192.168.0.101
port: 8888
#auth: WKoZ5etQdevops*%nx0l7!VqLxK9Dj%B36v
对于主从同步, Slave 上的 ssdb.conf 中的 slaveof.type 必须配置成 sync.
对于双主或者多主, 所有的服务器的 ssdb.conf 都必须将 slaveof.type 配置成 mirror!
对于双主或者多主, 如果不配置成 mirror 会出现什么情况? 那就是死循环! 一条 Binlog 会在所有服务器上不停地来回传递放大.

日志设置
logger:
level: debug
# log.txt|stdout(屏幕输出), default is log.txt 
output: /dbfiles/ssdb_home/logs/ssdb.log 
rotate:
size: 104857600
默认的配置文件监听 127.0.0.1 本地回路网络, 所以无法从其它机器上连接此 SSDB 服务器.
如果你希望从其它机器上连接 SSDB 服务器, 必须把 127.0.0.1 改为 0.0.0.0.同时, 利用配置文件的 deny, allow 指令控制IP 访问.

存储引擎设置
leveldb:
# in MB
cache_size: 512
# in KB
block_size: 32
# in MB
write_buffer_size: 64
# in MB,合并速度限制
compaction_speed: 100
#压缩 yes|no
compression: yes
# leveldb open files
max_open_files: 2048

---The End
阅读(2377) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~