Installation of Scylla on CentOS 7
Scylla on CentOS 7
Use these steps to install Scylla using Yum repositories on CentOS.
Prerequisites
- CentOS 7.2 or later, for the 64-bit x86_64 architecture.
- Yum package management application installed.
- ABRT conflict with Scylla coredump configuration. Remove it before installing Scylla: sudo yum remove -y abrt
- Root or sudo access to the system. The Scylla packages create a scylla user. When starting Scylla as a service, the service runs as this user.
Make sure that all the relevant ports are open.
Scylla uses the following ports
| Port | Description | Protocol |
|---|---|---|
| 9042 | CQL (native_transport_port) | TCP |
| 7000 | Inter-node communication (RPC) | TCP |
| 7001 | SSL inter-node communication (RPC) | TCP |
| 7199 | JMX management | TCP |
| 10000 | Scylla REST API | TCP |
| 9180 | Prometheus API | TCP |
| 9100 | node_exporter (Optionally) | TCP |
| 9160 | Scylla client port (Thrift) | TCP |
All ports above need to be open to external clients (CQL), external admin systems (JMX), and other nodes (RPC). REST API port can be kept closed for external incoming connections.
The JMX service, scylla-jmx, runs on port 7199. It is required in order to manage Scylla using nodetooland other Apache Cassandra-compatible utilities. The scylla-jmx process must be able to connect to port 10000 on localhost. The JMX service listens for incoming JMX connections on all network interfaces on the system.
For server configuration, see documentation on recommendations for high performance.
Scylla is supported on CentOS versions 7.2 or later. There is no support for CentOS version 6.x and earlier.
Procedure
$ sudo yum install epel-release
Install a repo file: Add the Scylla RPM repo to your system, check the RPM content
Scylla release 2.0 (recommended)
Repository for RHEL/CentOS 7 and abovesudo curl -o /etc/yum.repos.d/scylla.repo -L http://repositories.scylladb.com/scylla/repo/e2c2b99b2fbec823c5774e9138e7f7da/centos/scylladb-2.0.repo
More Versions
install packages
$ sudo yum install scylla
For a specific patch version, for example 1.7.1
$ sudo yum install scylla-1.7.1
Configure and run Scylla on CentOS
Configure Scylla
Configure the /etc/scylla/scylla.yaml file with the following parameters:
| Item | Content |
| cluster_name | Name of the cluster, all the nodes in the cluster must have the same name |
| seeds | Seed nodes are used during startup to bootstrap the gossip process and join the cluster |
| listen_address | IP address that the Scylla use to connect to other Scylla nodes in the cluster |
| rpc_address | IP address of interface for client connections (Thrift, CQL) |
More information regarding the scylla.yaml file.
scylla.yaml
scylla.yaml is equivalent to the Apache Cassandra cassandra.yaml configuration file, and it is compatible for relevant parameters. Below is a subset of scylla.yaml with parameters you are likely to update. For full list of parameters, look at the file itself.
# The name of the cluster. This is mainly used to prevent machines in
# one logical cluster from joining another.
cluster_name: 'Test Cluster' # This defines the number of tokens randomly assigned to this node on the ring
# The more tokens, relative to other nodes, the larger the proportion of data
# that this node will store. You probably want all nodes to have the same number
# of tokens assuming they have equal hardware capability.
#
# If you already have a cluster with 1 token per node, and wish to migrate to
# multiple tokens per node, see http://wiki.apache.org/cassandra/Operations
num_tokens: 256 # Directory where Scylla should store data on disk.
data_file_directories:
- /var/lib/scylla/data # commit log. when running on magnetic HDD, this should be a
# separate spindle than the data directories.
commitlog_directory: /var/lib/scylla/commitlog # seed_provider class_name is saved for future use.
# seeds address are mandatory!
seed_provider:
# Addresses of hosts that are deemed contact points.
# Scylla nodes use this list of hosts to find each other and learn
# the topology of the ring. You must change this if you are running
# multiple nodes!
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
# seeds is actually a comma-delimited list of addresses.
# Ex: "<ip1>,<ip2>,<ip3>"
- seeds: "127.0.0.1" # Address or interface to bind to and tell other Scylla nodes to connect to.
# You _must_ change this if you want multiple nodes to be able to communicate!
#
# Setting listen_address to 0.0.0.0 is always wrong.
listen_address: localhost # Address to broadcast to other Scylla nodes
# Leaving this blank will set it to the same value as listen_address
# broadcast_address: 1.2.3.4 # port for the CQL native transport to listen for clients on
# For security reasons, you should not expose this port to the internet. Firewall it if needed.
native_transport_port: 9042 # Uncomment to enable experimental features
# experimental: true
By default scylla.yaml is located at /etc/scylla/scylla.yaml
scylla.yaml required settings
The following configuration items must be set
| Item | Content |
|---|---|
| cluster_name | Name of the cluster, all the nodes in the cluster must have the same name |
| seeds | Seed nodes are used during startup to bootstrap the gossip process and join the cluster |
| listen_address | IP address that the Scylla use to connect to other Scylla nodes in the cluster |
| rpc_address | IP address of interface for client connections (Thrift, CQL) |
Scylla setup
Run the scylla_setup script to tune the system settings
sudo scylla_setup
This script invokes a set of scripts to configure several operating system settings, like setting RAID0 and XFS filesystem. It also runs a short (up to a few minutes) benchmark on your storage and generates the/etc/scylla.d/io.confconfiguration file. When the file is ready, you can start Scylla (see below). Scylla will not run without XFS orio.conffile. To bypass this check, set Scylla to developer mode.
Run Scylla as a service (if not already running)
sudo systemctl start scylla-server
run nodetool
nodetool status
run cqlsh
cqlsh
Run cassandra-stress
cassandra-stress write -mode cql3 native
Monitoring
It is highly recommended to have a Scylla monitoring stack in place. For more on how to setup Scylla monitoring with Grafana here
Reference
Scylla servers set up using this method have the system configuration covered on System Configuration Guide already applied, by scripts included with the RPM packages. See the guide for a complete reference on settings used
Installation of Scylla on CentOS 7的更多相关文章
- HAProxy Installation and Configuration on CentOS 6.4 to Mitigate The Effects of Abusive Clients--转
ref:http://thoughts.z-dev.org/2013/05/07/haproxy-installation-and-configuration-on-centos-6-4-to-mit ...
- [置顶] 老孟 DB2 V9.7 ESE(一)产品部署 基于centOS 6.4
本文安装系统CENTOS 6.4 DB2位数64 安装中涉及目录位置各位可自行定义 生产系统为安全和性能考虑,一般将DB2实例目录.日志目录.归档日志目录.表空间目录区分开,可建立/db2home / ...
- Windows 访问 CentOS 7 共享文件夹 Samba 配置
Windows 使用用户名.密码访问 CentOS 7 共享文件夹 执行命令,查看 Windows 工作组:net config workstation 执行命令,安装 Samba:yum insta ...
- centos 7.5 最小化安装
参考:https://www.tecmint.com/centos-7-installation/ ================================================== ...
- centos编译 Compiling FFmpeg on CentOS RHEL Fedora
This guide is based on a minimal installation of the latest CentOS release, and will provide a local ...
- 在docker容器中安装和使用,linux版的powershell
powershell 传教士 原创文章.始于 2016-09-18 ,2016-10-27修改powershell docker官网.允许转载,但必须保留名字和出处,否则追究法律责任 1 在任意版本的 ...
- Network Experiment Environment Construction
In order to provide an environment for network experiments in the future, I use VirutalBox to create ...
- Centos6.7安装docker1.7.1
Docker当前发布的最新版本已经到了1.11,其官网上针对Centos的的安装需求如下: Docker requires a -bit installation regardless of your ...
- kickstart文件详解
kickstart自动应答文件选项非常多,以下只说明CentOS 6下几个常用的可能用到的选项.另外,CentOS 6和CentOS 7的选项有不小区别,所以请注意使用,可以查看官方安装文档. Cen ...
随机推荐
- [Spring Boot] Spring Boot启动过程源码分析
关于Spring Boot,已经有很多介绍其如何使用的文章了,本文从源代码(基于Spring-boot 1.5.6)的角度来看看Spring Boot的启动过程到底是怎么样的,为何以往纷繁复杂的配置到 ...
- OC基础:继承.初始化方法,便利构造器 分类: ios学习 OC 2015-06-16 19:27 84人阅读 评论(0) 收藏
继承: 1.单向继承,一个类只能有一个父类,一个父类可以有多个子类. 2.单向继承,基类(根类)是OSObject 3.子类可以继承父类的属性和方法 当父类的方法不满足子类的需求时,子类可以重写父类的 ...
- 通过JS动态创建和删除HTML元素
<script type="text/javascript" language="Javascript"> function InputOnBlur ...
- 关于XCode 的agvtool命令行
简介:用agvtool如何来自动更新版本号和bulid version agvtool是一个命令行工具,允许你自动递增到下一个最高的数量或具体的数字这些数字.本文档提供了更新您的构建和版本号码使用 ...
- [LeetCode&Python] Problem 669. Trim a Binary Search Tree
Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so that a ...
- 查找单链表的倒数第k个值
刚开始,我想到的是一种笨方法,先遍历单链表,计算出单链表的长度len,然后再从头遍历单链表到第len-k个节点,那么 这个节点既是单链表的倒数第k个节点. 不过这种算法时间复杂度挺高的,还有一种更简单 ...
- B树就想到这个
比如要查找60 先在根结点中查,根结点里面有 17 35这2个关键字, 60 > 35,则从右边开始查找 p3指针开始查找 , 到了第二层的最右边的那个结点开始查找 , 里面有 65 8 ...
- Android开发小问题解决汇总
1.从命名文件时报“Read-only file system”255|shell@jacinto6evm:/vendor/lib/hw $ sushell@xxx:/system/vendor/li ...
- ubuntu14.04下安装ffmpeg
ubuntu14.04下安装ffmpeg 一.安装各种依赖包 1.yasm(libx264需要依赖yasm) sudo apt-get install yasm 2.libx264 sudo apt- ...
- MySQL--”自然键”和”代理键”优缺点
##=====================================================================================## 在数据库表设计中会纠 ...