Почему при тестировании узла Riak "тест riak-admin" не выполняется, а "curl -v http://127.0.0.1/8098/types/default/props" завершается успешно

Я настраиваю кластер из пяти физических узлов. Остальные четыре подходят ко всем тестам, кроме одного, который не прошел тест admin-riak. Состояние кластера для нескольких команд riak-admin показано ниже

do-admin@DBNode1:~$ sudo riak-admin member-status  
=============== Membership ============================
Status     Ring    Pending    Node
-------------------------------------------------------------------------------
valid      20.3%      --      'riak@dbnode1.do.ug'
valid      20.3%      --      'riak@dbnode2.do.ug'
valid      20.3%      --      'riak@dbnode3.do.ug'
valid      20.3%      --      'riak@dbnode4.do.ug'
valid      18.8%      --      'riak@dbnode5.do.ug'
-------------------------------------------------------------------------------
Valid:5 / Leaving:0 / Exiting:0 / Joining:0 / Down:0

dot-admin@DBNode1:~$ sudo riak-admin ring-status
================================== Claimant ===================================
Claimant:  'riak@dbnode2.do.ug'
Status:     up
Ring Ready: true

============================== Ownership Handoff ==============================
No pending changes.

============================== Unreachable Nodes ==============================
All nodes are up and reachable

do-admin@DBNode1:~$ sudo riak-admin cluster status
---- Cluster Status ----
Ring ready: true

+------------------------+------+-------+-----+-------+
|       node             |status| avail |ring |pending|
+------------------------+------+-------+-----+-------+
|     riak@dbnode1.do.ug |valid |  up   | 20.3|  --   |
| (C) riak@dbnode2.do.ug |valid |  up   | 20.3|  --   |
|     riak@dbnode3.do.ug |valid |  up   | 20.3|  --   |
|     riak@dbnode4.do.ug |valid |  up   | 20.3|  --   |
|     riak@dbnode5.do.ug |valid |  up   | 18.8|  --   |
+------------------------+------+-------+-----+-------+

Key: (C) = Claimant; availability marked with '!' is unexpected

do-admin@DBNode1:~$ curl -v http://dbnode1.dot.ug:8098/types/default/props
* Hostname was NOT found in DNS cache
*   Trying 192.168.172.38...
* Connected to dbnode1.dot.ug (192.168.172.38) port 8098 (#0)
> GET /types/default/props HTTP/1.1
> User-Agent: curl/7.35.0
> Host: dbnode1.dotshule.ug:8098
> Accept: */*
> 
< HTTP/1.1 200 OK
< Vary: Accept-Encoding
* Server MochiWeb/1.1 WebMachine/1.10.5 (jokes are better explained) is not blacklisted
< Server: MochiWeb/1.1 WebMachine/1.10.5 (jokes are better explained)
< Date: Sat, 17 Jan 2015 21:05:22 GMT
< Content-Type: application/json
< Content-Length: 428
< 
* Connection #0 to host dbnode1.dotshule.ug left intact
{"props":{"allow_mult":false,"basic_quorum":false,"big_vclock":50,"chash_keyfun":{"mod":"riak_core_util","fun":"chash_std_keyfun"},"dvv_enabled":false,"dw":"quorum","last_write_wins":false,"linkfun":{"mod":"riak_kv_wm_link_walker","fun":"mapreduce_linkfun"},"n_val":3,"notfound_ok":true,"old_vclock":86400,"postcommit":[],"pr":0,"precommit":[],"pw":0,"r":"quorum","rw":"quorum","small_vclock":50,"w":"quorum","young_vclock":20}}

dot-admin@DBNode1:~$ sudo riak-admin test
Node 'riak@dbnode1.dot.ug ' is not reachable from 'riak_test@dbnode1.dot.ug'.

После всех этих тестов с одинаковыми результатами на всех узлах, за исключением ** теста riak-admin **, который похож на все остальные узлы. Для третьего узла

dot-admin@DBNode3:~$ sudo riak-admin test
Successfully completed 1 read/write cycle to 'riak@dbnode3.dotshule.ug'

Я сомневаюсь, что этот кластер готов к использованию для хранения данных, потому что на этом ресурсе сайта Basho говорят, что вы можете использовать любой из методов, чтобы проверить, готов ли узел. Они не говорят, что с узлом все в порядке, если один метод успешен, а другой - неуспешен. Так что я застрял на том, чтобы пойти дальше, чтобы использовать кластер или нет. Удивительно, но этот узел успешно во всех операциях присоединился к нему в кластере!! Я попытался создать этот узел с нуля снова, но это не помогло!

За любую помощь буду рад.

1 ответ

Ошибка Node <targetnode> is not reachable from <sourcenode>. указывает на то, что net_adm:ping(<targetnode>) возвращенный pang вместо понг.

Проверь это:

  • epmd процесс запущен
  • /usr/lib/riak/erts-5.10.3/epmd -names показать, что узел зарегистрирован (скорректировать путь в соответствии с вашей установкой)
  • selinx, iptables или другое программное обеспечение безопасности не блокирует временные порты или порт epmd 4369

Модуль net_adm попытается разрешить часть узла целевого имени узла, то есть часть после '@', свяжется с epmd на порту 4369 по этому IP-адресу, чтобы получить порт для указанного узла, затем установит TCP-соединение с узлом в этом порту. Что-то в этом процессе не завершается.

Другие вопросы по тегам