【问题标题】:impl.ServerClient: Failed to find an available server in the list of servers:impl.ServerClient:无法在服务器列表中找到可用服务器:
【发布时间】:2015-11-30 07:58:20
【问题描述】:

我正在尝试使用 Windows 客户端 PC 查询以测试 PC 服务器 [JARVIS](在带有 Ubuntu Server 14.04.3 的 PC 上使用 Apache 1.7.0 Accumulation -Zookeper 3.4.6- Hadoop 2.7.1) [Casa-PC](在 Eclipse 中制作,我使用 Maven 库 Accumulation-1.7.0 和 hadoop-core-1.2.1 进行了一个项目)都在同一个 LAN 上。 当我尝试使用以下代码询问 PC 服务器时,java 在 PC 客户端上运行 Eclipse 会返回以下列表:

15/11/30 07:14:31 WARN client.ClientConfiguration:在默认路径中找不到 client.conf。使用默认客户端配置 价值观。 15/11/30 07:14:32 INFO zookeeper.ZooKeeper:客户端 环境:zookeeper.version=3.4.6-1569965,建于02/20/2014 09:09 格林威治标准时间 15/11/30 07:14:32 INFO zookeeper.ZooKeeper:客户端 环境:host.name=Casa-PC 15/11/30 07:14:32 信息 zookeeper.ZooKeeper:客户端环境:java.version=1.8.0_60 15/11/30 07:14:32 INFO zookeeper.ZooKeeper:客户端 环境:java.vendor=甲骨文公司 15/11/30 07:14:32 信息 zookeeper.ZooKeeper:客户端环境:java.home=... 15/11/30 07:14:32 INFO zookeeper.ZooKeeper:客户端 环境:java.class.path=... 15/11/30 07:14:32 信息 zookeeper.ZooKeeper:客户端环境:java.library.path=...;;. 15/11/30 07:14:32 INFO zookeeper.ZooKeeper:客户端 环境:java.io.tmpdir=... 15/11/30 07:14:32 信息 zookeeper.ZooKeeper:客户端环境:java.compiler= 15/11/30 07:14:32 INFO zookeeper.ZooKeeper:客户端环境:os.name=Windows 7 15/11/30 07:14:32 信息 zookeeper.ZooKeeper:客户端 环境:os.arch=x86 15/11/30 07:14:32 信息 zookeeper.ZooKeeper: 客户端环境:os.version=6.1 15/11/30 07:14:32 信息 zookeeper.ZooKeeper:客户端环境:user.name=... 15/11/30 07:14:32 INFO zookeeper.ZooKeeper:客户端环境:user.home=... 15/11/30 07:14:32 INFO zookeeper.ZooKeeper:客户端 环境:user.dir=... 15/11/30 07:14:32 信息 zookeeper.ZooKeeper: 启动客户端连接,connectString=JARVIS 会话超时=30000 watcher=org.apache.accumulo.fate.zookeeper.ZooSession$ZooWatcher@1ccaa 15/11/30 07:14:38 INFO zookeeper.ClientCnxn:打开套接字连接 到服务器 JARVIS/192.168.1.104:2181。不会尝试进行身份验证 使用 SASL(未知错误)15/11/30 07:14:38 INFO zookeeper.ClientCnxn:建立的套接字连接 JARVIS/192.168.1.104:2181,启动会话 15/11/30 07:14:38 信息 zookeeper.ClientCnxn:服务器上的会话建立完成 JARVIS/192.168.1.104:2181, sessionid = 0x15155768163000b, 协商 超时 = 30000 15/12/03 17:05:26 WARN rpc.ThriftUtil: 无法打开传输到 贾维斯:9997 15/12/03 17:05:26 WARN impl.ServerClient: 找不到 服务器列表中的可用服务器:[JARVIS:9997 (120000)] 15/12/03 17:05:27 WARN rpc.ThriftUtil: 无法打开传输到 贾维斯:9997 15/12/03 17:05:28 WARN rpc.ThriftUtil: 无法打开 运输到 JARVIS:9997 2003 年 15 月 12 日 17:05:29 警告 rpc.ThriftUtil:失败 打开到 JARVIS:9997 的传输

