二、初始化多节点群集(单个数据中心)

##初始化多节点群集(单个数据中心)

本主题包含有关使用单个数据中心部署Cassandra群集的信息。

###先决条件

在启动群集之前,每个节点都必须正确配置。启动群集之前,必须确定或执行以下操作:

  • 对Cassandra如何工作有一个很好的理解。至少,请务必阅读了解体系结构,特别是数据复制部分和Cassandra的机架功能。

  • 在每个节点上安装Cassandra。

  • 为群集选择一个名称。

  • 获取每个节点的IP地址。

  • 确定哪些节点将是种子节点。不要使所有节点种子节点。

  • 确定告密者和复制策略。该GossipingPropertyFileSnitch和NetworkTopologyStrategy被推荐用于生产环境。

  • 确定每个机架的命名约定。例如,好的名字是RAC1,RAC2或R101,R102。

  • 该cassandra.yaml配置文件和属性文件如 cassandra-rackdc.properties,给你更多的配置选项。

本示例介绍了在一个数据中心内安装跨2个机架的6节点群集。每个节点已经配置为使用GossipingPropertyFileSnitch和256个虚拟节点(vnodes)。

在Cassandra中,“数据中心”与“复制组”是同义的。这两个术语都是指为了复制目的将一组节点配置为一个组。

###步骤

1.假设你在这些节点上安装Cassandra:

node0 110.82.155.0 (seed1)
node1 110.82.155.1
node2 110.82.155.2
node3 110.82.156.3 (seed2)
node4 110.82.156.4
node5 110.82.156.5

**注意:**每个数据中心有多个种子节点是最佳做法。

2.如果在群集中运行防火墙,则必须打开某些端口才能在节点之间进行通信。请参阅配置防火墙端口的访问。

3.如果Cassandra正在运行,您必须停止服务器并清除数据:
这样做会从系统表中删除默认的cluster_name(Test Cluster)。所有节点必须使用相同的群集名称。

包安装:

#停止Cassandra
$ sudo service cassandra stop
#清除数据
$ sudo rm -rf /var/lib/cassandra/data/system/*

Tarball装置:

#停止Cassandra
$ ps auwx | grep cassandra
$ sudo  kill pid
清除数据
$ sudo rm -rf /var/lib/cassandra/data/data/system/*

4.在每个节点的cassandra.yaml文件中设置属性:
**注意:**在对cassandra.yaml文件进行任何更改之后,必须重新启动节点才能使更改生效。

  • 要设置的属性:
    • 群集名:

    • num_tokens: 推荐值:256

    • seeds: 每个种子节点的内部IP地址
      在新的集群中。种子节点不执行引导(新节点加入现有集群的过程)。

    • listen_address:
      如果节点是种子节点,则该地址必须与种子列表中的IP地址匹配。否则,gossip沟通失败,因为它不知道它是种子。

      如果没有设置,Cassandra会向系统请求本地地址,即与其主机名相关的地址。在某些情况下,Cassandra不会生成正确的地址,您必须指定listen_address。

    • rpc_address:监听客户端连接的地址

    • endpoint_snitch: 告密者的姓名(请参阅endpoint_snitch。)如果要更换告密者,请参阅 切换告密。

    • auto_bootstrap: false(仅 在初始化没有数据的干净节点时添加此设置。)

**注意:**如果集群中的节点在磁盘布局,共享库等方面是相同的,则可以在所有节点上使用相同的 cassandra.yaml文件。
例:

cluster_name: 'MyCassandraCluster'
num_tokens: 256
seed_provider:
  - class_name: org.apache.cassandra.locator.SimpleSeedProvider
    parameters:
         - seeds: "110.82.155.0,110.82.155.3"
listen_address:
rpc_address: 0.0.0.0
endpoint_snitch: GossipingPropertyFileSnitch

如果rpc_address设置为通配符地址(0.0.0.0),则必须设置broadcast_rpc_address,否则服务甚至不会启动。

5.在cassandra-rackdc.properties文件中,分配您在先决条件中确定的数据中心和机架名称。例如:

# indicate the rack and dc for this node
dc=DC1
rack=RAC1

6.该 GossipingPropertyFileSnitch总是加载 cassandra-topology.properties当该文件存在。从任何新群集或从中迁移的任何群集上的每个节点上删除该文件 PropertyFileSnitch。

7.在所有节点上安装并配置Cassandra之后,建议一次启动一个种子节点,然后启动其余的节点。
**注意:**如果节点由于自动重新启动而重新启动,则必须先停止节点并清除数据目录,如上所述。

包安装:

$ sudo service cassandra start

Tarball装置:

$ cd install_location 
$ bin/cassandra

8.要检查铃声是否已启动并正在运行,请运行:

包安装:

$ nodetool status

Tarball装置:

$ cd install_location 
$ bin/nodetool status

输出应该列出每个节点,并显示其状态 UN(正常)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eQ1BDxIT-1602313972548)(http://docs.datastax.com/en/cassandra/3.0/cassandra/images/screenshots/init_nodetool_status.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值