2015-01-17 1 views
0

5 개의 물리적 노드로 구성된 riak 클러스터를 설정 중입니다. 다른 하나는 admin-riak 테스트에 실패하면 1을 제외한 모든 테스트에서 문제가 없습니다. 여러 riak-관리자 명령에 대한 클러스터 상태는 다른 모든에 같이있는 ** ** 미리 riak-관리자 시험을 제외한 모든 노드에서 같은 결과 모든 테스트 후Riak 노드 테스트에서 riak-admin 테스트가 실패하지만 'curl -v http://127.0.0.1/8098/types/default/props'성공한 이유

[email protected]:~$ sudo riak-admin member-status 
=============== Membership ============================ 
Status  Ring Pending Node 
------------------------------------------------------------------------------- 
valid  20.3%  --  '[email protected]' 
valid  20.3%  --  '[email protected]' 
valid  20.3%  --  '[email protected]' 
valid  20.3%  --  '[email protected]' 
valid  18.8%  --  '[email protected]' 
------------------------------------------------------------------------------- 
Valid:5/Leaving:0/Exiting:0/Joining:0/Down:0 

[email protected]:~$ sudo riak-admin ring-status 
================================== Claimant =================================== 
Claimant: '[email protected]' 
Status:  up 
Ring Ready: true 

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

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

[email protected]:~$ sudo riak-admin cluster status 
---- Cluster Status ---- 
Ring ready: true 

+------------------------+------+-------+-----+-------+ 
|  node    |status| avail |ring |pending| 
+------------------------+------+-------+-----+-------+ 
|  [email protected] |valid | up | 20.3| -- | 
| (C) [email protected] |valid | up | 20.3| -- | 
|  [email protected] |valid | up | 20.3| -- | 
|  [email protected] |valid | up | 20.3| -- | 
|  [email protected] |valid | up | 18.8| -- | 
+------------------------+------+-------+-----+-------+ 

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

[email protected]:~$ 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}} 

[email protected]:~$ sudo riak-admin test 
Node '[email protected] ' is not reachable from '[email protected]'. 

아래에 표시됩니다 노드. 노드의 세

[email protected]:~$ sudo riak-admin test 
Successfully completed 1 read/write cycle to '[email protected]' 

내 의심이 클러스터 때문에이 Basho website resource에 데이터를 저장하는 데 사용 준비가되었는지, 그들은 당신이 노드가 준비가되었는지 여부를 테스트하는 방법 중 하나를 사용할 수 있습니다 말한다. 그들은 한 노드가 성공하고 다른 노드가 실패하면 노드가 여전히 괜찮다고 말하지 않습니다. 그래서 클러스터를 사용할지 여부를 결정해야합니다. 놀랍게도이 노드는 모든 작업을 클러스터에 결합하는 데 성공했습니다! 다시 처음부터이 노드를 만들려고했으나 도움이되지 않았습니다!

도움이 필요하면 기꺼이 보내 드리겠습니다.

+0

Riak을 시작한 후 구성 파일에서 노드 이름이 변경 되었습니까? riak-admin 테스트 명령은 config 파일에서 env.sh 스크립트를 통해 노드 이름을 가져와야합니다. member_status가'riak @ dbnode1.do.ug'를 보여줄 때'dbnode1.dot.ug'를 얻는다는 사실은 그것이 변경되었다는 것을 암시하는 것처럼 보입니다. – Joe

+0

아니요, 편집 오류입니다. 모든 노드는 다음과 같습니다.'riak @ dbnodeN.do.ug' –

답변

0

오류 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 모듈은 대상 노드 이름의 호스트 부분, 즉 '@'뒤에있는 부분을 해당 IP 주소의 포트 4369에서 epmd에 문의하여 명명 된 노드의 포트를 얻은 다음 해당 포트의 노드에 대한 TCP 연결을 설정하십시오. 이 프로세스의 어떤 부분이 완료되지 않았습니다.

    +0

    다른 노드에서'sudo riak attach '를 실행하여 erlang 터미널에 액세스 한 다음'net_adm : ping ('[email protected]')'. 나는'탁구 '를 얻는다. 내가'nodes()'를 실행할 때, 또한 나타납니다. 이 노드에서 같은 프로 시저를 수행 할 때 다른 노드에 대해 동일한 결과를 얻습니다 !! ** epmd 포트 4369 **도 모든 노드에서 열려 있습니다 .... –

    +0

    **이 riak-admin ** 쉘 명령어'sudo riak-admin test'의 내부 동작을 알지 못하지만 여전히 응답'Node '[email protected]'에있는이 다른 노드'riak_test @ dbnode1.do.ug '가'riak_test @ dbnode1.do.ug '에서 접근 할 수 없다는 것을 알아야한다. sudo riak-admin 테스트. [바쇼] (http://docs.basho.com/riak/latest/ops/building/installing/post-install/)에 따르면 실패하면 노드가 준비되지 않았습니다! –

    +0

    문제가있는 노드에서 'riak ping'은 어떻게됩니까? – Joe

    관련 문제