作为卡桑德拉数据分区的后续,我得到了vNodes的想法。感谢“西蒙·丰塔纳·奥斯卡森”
当我尝试使用vNodes进行数据分区时,我有几个问题,
我尝试观察2节点中的分区分布(./nodetool环
)
Two seed nodes (2 node)
172.30.56.61 rack1 Up Normal 105.19 KiB 100.00% -9207297847862311651
172.30.56.61 rack1 Up Normal 105.19 KiB 100.00% -9185516104965672922
172.30.56.61 rack1 Up Normal 105.19 KiB 100.00% -9135483708655236026
172.30.56.60 rack1 Up Normal 102.77 KiB 100.00% -9106737079237505681
172.30.56.61 rack1 Up Normal 105.19 KiB 100.00% -9078521344187921602
172.30.56.61 rack1 Up Normal 105.19 KiB 100.00% -9051897156173923903
172.30.56.61 rack1 Up Normal 105.19 KiB 100.00% -9049800264451581717
172.30.56.61 rack1 Up Normal 105.19 KiB 100.00% -9039572936575206977
172.30.56.60 rack1 Up Normal 102.77 KiB 100.00% -9019927187583981555
172.30.56.60 rack1 Up Normal 102.77 KiB 100.00% -9006071175095726599
172.30.56.60 rack1 Up Normal 102.77 KiB 100.00% -8995415525773810853
172.30.56.60 rack1 Up Normal 102.77 KiB 100.00% -8949342263103866059
172.30.56.61 rack1 Up Normal 105.19 KiB 100.00% -8880432529087253108
172.30.56.61 rack1 Up Normal 105.19 KiB 100.00% -8859265089807316498
172.30.56.61 rack1 Up Normal 105.19 KiB 100.00% -8844286905987198633
172.30.56.61 rack1 Up Normal 105.19 KiB 100.00% -8832739468389117376
因此,根据我在两个节点中的观察,随着一个范围的扩展,节点61的值从-9207297847862311651到-9185516104965672922。。。
注意:分区范围从9039572936575206977到9019927187583981554目前由节点61处理。
现在,我要向集群中再添加一个节点(不是种子节点),并运行< code >。/nodetool ring,
Two seed nodes with one new node (3 node)
172.30.56.61 rack1 Up Normal 104.12 KiB 64.73% -9207297847862311651
172.30.56.61 rack1 Up Normal 104.12 KiB 64.73% -9185516104965672922
172.30.56.61 rack1 Up Normal 104.12 KiB 64.73% -9135483708655236026
172.30.56.60 rack1 Up Normal 102.77 KiB 63.57% -9106737079237505681
172.30.56.61 rack1 Up Normal 104.12 KiB 64.73% -9078521344187921602
172.30.56.61 rack1 Up Normal 104.12 KiB 64.73% -9051897156173923903
172.30.56.61 rack1 Up Normal 104.12 KiB 64.73% -9049800264451581717
172.30.56.61 rack1 Up Normal 104.12 KiB 64.73% -9039572936575206977
172.30.56.62 rack1 Up Normal 103.7 KiB 71.70% -9031848008695747480
172.30.56.62 rack1 Up Normal 103.7 KiB 71.70% -9028974600706382491
172.30.56.60 rack1 Up Normal 102.77 KiB 63.57% -9019927187583981555
现在我观察到,为新节点节点 62 提供了相同的分区范围,即从 -9039572936575206977 到 -9031848008695747480 的范围由节点 61 处理,但 -9031848008695747480 到 -9019927187583981555 由节点 62(新节点)处理,
1) 那么,这是否意味着,在集群中添加一个新节点将分配现有的分区范围?
2) 有没有一种方法可以使用nodetool之类的工具来观察Cassandra中的复制分区?
3) 我有3个节点,RF为2,如何仅在节点62中查看数据可用?
1)当添加节点时,Cassandra将开始为新节点选择好的范围来接管。然后,它将创建256个新的令牌范围,这些范围只是现有范围的一部分。这意味着新节点从集群中的许多节点获取令牌(而不是在不使用vnode时每个RF只获取一个令牌),这使得流传输速度大大提高。
2和3)这能回答你的问题吗?在Cassandra中确定分区的节点
UPDATE命令用于更新Cassandra表中的数据。 如果在更新数据后看不到任何结果,则表示数据成功更新,否则将返回错误。 在更新Cassandra表中的数据时,通常使用以下关键字: :WHERE子句用于选择要更新的行。 :SET子句用于设置值。 :它用于包括构成主键的所有列。 语法: 又或者 - 注意:使用UPDATE命令并且给定的行可用时,UPDATE会创建一个新行。 示例: 我们举个例子来
我的假设是,首先,spark会从cassandra读取数据,因此在这个阶段,cassandra的大分区不会因为重新分区而分裂。重新分区将对从Cassandra加载的基础数据起作用。 我只是想知道答案,当从spark读取数据时,重新分区是否会改变数据分布,而不是再次进行分区?
我在localhost上设置了一个分片的mongo db环境,有3个配置服务器、2个分片的mongo实例和一个mongos。 集群启动后,我运行以下命令序列: 我启用数据库进行分片,并创建一个索引等。 以上所有操作的结果都是成功的。 但是一旦我做到了:db.foo.stats() 我看到所有的数据都在一个分片中结束,而没有被分发。和运行 生产: 然而,有趣的是,如果我从一个空白集合开始,并在向其中
假设我有一张桌子,像这样: 这遵循了所需的Cassandra模式,跨分区分布良好(假设默认的Murmur3哈希分区器)。 但是,我也需要(很少)按时间顺序执行范围查询。这在Cassandra中似乎是不可能的。实际上,我确实需要按组访问数据,所以是可以接受的。由于似乎没有办法让辅助索引有多个列,我想正确的做法是将其反规范化,如下所示: 除了< code>group基数很低,比方说< code>('A
我有一个具有如下模式的dataframe:
我安装了一个3节点Cassandra (2.0.3)群集,这是我的表格: 我用datastax java驱动 这是我创建的用户对象: 我创建了其中的10k - i是我的用户数组中的用户的索引。我不想使用批量插入,而是模拟插入多个记录的压力。这是我的代码: < li >计算记录数量时(使用cqlsh),我从未超过4k(10k中) < li >只有一台服务器进行写入(使用opscenter写入请求/所