将节点添加到现有集群(一)
来源:互联网 发布:网络棋牌赚钱 编辑:程序博客网 时间:2024/06/15 12:36
将节点添加到现有集群
虚拟节点(vnodes)大大简化了将节点添加到现有集群的过程:
计算令牌并将其分配给每个节点不再需要。
重新平衡集群不再是必要的,因为加入集群的节点承担了偶数部分数据的责任。
有关vnodes如何工作的详细说明,请参阅虚拟节点。
注意:如果您不使用vnodes,请参阅将单令牌节点添加到群集。
步骤
确保在群集中的所有节点上使用相同版本的Cassandra。请参阅安装Apache Cassandra 3.0的早期版本。
1.在新节点上安装Cassandra,但不要启动Cassandra。如果您在Debian上的Cassandra安装自动启动,您必须停止节点并清除数据。
2.根据群集中使用的snitch,设置cassandra-topology.properties 或cassandra-rackdc.properties文件中的属性:
PropertyFileSnitch使用 cassandra-topology.properties文件。
GossipingPropertyFileSnitch,Ec2Snitch,Ec2MultiRegionSnitch和GoogleCloudSnitch使用 cassandra-rackdc.properties文件。
3.在cassandra.yaml文件中设置以下属性 :
auto_bootstrap
如果此选项已设置为false,则必须将其设置为true。该选项未在默认的cassandra.yaml配置文件中列出,默认为true。
CLUSTER_NAME
新节点正在加入的群集的名称。
listen_address / broadcast_address
通常可以留空。否则,使用其他Cassandra节点用来连接到新节点的IP地址或主机名。
endpoint_snitch
告密者Cassandra用来定位节点和路由请求。
num_tokens
要分配给节点的vnode数量。使用与数据中心中其他节点上设置的相同数量的令牌。令牌范围按比例分配,如果硬件能力不同,则为容量更高,性能更好的系统分配更多的令牌范围。
allocate_tokens_for_local_replication_factor
指定数据中心密钥空间的复制因子(RF)。如果您打算在添加节点后增加RF,则使用(新)更高的值。当射频在密钥空间之间变化并且您添加单个节点时,请使用最高的射频值。添加多个节点时,请在大部分数据密集型密钥空间RF之间交替使用。例如,在密钥空间cyclingRF = 3,密钥空间 hockeyRF = 2,密钥空间 basketballRF = 1的数据中心中,将要添加到的第一个节点设置为3,将第二个节点设置为2。
seed_provider
确保新节点在现有集群中至少列出一个节点。该-seeds列表确定哪些节点的新节点应联系,以了解集群,建立八卦过程。
注意:种子节点不能引导。确保新节点没有在-seeds列表中列出。 不要使所有节点种子节点。
其他非默认设置
在cassandra.yaml文件和 cassandra-topology.properties或 cassandra-rackdc.properties文件中更改对现有集群所做的任何其他非默认设置。使用 diff命令查找和合并现有节点和新节点之间的差异。
4.启动引导程序节点。
5.使用nodetool status来验证节点是否已完全引导,并且所有其他节点都处于运行状态(UN)而不处于任何其他状态。
6.在所有新节点运行之后,对每个先前存在的节点运行nodetool cleanup,以删除不再属于这些节点的密钥。在下一个节点上运行nodetool cleanup之前,等待清理完成。
清理可以安全地推迟使用时间。
- 将节点添加到现有集群(一)
- 将数据中心添加到集群(二)
- 单令牌节点添加到集群(十一)
- 添加calico到现有的kubernetes集群中
- Hadoop-添加新节点到集群
- Redis集群进阶-添加新节点到集群
- xml将现有节点从一个文档复制到另一个文档
- hadoop2.6.0添加集群节点(二)
- hadoop集群添加节点
- 集群添加节点失败
- Redis集群添加节点
- 添加新元素到现有页面
- redis集群实现(二)集群添加节点
- redis集群实现(二)集群添加节点
- 在现有集群环境下动态增加(下架)新的节点
- 如何将文件夹添加到 Visual Studio 2008 的现有工程上
- 如何将文件夹添加到 Visual Studio 2008 的现有工程上 -学习
- 读取文件内容并将内容添加到节点
- 面向非专家的DL系列之一:深度学习的4个突破
- Java并发编程视频教程
- ISCSI
- [LearnOpenGL]C0:项目简介
- pip安装 matplotlib 时问题记录
- 将节点添加到现有集群(一)
- Reynold Xin推荐的数据库资料
- Linux常用命令
- 递推求解的基本方法hdu2044-2047
- Ubuntu下Oracle JDK的一般安装及环境配置
- 程序员终极Fish控制台
- Maven自动部署war到Tomcat8
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——2.1 使用GLSurfaceView和MediaPlayer播放一个平面视频(上)
- https认证