Accumulo服务器无法在远程节点上启动

时间:2017-04-18 13:31:24

标签: accumulo

我在AWS上设置了一个accumulo集群,我有两台机器masterslave1master节点的行为与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

我的hadoop集群工作得非​​常好,并且Zookeeper也在master上运行。 accumulo是初始化的,我运行了start-all.sh脚本,显示它在slave1上启动了tserver,但是web界面只显示运行1个tserver,即master:9997

我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:2)

引用节点时使用完全限定的域名(主机名)。当您使用localhost时,解析到物理机器的方式取决于您运行Accumulo命令的节点。

例如,如果您从&#34; slave1&#34;运行start-all.sh节点,您最终会尝试在localhostslave1上启动TabletServer,这将是同一个节点。

即使您在slave上启动了TabletServer,您是否已通过SSH连接到该主机并检查TabletServer进程是否正在运行?您是否看到TabletServer的.out / .err或.log文件中是否有信息?常见的初始设置问题是当用户没有正确配置无密码SSH时(运行Accumulo的用户必须能够从slaves文件ssh到给定的主机名,例如ssh slave1)。

答案 1 :(得分:0)

我刚刚意识到我已经为localhost中的zookeeper条目编写了accumulo-site.xml,因此tservers无法在远程节点上找到zookeeper。我改变它,它开始工作。