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 above
sudo 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.conf configuration file. When the file is ready, you can start Scylla (see below). Scylla will not run without XFS or io.conf file. 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的更多相关文章

  1. 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 ...

  2. [置顶] 老孟 DB2 V9.7 ESE(一)产品部署 基于centOS 6.4

    本文安装系统CENTOS 6.4 DB2位数64 安装中涉及目录位置各位可自行定义 生产系统为安全和性能考虑,一般将DB2实例目录.日志目录.归档日志目录.表空间目录区分开,可建立/db2home / ...

  3. Windows 访问 CentOS 7 共享文件夹 Samba 配置

    Windows 使用用户名.密码访问 CentOS 7 共享文件夹 执行命令,查看 Windows 工作组:net config workstation 执行命令,安装 Samba:yum insta ...

  4. centos 7.5 最小化安装

    参考:https://www.tecmint.com/centos-7-installation/ ================================================== ...

  5. 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 ...

  6. 在docker容器中安装和使用,linux版的powershell

    powershell 传教士 原创文章.始于 2016-09-18 ,2016-10-27修改powershell docker官网.允许转载,但必须保留名字和出处,否则追究法律责任 1 在任意版本的 ...

  7. Network Experiment Environment Construction

    In order to provide an environment for network experiments in the future, I use VirutalBox to create ...

  8. Centos6.7安装docker1.7.1

    Docker当前发布的最新版本已经到了1.11,其官网上针对Centos的的安装需求如下: Docker requires a -bit installation regardless of your ...

  9. kickstart文件详解

    kickstart自动应答文件选项非常多,以下只说明CentOS 6下几个常用的可能用到的选项.另外,CentOS 6和CentOS 7的选项有不小区别,所以请注意使用,可以查看官方安装文档. Cen ...

随机推荐

  1. (转)2017年12月宋华教授携IBM中国研究院、猪八戒网、中航信托、33复杂美共同论道智慧供应链金融

    今年10月,国务院发布的<关于积极推进供应链创新与应用的指导意见>,不仅强调了发展服务型制造的重要性,同时也指出要积极稳妥发展供应链金融,推动供应链金融服务实体经济,鼓励商业银行.供应链核 ...

  2. WebGL编程指南案例解析之3D视图视区问题

    var VSHADER_SOURCE = 'attribute vec4 a_Position;\n' + 'attribute vec4 a_Color;\n' + 'uniform mat4 u_ ...

  3. linux比较两个文件的差异

    1. vimdiff $ vimdiff in.txt out.txt 垂直打开:  vimdiff   point.c     point-a.c 水平打开:   vimdiff -o  point ...

  4. springboot项目文件上传(绝对路径)并使用tomcat虚拟路径进行图片预览

    前言 项目中,需要上传文件,但是可能会比较多,所以不能放入项目目录中,需要指定目录并按顺序放置.并且:还需要这些数据可以预览(图片等). 那么问题就是:上传完成之后我存入服务器,并拿到绝对路径,存入数 ...

  5. 了解 .NET 的默认 TaskScheduler 和线程池(ThreadPool)设置,避免让 Task.Run 的性能急剧降低

    .NET Framework 4.5 开始引入 Task.Run,它可以很方便的帮助我们使用 async / await 语法,同时还使用线程池来帮助我们管理线程.以至于我们编写异步代码可以像编写同步 ...

  6. 《DSP using MATLAB》Problem 3.4

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  7. java8 array、list操作 汇【3】)(-Java8新特性之Collectors 详解

    //编写一个定制的收集器 public static class MultisetCollector<T> implements Collector<T, Multiset<T ...

  8. CSS3 Flexbox轻巧实现元素的水平居中和垂直居中(转)

    CSS3 Flexbox轻松实现元素的水平居中和垂直居中 网上有很多关于Flex的教程,对于Flex的叫法也不一,有的叫Flexbox,有的叫Flex,其实这两种叫法都没有错,只是Flexbox旧一点 ...

  9. spket插件的安装与使用完整图文版

    下载最新破解版的spket1.6.18(见下面附件) 对于目前的MyEclipse的插件安装是很简单的,把spket1.6.18破解版.zip解压后直接复制到MyEclipse安装目录的dropins ...

  10. War包反编译过程

    War包反编译过程 很多人可以将项目编译为war发布,可是有时候得到war确看不到源码.今天分享下war反编译的过程: 1.首先下载一个小工具,在http://jd.benow.ca/官网下载jd-g ...