2017-04-18 1 views
0

두 대의 기계 masterslave1이있는 AWS에 누적 클러스터를 설정했습니다. master 노드는 monitortserver처럼 동작합니다. 여기 누적의 설정이 있습니다.원격 노드에서 Accumulo 서버가 시작되지 않음

이 내 conf/accumulo-site.xml

<property> 
    <name>instance.volumes</name> 
    <value></value> 
    <description>comma separated list of URIs for volumes. example: hdfs://localhost:9000/accumulo</description> 
    </property> 

    <property> 
    <name>instance.zookeeper.host</name> 
    <value>localhost:2181</value> 
    <description>comma separated list of zookeeper servers</description> 
    </property> 

    <property> 
    <name>instance.secret</name> 
    <value>DEFAULT</value> 
    <description>A secret unique to a given instance that all servers must know in order to communicate with one another. 
     Change it before initialization. To 
     change it later use ./bin/accumulo org.apache.accumulo.server.util.ChangeSecret --old [oldpasswd] --new [newpasswd], 
     and then update this file. 
    </description> 
    </property> 

    <property> 
    <name>tserver.memory.maps.max</name> 
    <value>256M</value> 
    </property> 

    <property> 
    <name>tserver.memory.maps.native.enabled</name> 
    <value>false</value> 
    </property> 

    <property> 
    <name>tserver.cache.data.size</name> 
    <value>15M</value> 
    </property> 

    <property> 
    <name>tserver.cache.index.size</name> 
    <value>40M</value> 
    </property> 

    <property> 
    <name>trace.token.property.password</name> 
    <!-- change this to the root user's password, and/or change the user below --> 
    <value>secret</value> 
    </property> 

    <property> 
    <name>trace.user</name> 
    <value>root</value> 
    </property> 

    <property> 
    <name>tserver.sort.buffer.size</name> 
    <value>50M</value> 
    </property> 

    <property> 
    <name>tserver.walog.max.size</name> 
    <value>256M</value> 
    </property> 

    <property> 
    <name>general.classpaths</name> 
    <value> 
     <!-- Accumulo requirements --> 
     $ACCUMULO_HOME/lib/accumulo-server.jar, 
     $ACCUMULO_HOME/lib/accumulo-core.jar, 
     $ACCUMULO_HOME/lib/accumulo-start.jar, 
     $ACCUMULO_HOME/lib/accumulo-fate.jar, 
     $ACCUMULO_HOME/lib/accumulo-proxy.jar, 
     $ACCUMULO_HOME/lib/[^.].*.jar, 
     <!-- ZooKeeper requirements --> 
     $ZOOKEEPER_HOME/zookeeper[^.].*.jar, 
     <!-- Common Hadoop requirements --> 
     $HADOOP_CONF_DIR, 
     <!-- Hadoop 2 requirements --> 
     $HADOOP_HOME/share/hadoop/common/[^.].*.jar, 
     $HADOOP_HOME/share/hadoop/common/lib/(?!slf4j)[^.].*.jar, 
     $HADOOP_HOME/share/hadoop/hdfs/[^.].*.jar, 
     $HADOOP_HOME/share/hadoop/mapreduce/[^.].*.jar, 
     $HADOOP_HOME/share/hadoop/yarn/[^.].*.jar, 
     $HADOOP_HOME/share/hadoop/yarn/lib/jersey.*.jar, 
     </value> 
    <description>Classpaths that accumulo checks for updates and class files.</description> 
    </property> 
</configuration> 

이 내 conf/masters

localhost 

이 내 conf/slaves

localhost 
slave1 

내 하둡 클러스터가 완벽하게 잘하고 작업이다 저기, 사육사도 주인을 만나고있어. 누적은 초기화되고 slave1에서 tserver를 시작한다는 것을 나타내는 start-all.sh 스크립트를 실행했지만 웹 인터페이스는 실행중인 1 tserver 만 표시합니다 (master:9997).

여기에 뭔가가 있습니까?

답변

0

나는 accumulo-site.xml에있는 동물원 항목에 대해 localhost을 작성 했으므로 tservers가 원격 노드에서 사육사를 찾을 수 없음을 알게되었습니다. 나는 그것을 바꿨고 그것은 일하기 시작했다.

2

노드를 참조 할 때 정규화 된 도메인 이름 (호스트 이름)을 사용하십시오. localhost을 사용하는 경우 실제 컴퓨터에서 해결되는 방법은 Accumulo 명령을 실행하는 노드에 따라 다릅니다. 당신이 당신의 "SLAVE1"노드에서 start-all.sh를 실행 한 경우

는 예를 들어, 동일한 노드 것 localhostslave1에 TabletServer을 시작하려고 끝날 것입니다.

slave에서 시작된 TabletServer를 얻은 경우에도 SSH를 사용하여 TabletServer 프로세스가 실행 중인지 확인하십시오. TabletServer의 .out/.err 또는 .log 파일에 정보가 있는지 확인 했습니까? 공통 초기 설정 문제는 사용자가 암호가없는 SSH를 올바르게 구성하지 않은 경우입니다 (Accumulo를 실행하는 사용자는 slaves 파일의 주어진 호스트 이름 (예 : ssh slave1)로 ssh 할 수 있어야합니다).

+0

암호없이 컴퓨터에 ssh 연결할 수 있습니다. 또한,'etc/hosts' 파일에 이름을 추가하려고 시도한 다음, 그것들을 같은 디렉토리에있는 accumulo master와 slave 파일에 사용했습니다. – molecule

+0

감사합니다. 당신의 대답은 제가 진짜 문제를 찾도록 도왔습니다. – molecule

관련 문제