zoukankan      html  css  js  c++  java
  • 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

    PortDescriptionProtocol
    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

    ItemContent
    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
  • 相关阅读:
    metasploit 常用命令汇总
    MSF命令 收集
    【转载】虫师『性能测试』文章大汇总
    渗透测试、取证、安全和黑客的热门链接
    Hackers top in China
    国外整理的一套在线渗透测试资源合集[转载]
    Filezilla中文字符文件看不到或显示乱码的解决办法
    Filezilla 多目录的访问设置
    ISAPI在IIS7上的配置
    数据库主体在该数据库中拥有 架构,无法删除解决方法(转)
  • 原文地址:https://www.cnblogs.com/lenmom/p/7797751.html
Copyright © 2011-2022 走看看