Accumulo tservers 未在远程节点上启动
Accumulo tservers not starting on remote nodes
我在 AWS 上设置了一个 accumulo 集群,我有两台机器 master
和 slave1
。 master
节点旨在表现得像 monitor
和 tserver
。这是我的累积设置。
这是我的 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 也在 运行 主服务器上。 accumulo 已初始化,我 运行 start-all.sh
脚本显示它正在 slave1 上启动 tserver,但 Web 界面仅显示 1 个 tserver 运行,即 master:9997
。
我是不是漏掉了什么?
引用节点时使用完全限定的域名(主机名)。当您使用 localhost
时,它如何解析为物理机器取决于您从哪个节点 运行 Accumulo 命令。
例如,如果您从 "slave1" 节点 运行 一个 start-all.sh
,您最终会尝试在 localhost
和 slave1
这将是同一个节点。
即使在您碰巧在 slave
上启动 TabletServer 的情况下,您是否通过 SSH 连接到该主机并检查 TabletServer 进程是否正在 运行ning?您是否看到 TabletServer 的 .out/.err 或 .log 文件中是否有信息?一个常见的初始设置问题是用户没有正确配置无密码 SSH(用户 运行ning Accumulo 必须能够从您的 slaves
文件中通过 ssh 连接到给定的主机名,例如 ssh slave1
).
我刚刚意识到我已经为 accumulo-site.xml
中的 zookeeper 条目编写了 localhost
,因此 tservers 在远程节点上找不到 zookeeper。我更改了它,它开始工作了。
我在 AWS 上设置了一个 accumulo 集群,我有两台机器 master
和 slave1
。 master
节点旨在表现得像 monitor
和 tserver
。这是我的累积设置。
这是我的 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 也在 运行 主服务器上。 accumulo 已初始化,我 运行 start-all.sh
脚本显示它正在 slave1 上启动 tserver,但 Web 界面仅显示 1 个 tserver 运行,即 master:9997
。
我是不是漏掉了什么?
引用节点时使用完全限定的域名(主机名)。当您使用 localhost
时,它如何解析为物理机器取决于您从哪个节点 运行 Accumulo 命令。
例如,如果您从 "slave1" 节点 运行 一个 start-all.sh
,您最终会尝试在 localhost
和 slave1
这将是同一个节点。
即使在您碰巧在 slave
上启动 TabletServer 的情况下,您是否通过 SSH 连接到该主机并检查 TabletServer 进程是否正在 运行ning?您是否看到 TabletServer 的 .out/.err 或 .log 文件中是否有信息?一个常见的初始设置问题是用户没有正确配置无密码 SSH(用户 运行ning Accumulo 必须能够从您的 slaves
文件中通过 ssh 连接到给定的主机名,例如 ssh slave1
).
我刚刚意识到我已经为 accumulo-site.xml
中的 zookeeper 条目编写了 localhost
,因此 tservers 在远程节点上找不到 zookeeper。我更改了它,它开始工作了。