我正在查询测试PC服务器[JARVIS](在Ubuntu server 14.04.3的PC上使用Apache 1.7.0 Accumulation-Zookeper 3.4.6-Hadoop 2.7.1)和Windows客户端PC[Casa PC](在Eclipse中制造,我在Eclipse中使用maven库Accumulation-1.7.0和Hadoop-core-1.2.1执行了一个项目),两者都在同一局域网上。当我试图用以下代码询问PC服务器时,在PC客户端上运行java Eclipse会返回以下列表:
15/11/30 07:14:31警告客户端。ClientConfiguration:在默认路径中找不到client.conf。使用默认客户端配置价值观15/11/30 07:14:32动物园管理员信息。ZooKeeper:客户端环境:zookeeper。版本=3.4.6-1569965,构建于2014年2月20日09:09GMT15/11/30 07:14:32动物园管理员信息。ZooKeeper:客户端environment:host.name=Casa PC30年11月15日07:14:32信息动物园管理员。ZooKeeper:客户端环境:java.version=1.8.0_6030年11月15日07:14:32信息动物园管理员。ZooKeeper:客户端environment:java.vendor=Oracle Corporation30年11月15日07:14:32信息动物园管理员。ZooKeeper:客户端环境:java.home=。。。30年11月15日07:14:32信息动物园管理员。ZooKeeper:客户端environment:java.class.path=。。。30年11月15日07:14:32信息动物园管理员。ZooKeeper:客户端环境:java.library.path=。。。;;。15/11/30 07:14:32动物园管理员信息。ZooKeeper:客户端环境:java.io.tmpdir=。。。30年11月15日07:14:32信息动物园管理员。ZooKeeper:客户端环境:java.compiler=30年11月15日07:14:32信息动物园管理员。ZooKeeper:客户端环境:os.name=Windows7 15/11/30 07:14:32动物园管理员信息。ZooKeeper:客户端环境:os.arch=x8615/11/30 07:14:32动物园管理员信息。ZooKeeper:客户端环境:操作系统版本=6.130年11月15日07:14:32信息动物园管理员。ZooKeeper:客户端环境:user.name=。。。30年11月15日07:14:32信息动物园管理员。ZooKeeper:客户端环境:user.home=。。。15/11/30 07:14:32动物园管理员信息。ZooKeeper:客户端environment:user.dir=…15/11/30 07:14:32 INFO动物园管理员。ZooKeeper:正在启动客户端连接,connectString=JARVISsessionTimeout=30000观察者=org.apache.accumulo.fate.zookeeper.ZooSession$ZooWatcher@1ccaa15/11/30 07:14:38动物园管理员信息。ClientCnxn:正在打开套接字连接到服务器JARVIS/192.168.1.104:2181。不会尝试进行身份验证使用SASL(未知错误)15/11/30 07:14:38信息动物园管理员。ClientCnxn:已建立到的套接字连接JARVIS/192.168.1.104:2181,启动会话15/11/30 07:14:38信息动物园管理员。ClientCnxn:服务器上的会话建立完成JARVIS/192.168.1.104:2181,sessionid=0x15155768163000b,协商超时=3000003年12月15日17:05:26警告rpc。ThriftUtil:无法打开到的传输贾维斯:999703年12月15日17:05:26 WARN impl。ServerClient:找不到服务器列表中的可用服务器:[JARVIS:9997(120000)]03年12月15日17:05:27警告rpc。ThriftUtil:无法打开到的传输贾维斯:999703年12月15日17:05:28警告rpc。ThriftUtil:无法打开运输至JARVIS:999703年12月15日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。
没有平板电脑服务器:请检查zookeeper和accumulo是否正在运行。
请确保提供了正确的zookeeper仲裁字符串和Accumulo实例名称。您应该能够从Accumulo监视器http://JARVIS:50095
获取所有这些。这意味着,根据您提供的属性,Accumulo没有运行。
这也应该告诉您Accumulo是否真的在运行——查看最近的日志页面以查找任何Accumulo错误。