2014-04-04 75 views
0

鏈接回這個問題上禁用虛擬節點:通過產生3個令牌與 Why not enable virtual node in an Hadoop node?如何檢查hadoop的節點

我正在與2卡桑德拉和1個分析節點和禁用虛擬節點的混合3節點集羣DataStax企業提供的實用程序。 但是,當我運行'nodetool status'命令時,每個節點仍然會看到256個令牌,並且在創建mapreduce作業時,它會創建257個映射器,並花費很長時間來執行帶有小數據的查詢。 所以我的具體問題是:

  1. 虛擬節點設置是否仍然沒有禁用?我如何驗證它是否被禁用?

  2. 如果它被禁用,那麼爲什麼仍然爲每個作業創建257個映射器?有沒有不同的配置?

非常感謝您的幫助!

回答

3

1)它沒有被禁用。你可以告訴它,因爲它仍然說在nodetool狀態下有256個令牌。

要禁用,你需要確保你改變num_tokens變量在cassandra.yamnl

# If you already have a cluster with 1 token per node, and wish to migrate to 
# multiple tokens per node, see http://wiki.apache.org/cassandra/Operations 
# num_tokens: 256 << Make sure this line is commented out 

# initial_token allows you to specify tokens manually. While you can use it with 
# vnodes (num_tokens > 1, above) -- in which case you should provide a 
# comma-separated list -- it's primarily used when adding nodes to legacy clusters 
# that do not have vnodes enabled. 
initial_token: << Your generated token goes here 
+0

感謝您的答覆虛擬節點!我做了你所說的,評論了num_tokens屬性並重新啓動了所有三個節點,但仍然看到相同的結果。每個節點上有256個令牌。任何想法? – Tripti

+1

這隻會在第一次啓動時設置vnodes。如果您擦除了節點,則rm -r/var/lib/cassandra節點將在沒有vnodes的情況下重新啓動。要進行實時遷移,您必須在沒有vnodes的情況下引導單獨的節點,複製您的數據,然後在啓用vnodes的情況下關閉節點集。 – RussS

+0

這工作Russ!非常感謝你 :-) – Tripti