Добавление отдельных узлов токенов к существующему dasastax cassandra Cluster и передача данных не работает

Добавление нового одиночного токена на узлы в существующий кластер DataStax и передача данных не работает. Последующий процесс упоминается ниже. Пожалуйста, обновите меня, если процесс, которому я следовал, неверен. Спасибо

В нашем центре обработки данных AWS EC2 есть 3 узла с единичным токеном с диапазоном данных, включая поиск и график. Мы планируем добавить еще 3 узла в наш центр обработки данных. В настоящее время мы используем DseSimpleSnitch и простую топологию сети для нашего пространства ключей. Также наш текущий коэффициент репликации равен 2.

Узел 1: 10.10.1.36
Узел 2: 10.10.1.46
Узел 3: 10.10.1.56

 cat /etc/default/dse | grep -E 'GRAPH_ENABLED=|SOLR_ENABLED='
   GRAPH_ENABLED=1  
   SOLR_ENABLED=1  

Центр обработки данных: SearchGraph

Address     Rack          Status   State    Load      Owns Token               
10.10.1.46  rack1       Up     Normal  760.14 MiB  ? -9223372036854775808                  
10.10.1.36  rack1       Up     Normal  737.69 MiB  ? -3074457345618258603                   
10.10.1.56  rack1       Up     Normal  752.25 MiB  ? 3074457345618258602                   

Шаг (1) Для добавления 3 новых узлов в наш центр обработки данных сначала мы изменили топологию нашего пространства ключей и сократили до уровня сети.

1) Поменял снитч. cat /etc/dse/cassandra/cassandra.yaml | grep endpoint_snitch: endpoint_snitch: GossipingPropertyFileSnitch

cat /etc/dse/cassandra/cassandra-rackdc.properties |grep -E 'dc=|rack='
  dc=SearchGraph
  rack=rack1

2) (а) Закройте все узлы, затем перезапустите их.

(b) Выполните последовательное восстановление и очистку nodetool на каждом узле.

3) Изменена топология пространства ключей.

ALTER KEYSPACE tech_app1 WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'SearchGraph' : 2};
ALTER KEYSPACE tech_app2 WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'SearchGraph' : 2};
ALTER KEYSPACE tech_chat WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'SearchGraph' : 2};

Ссылка: http://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsChangeKSStrategy.html, http://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsSwitchSnitch.html

Шаг (2) Для обновления диапазона токенов и настройки нового узла кассандры, мы следуем нижеприведенному процессу.

1) Пересчитать диапазон токенов

root@ip-10-10-1-36:~# token-generator

ДК № 1:

Node #1:  -9223372036854775808
Node #2:  -6148914691236517206
Node #3:  -3074457345618258604
Node #4:                    -2
Node #5:   3074457345618258600
Node #6:   6148914691236517202

2) Установил Datastax Enterprise той же версии на новых узлах.

3) Остановил службу узла и и очистил данные.

4) (a) Назначенный диапазон токенов следующим образом новому узлу.

Node 4: 10.10.2.96     Range: -2 
Node 5: 10.10.2.97     Range: 3074457345618258600
Node 6: 10.10.2.86     Range: 6148914691236517202

4) (b) Настроил cassandra.yaml на каждом новом узле:

Узел 4:

cluster_name: 'SearchGraph' 
num_tokens: 1
initial_token: -2  
parameters: 
- seeds: "10.10.1.46, 10.10.1.56" 
listen_address: 10.10.2.96 
rpc_address: 10.10.2.96 
endpoint_snitch: GossipingPropertyFileSnitch

Узел 5:

cluster_name: 'SearchGraph' 
num_tokens: 1
initial_token: 3074457345618258600  
parameters: 
- seeds: "10.10.1.46, 10.10.1.56" 
listen_address: 10.10.2.97 
rpc_address: 10.10.2.97
endpoint_snitch: GossipingPropertyFileSnitch

Узел 6:

cluster_name: 'SearchGraph' 
num_tokens: 1
initial_token: 6148914691236517202   
parameters: 
- seeds: "10.10.1.46, 10.10.1.56" 
listen_address: 10.10.2.86 
rpc_address: 10.10.2.86 
endpoint_snitch: GossipingPropertyFileSnitch

5) Поменял снитч.

cat /etc/dse/cassandra/cassandra.yaml | grep endpoint_snitch:
endpoint_snitch: GossipingPropertyFileSnitch

cat /etc/dse/cassandra/cassandra-rackdc.properties |grep -E 'dc=|rack='
dc=SearchGraph
rack=rack1

6) Запустите DataStax Enterprise на каждом новом узле с двухминутными интервалами с отключенным параметром constant.rangemovement:

JVM_OPTS="$JVM_OPTS -Dcassandra.consistent.rangemovement=false

