ScyllaDB数据库是用C++重写的 Cassandra的一款实时数据库。与Apache Cassandra和Amazon DynamoDB API兼容,软件采用无共享方法,把底层知识应用到大数据中,数据结构测量不会跨CPU ,拥有比Cassandra 多10x倍的吞吐量,降低了延迟。
软件特色
1、Scylla是实时大数据数据库,与Apache Cassandra和Amazon DynamoDB API兼容。Scylla采用无共享方法,该方法可以提高吞吐量和存储容量,以实现数量级性能改进并降低硬件成本。
2、ScyllaDB 在垃圾收集或者 Compaction 的时候不需要暂停;在常规生产负载的时候可以添加和删除节点。
3、Scylla 背后的设计和开发团队成员来自于 KVM 虚拟化管理器 —— Avi Kivity, Dor Laor, Benny Schnaider 和 OSS 老成员。KVM 现在是大部分云计算环境(包括 Google Compute Engine 和 OpenStack)的默认虚拟化管理器。在 ScyllaDB,Scylla 团队把这些底层知识应用到大数据技术中。数据结构测量不会跨 CPU 缓存线,poll 模式驱动替代了中断。
4、ScyllaDB 使用最新的 C++ 14 和 GCC 5.1 来实现理想的通用非挥发性随机访问存储。
5、ScyllaDB 服务器开源协议是 AGPL 3.0,驱动开源协议是 Apache。
ScyllaDB数据库安装配置教程
一、准备工作
1.CentOS7升级到最新版
[root@iZ947twudl8Z ~]# yum update
2.删除冲突软件
sudo yum remove -y abrt
3.升级内核到3.15以上版本
uname -a (查看内核版本)
rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org(导入Key)
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm(安装elrepo)
[root@iZ947twudl8Z scylla]# yum –enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y(安装最新内核)
awk -F\’ ‘$1==”menuentry ” {print $2}’ /etc/grub2.cfg (看看有哪些内核了)
grub2-set-default 0 (设置第一个内核为默认,现在升级的内核版本是4.6.0-1.el7.elrepo.x86_64)
4.配置一个XFS文件系统的分区
用于存放数据和日志,本例将/dev/xvdb分区成/dev/xvdb1,切记为XFS分区以获得更好的性能。
挂载:sudo mount -t xfs /dev/xvdb1 /storage (挂载到/storage,如没有此目录,请手动建立mkdir storage)
更新/etc/profile=>
5.导入scylladb.cn提供的源
wget -O /etc/yum.repos.d/scylla.repo http://downloads.scylladb.cn/1.1/centos-scylla-cn.repo
6.建立存储目录,安装完scylla后需要配置相应的权限
请建立以下目录:
a. /stroage/lib/scylla/data
b./stroage/lib/scylla/commitlog
二、开始安装ScyllaDB
1.sudo yum install scylla-server scylla-jmx scylla-tools
(自从有了本站的scylladb源,从此安装scylladb就简单了,手也不疼了,腿也不酸了,吃饭倍儿香,可以一口气爬五层楼了…….扯得有点远了,请回到正题!)
2.配置(Configure and run Scylla on RHEL/CentOS)
如果您的服务器系统盘和数据盘不是XFS的,请在安装scylla后开启开发模式,即运行:
cd /usr/lib/scylla/
./scylla_dev_mode_setup –developer-mode 1
更新配置文件:
vi /etc/scylla/scylla.yaml
配置目录权限:
执行系统配置脚本:scylla_setup (进入/usr/lib/scylla)
经过测试得知:
配置好系统服务,但是开机不能自动启动,通过手动添加启动代码得到解决,如下:
vi /etc/profile
systemctl start scylla-server.service
systemctl start scylla-jmx.service
重启后启动scylla正常。如下图
查看端口占用情况:
netstat -antp
ss
可以看到scylla占用的端口情况。
ScyllaDB用户配置教程
要安全使用ScyllaDb,就需要为其配置好用户名和密码,以后权限。
默认情况下,连接ScyllaDB是不需要输入用户名和密码的,我们先看一下系统中有哪些用户名存在!
操作前,需要先打开权限配置参数:
修改scylla.yaml配置文件
把默认的authenticator: AllowAllAuthenticator改成authenticator: PasswordAuthenticator
如果你需要登陆进去以后查看修改权限之类,需要修改
authorizer: AllowAllAuthorizer为authorizer: CassandraAuthorizer
重启Scylla-service。
ps:虽然是重写cassandra,好歹把默认的用户名改成scylla啊。。。
修改一下默认的密码,
ALTER USER cassandra WITH PASSWORD ‘******’
建立一个普通用户试试,
CREATE USER scylla WITH PASSWORD ‘******’ NOSUPERUSER ;
至此,用户配置即完成。
∨ 展开