如何在CentOS 7上安装Apache Cassandra?

时间:2018-01-05 20:40:32

标签: cassandra

Cassandra安装文档提到了tarball或Debian软件包的安装。有没有办法使用yum安装它,现在DataStax不提供分发?

1 个答案:

答案 0 :(得分:1)

据我记忆,CentOS使用RPM作为包格式。请查看http://cassandra.apache.org/download/

从RPM软件包安装

用于指定主版本号,不带点,以及附加的x。最新的是311x。对于旧版本,可以是30x,22x或21x之一。

(并非所有版本的Apache Cassandra都可用,因为构建RPM是项目的最新成员。)

将Cassandra的Apache存储库添加到/etc/yum.repos.d/cassandra.repo,例如最新的3.11版本:

def get_multiple(fields: List[str], config_data) -> Dict[str, str]:
    config_results = {k: v for k, v in config_data.items() if k in fields}
    log_missing_fields(fields, config_results)
    return config_results


def get_single(field: List[str], config_data) -> str:
    result = config_data.get(field)
    if result is None:
        log.warning('The following fields are missing: %s', field)
    return result


def get(fields: Union[str, List[str]]) -> Union[str, Dict[str, str]]:
    log.debug('Retrieving values %s from config', str(fields))
    config_data = read_config()
    get_data = get_multiple if isinstance(fields, list) else get_single
    return get_data(fields, config_data)


def get_ts_url() -> str:
    timeout = get('timeout')  # type: str <-- Line 74 is here
    log.info('Trying to connect the servers.')
    with db_session() as db_handler:
        url = scan_availability(db_handler, int(timeout))

    if url:
        return url

    log.critical("Could not find available servers.")
    raise ConnectionError("Could not find available servers.")

安装Cassandra,接受gpg密钥导入提示:

[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS

启动Cassandra(不会自动启动):

sudo yum install cassandra

基于Systemd的发行版可能需要运行一次systemctl守护程序重新加载才能使Cassandra作为systemd服务提供。这应该通过运行上面的命令自动发生。

重启后让Cassandra自动启动:

service cassandra start

请注意,Apache Cassandra的官方RPM最近才提供,尚未在所有平台上进行彻底测试。感谢您的反馈和支持,并要求您在相应的Jira票证中发布有关任何问题的详细信息。