2014-10-02 136 views
0

我正在嘗試將cassandra羣集從專用DC遷移到EC2。我將sstable作爲開始的快照。爲了加載數據,我在這個過程中嘗試了sstableloader,但是我無法想出從cassandra節點指定主機的方法(我試圖從我的cassandra節點運行sstable loader)。任何指導都會很有幫助。我正在使用cassandra 1.0.1。使用sstableloader加載遷移cassandra羣集

回答

1

cassandra 1.0.1中的sstableloader使用八卦協議來獲取批量加載所需的架構和響鈴信息。這意味着該工具必須在與cassandra本身相同的端口上偵聽,因此它不能與cassandra在同一個節點中使用(cassandra> 1.1的情況並非如此)。

您需要從其他主機批量加載,或按照此處的方向(http://www.datastax.com/docs/1.0/operations/backup_restore)將快照直接加載到新節點。 另外,您可以使用現有的cassandra節點通過在StorageService MBean下找到的JMX「bulkLoad」操作批量加載節點中的文件。

+0

因此,如果我使用sstableloader從不同主機批量加載,我將如何爲sstable文件提供路徑。因爲我認爲路徑需要位於sstableloader所在的系統上。 – 2014-10-02 22:45:04

+0

sstableloader是否僅加載部分數據?我有3個節點的cluster1和3個節點的cluster2。我需要將數據從cluster1複製到cluster2。是否必須在每個cluster1節點上運行sstableloader,否則sstableloader會爲我從其他主機獲取表的所有部分? – Sergey 2015-03-31 10:09:48

+0

sstableloader處理數據的哪一部分進入哪個節點。它首先包含節點(在'-d'選項中指定)並獲取環信息。然後,它將SSTable的一部分流到合適的節點。 – yukim 2015-04-02 21:54:49