import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.BatchWriter;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.Instance;
import org.apache.accumulo.core.client.TableExistsException;
import org.apache.accumulo.core.client.TableNotFoundException;
import org.apache.accumulo.core.client.ZooKeeperInstance;
import org.apache.accumulo.core.client.admin.TableOperations;
import org.apache.accumulo.core.client.security.tokens.KerberosToken;
import org.apache.accumulo.core.data.Mutation;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.security.ColumnVisibility;
import org.apache.hadoop.io.Text;



public class Accumulo1 {

  public Connector connection;

  @SuppressWarnings("deprecation")
  public static void main(String[] args)throws AccumuloException, AccumuloSecurityException, TableNotFoundException, TableExistsException, IOException {

    String instanceName = "instanceName ";
    String zooServers = "zooServers ";
    String userName = "userName ";
    String password = "password ";


    Instance inst = new ZooKeeperInstance(instanceName,zooServers);
    Connector connection = inst.getConnector(userName, password);

    BatchWriter bw = connection.createBatchWriter("demotable",1000000, 60000, 2);


    Text rowID = new Text("row1");
    Text colFam = new Text("colFam");
    Text colQual = new Text("colQual");

    ColumnVisibility colVis = new ColumnVisibility("public");
    long timestamp = System.currentTimeMillis();

    Value value = new Value("some-value".getBytes());

    Mutation mutation = new Mutation(rowID);
    mutation.put(colFam, colQual, colVis, timestamp, value);

    bw.addMutation(mutation);

    bw.close();
  }

}

我检查了服务器和存储 ('http://JARVIS:50095/servers') 存在。 我不明白可能是什么问题。 也许我错误地配置了 Eclipse。

【问题讨论】:

    标签: java eclipse hadoop apache-zookeeper accumulo


    【解决方案1】:

    没有平板服务器:检查 zookeeper 和 accumulo 是否正在运行。

    确保您提供了正确的 zookeeper 仲裁字符串和 Accumulo 实例名称。您应该能够从 Accumulo 监视器http://JARVIS:50095 获得所有这些信息。这意味着,根据您提供的属性,Accumulo 没有运行。

    这还应该告诉您 Accumulo 是否实际运行 - 查看最近的日志页面以了解任何 Accumulo 错误。

    【讨论】:

    • 是的,我可以去 http://JARVIS: 50095 我可以看到你所说的所有在日志中报告的错误是:01/12/2015 21:03:57.805 tserver/master/gc /tracer: 270/271 JARVIS WARN 系统 swappiness 设置大于十 (60),这可能导致时间敏感操作被延迟。累积是时间敏感的,因为它需要维护分布式锁协议。字符串 instanceName 是正确的; zooServers 是“JARVIS”;用户名 = "根";并且密码是从 accumulo 用于与 zookeeper 通信的 root 密码。
    • 呃,Accumulo 用户 mgmt(和密码)与 ZooKeeper 无关。尝试提高客户端上的日志级别以进行调试或跟踪,看看是否能弄清楚发生了什么。听起来 Accumulo 还不错。
    • 谢谢 .. 你能在客户端推荐几行代码来进行检查吗,或者推荐一些我可以研究它们的链接。
    • 如果您想单步执行客户端代码,请使用调试器,或者,我的建议是将 Accumulo 核心类“org.apache.accumulo.core”的 Log4j 记录器级别提高到 DEBUG 或 TRACE。
    • 我应该在generic_logger.xml中设置吗?什么?在手册中没有报告任何内容。但是有消息..现在的问题不同了.. :-( –
    猜你喜欢
    • 2017-03-29
    • 2019-09-28
    • 2021-11-20
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    相关资源
    最近更新 更多