7) После того, как новые узлы полностью загружены, использованное перемещение nodetool назначает новый initial_token для существующих узлов согласно пересчету токена, выполненному на шаге 4(a). Процесс выполняется на каждом узле по одному.

On  Node 1(10.10.1.36)  :  nodetool move -3074457345618258603
On  Node 2(10.10.1.46)  :  nodetool move -9223372036854775808
On  Node 3(10.10.1.56)  :  nodetool move  3074457345618258602

Центр обработки данных: SearchGraph

Address     Rack        Status State   Load            Owns                Token

10.10.1.46  rack1       Up     Normal  852.93 MiB ? -9223372036854775808
10.10.1.36  rack1       Up     Moving  900.12 MiB ? -3074457345618258603
10.10.2.96  rack1       UP     Normal  465.02 KiB ? -2
10.10.2.97  rack1       Up     Normal  109.16 MiB ? 3074457345618258600
10.10.1.56  rack1       Up     Moving  594.49 MiB ? 3074457345618258602
10.10.2.86  rack1       Up     Normal  663.94 MiB ? 6148914691236517202

Сообщение обновлено:

Но мы получаем следующую ошибку при соединении узлов.

AbstractSolrSecondaryIndex.java:1884 - Cannot find core chat.chat_history
AbstractSolrSecondaryIndex.java:1884 - Cannot find core chat.history
AbstractSolrSecondaryIndex.java:1884 - Cannot find core search.business_units
AbstractSolrSecondaryIndex.java:1884 - Cannot find core search.feeds
AbstractSolrSecondaryIndex.java:1884 - Cannot find core search.feeds_2
AbstractSolrSecondaryIndex.java:1884 - Cannot find core search.knowledegmodule
AbstractSolrSecondaryIndex.java:1884 - Cannot find core search.userdetails
AbstractSolrSecondaryIndex.java:1884 - Cannot find core search.userdetails_2
AbstractSolrSecondaryIndex.java:1884 - Cannot find core search.vault_details
AbstractSolrSecondaryIndex.java:1884 - Cannot find core search.workgroup
AbstractSolrSecondaryIndex.java:1884 - Cannot find core cloud.feeds
AbstractSolrSecondaryIndex.java:1884 - Cannot find core cloud.knowledgemodule
AbstractSolrSecondaryIndex.java:1884 - Cannot find core cloud.organizations
AbstractSolrSecondaryIndex.java:1884 - Cannot find core cloud.userdetails
AbstractSolrSecondaryIndex.java:1884 - Cannot find core cloud.vaults
AbstractSolrSecondaryIndex.java:1884 - Cannot find core cloud.workgroup

Сбой соединения узла со следующей ошибкой:

ERROR [main] 2017-08-10 04:22:08,449  DseDaemon.java:488 - Unable to start DSE server.
com.datastax.bdp.plugin.PluginManager$PluginActivationException: Unable to activate plugin com.datastax.bdp.plugin.SolrContainerPlugin


Caused by: java.lang.IllegalStateException: Cannot find secondary index for core ekamsearch.userdetails_2, did you create it? 
If yes, please consider increasing the value of the dse.yaml option load_max_time_per_core, current value in minutes is: 10

ERROR [main] 2017-08-10 04:22:08,450  CassandraDaemon.java:705 - Exception encountered during startup
java.lang.RuntimeException: com.datastax.bdp.plugin.PluginManager$PluginActivationException: Unable to activate plugin

Кто-нибудь сталкивался с этими ошибками или предупреждениями раньше?

1 ответ

Token Assign Issue::

1) I had wrongly assigned token range in Step 4) (a). Assign token which 
   bisect or trisect the value which are generated using  
   "token-generator"
         Node 4: 10.10.2.96     Range: -6148914691236517206 
         Node 5: 10.10.2.97     Range: -2
         Node 6: 10.10.2.86     Range: 6148914691236517202

Note : We don't need to change the token range of existing nodes in data   
       center.No need to follow procedure in Step 7 which i have mentioned 
       above.

Решена проблема: не удается найти кор::

Increased load_max_time_per_core value in  dse.yaml configuration file, 
still i was receving the error.Finalys solved the issue 
by following method

     1) Started the new nodes as non-solr and wait for all cassandra data  
        to migrate to joining nodes.
     2) Add the parameter auto_bootstrap: False directive to the 
        cassandra.yaml file
     3) Re-start the same nodes after enabling solr. Changed parameter 
        SOLR_ENABLED=1 in /etc/default/dse
     3) Re-index in all new joined nodes. I had to reloaded all core 
        required with the reindex=true and distributed=false parameters in 
        new  joined nodes. 
        Ref : http://docs.datastax.com/en/archived/datastax_enterprise/4.0/datastax_enterprise/srch/srchReldCore.html