Hadoop HBA设置语言:无法启动我的小型群集

Hadoop HBA设置语言:无法启动我的小型群集,hadoop,hbase,Hadoop,Hbase,我试图使用hbasetest语言测试我的Hbase代码。每次我使用下面的代码片段启动我的小型集群时,我都会遇到一个异常 public void startCluster() { File workingDirectory = new File("./"); Configuration conf = new Configuration(); System.setProperty("test.build.data", workingDi

我试图使用hbasetest语言测试我的Hbase代码。每次我使用下面的代码片段启动我的小型集群时,我都会遇到一个异常

    public void startCluster()
    {
        File workingDirectory = new File("./");
        Configuration conf = new Configuration();
        System.setProperty("test.build.data", workingDirectory.getAbsolutePath());
        conf.set("test.build.data", new File(workingDirectory, "zookeeper").getAbsolutePath());
        conf.set("fs.default.name", "file:///");
        conf.set("zookeeper.session.timeout", "180000");
        conf.set("hbase.zookeeper.peerport", "2888");
        conf.set("hbase.zookeeper.property.clientPort", "2181");
        conf.addResource(new Path("conf/hbase-site1.xml"));
        try
        {
            masterDir = new File(workingDirectory, "hbase");
            conf.set(HConstants.HBASE_DIR, masterDir.toURI().toURL().toString());
        }
        catch (MalformedURLException e1)
        {
            logger.error(e1.getMessage());
        }

        Configuration hbaseConf = HBaseConfiguration.create(conf);
        utility = new HBaseTestingUtility(hbaseConf);

        // Change permission for dfs.data.dir, please refer
        // https://issues.apache.org/jira/browse/HBASE-5711 for more details.
        try
        {
            Process process = Runtime.getRuntime().exec("/bin/sh -c umask");
            BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
            int rc = process.waitFor();
            if (rc == 0)
            {
                String umask = br.readLine();

                int umaskBits = Integer.parseInt(umask, 8);
                int permBits = 0777 & ~umaskBits;
                String perms = Integer.toString(permBits, 8);

                logger.info("Setting dfs.datanode.data.dir.perm to " + perms);
                utility.getConfiguration().set("dfs.datanode.data.dir.perm", perms);
            }
            else
            {
                logger.warn("Failed running umask command in a shell, nonzero return value");
            }
        }
        catch (Exception e)
        {
            // ignore errors, we might not be running on POSIX, or "sh" might
            // not be on the path
            logger.warn("Couldn't get umask", e);
        }
        if (!checkIfServerRunning())
        {
            hTablePool = new HTablePool(conf, 1);
            try
            {
                zkCluster = new MiniZooKeeperCluster(conf);
                zkCluster.setDefaultClientPort(2181);
                zkCluster.setTickTime(18000);
                zkDir = new File(utility.getClusterTestDir().toString());
                zkCluster.startup(zkDir);
                utility.setZkCluster(zkCluster);
                utility.startMiniCluster();
                utility.getHBaseCluster().startMaster();
            }
            catch (Exception e)
            {
                e.printStackTrace();
                logger.error(e.getMessage());
                throw new RuntimeException(e);
            }
        }
    }
我得到的例外如下

2013-09-10 15:26:26 INFO  ClientCnxn:849 - Socket connection established to localhost/127.0.0.1:2181, initiating session
2013-09-10 15:26:26 INFO  ZooKeeperServer:839 - Client attempting to establish new session at /127.0.0.1:45934
2013-09-10 15:26:26 INFO  ZooKeeperServer:595 - Established session 0x141074cd6150002 with negotiated timeout 180000 for client /127.0.0.1:45934
2013-09-10 15:26:26 INFO  ClientCnxn:1207 - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x141074cd6150002, negotiated timeout = 180000
2013-09-10 15:26:26 INFO  HBaseRPC:289 - Server at localhost/127.0.0.1:42926 could not be reached after 1 tries, giving up.
2013-09-10 15:26:26 WARN  AssignmentManager:1714 - Failed assignment of -ROOT-,,0.70236052 to localhost,42926,1378806982623, trying to assign elsewhere instead; retry=0
org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface to localhost/127.0.0.1:42926 after attempts=1
    at org.apache.hadoop.hbase.ipc.HBaseRPC.handleConnectionException(HBaseRPC.java:291)
    at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:259)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1305)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1261)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1248)
    at org.apache.hadoop.hbase.master.ServerManager.getServerConnection(ServerManager.java:550)
    at org.apache.hadoop.hbase.master.ServerManager.sendRegionOpen(ServerManager.java:483)
    at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1664)
    at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1387)
    at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1362)
    at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1357)
    at org.apache.hadoop.hbase.master.AssignmentManager.assignRoot(AssignmentManager.java:2236)
    at org.apache.hadoop.hbase.master.HMaster.assignRootAndMeta(HMaster.java:654)
    at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:551)
    at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:362)
    at java.lang.Thread.run(Thread.java:722)
Caused by: java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:692)
    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:207)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:525)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:489)
    at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupConnection(HBaseClient.java:416)
    at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:462)
    at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:1150)
    at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:1000)
    at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150)
    at com.sun.proxy.$Proxy20.getProtocolVersion(Unknown Source)
    at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:183)
    at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:335)
    at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:312)
    at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:364)
    at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:236)
    ... 14 more
2013-09-10 15:26:26 WARN  AssignmentManager:1736 - Unable to find a viable location to assign region -ROOT-,,0.70236052
2013-09-10 15:27:24 INFO  audit:5677 - allowed=true ugi=aniket (auth:SIMPLE)    ip=/127.0.0.1   cmd=listStatus  src=/user/aniket/hbase/.oldlogs dst=null    perm=null
2013-09-10 15:27:24 INFO  audit:5677 - allowed=true ugi=aniket (auth:SIMPLE)    ip=/127.0.0.1   cmd=listStatus  src=/user/aniket/hbase/.archive dst=null    perm=null
2013-09-10 15:28:24 INFO  audit:5677 - allowed=true ugi=aniket (auth:SIMPLE)    ip=/127.0.0.1   cmd=listStatus  src=/user/aniket/hbase/.archive dst=null    perm=null
2013-09-10 15:28:24 INFO  audit:5677 - allowed=true ugi=aniket (auth:SIMPLE)    ip=/127.0.0.1   cmd=listStatus  src=/user/aniket/hbase/.oldlogs dst=null    perm=null
2013-09-10 15:29:24 INFO  audit:5677 - allowed=true ugi=aniket (auth:SIMPLE)    ip=/127.0.0.1   cmd=listStatus  src=/user/aniket/hbase/.oldlogs dst=null    perm=null
2013-09-10 15:29:24 INFO  audit:5677 - allowed=true ugi=aniket (auth:SIMPLE)    ip=/127.0.0.1   cmd=listStatus  src=/user/aniket/hbase/.archive dst=null    perm=null
2013-09-10 15:29:42 ERROR MiniHBaseCluster:201 - Error starting cluster
java.lang.RuntimeException: Master not initialized after 200 seconds
    at org.apache.hadoop.hbase.util.JVMClusterUtil.startup(JVMClusterUtil.java:206)
    at org.apache.hadoop.hbase.LocalHBaseCluster.startup(LocalHBaseCluster.java:420)
    at org.apache.hadoop.hbase.MiniHBaseCluster.init(MiniHBaseCluster.java:196)
    at org.apache.hadoop.hbase.MiniHBaseCluster.<init>(MiniHBaseCluster.java:76)
    at org.apache.hadoop.hbase.HBaseTestingUtility.startMiniHBaseCluster(HBaseTestingUtility.java:635)
    at org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:609)
    at org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:557)
    at org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:526)
    at HBaseTesting.startCluster(HBaseTesting.java:131)
    at HBaseTesting.main(HBaseTesting.java:62)
2013-09-10 15:29:42 INFO  HMaster:1635 - Cluster shutdown requested
2013-09-10 15:29:42 INFO  HRegionServer:1666 - STOPPED: Shutdown requested
2013-09-10 15:29:42 INFO  HBaseServer:1651 - Stopping server on 42926
2013-09-10 15:26:26信息客户端CNXN:849-已建立到本地主机的套接字连接/127.0.0.1:2181,正在启动会话
2013-09-10 15:26:26信息ZookePerserver:839-客户端试图在/127.0.0.1:45934建立新会话
2013-09-10 15:26:26信息ZookePerserver:595-已建立会话0x141074cd6150002,客户端协商超时180000/127.0.0.1:45934
2013-09-10 15:26:26信息客户端CNXN:1207-在服务器localhost/127.0.0.1:2181上完成会话建立,会话ID=0x141074cd6150002,协商超时=180000
2013-09-10 15:26:26信息HBaseRPC:289-本地主机上的服务器/127.0.0.1:42926在尝试1次后无法访问,放弃。
2013-09-10 15:26:26警告分配管理器:1714-将-ROOT-、0.70236052分配到本地主机429261378806982623失败,尝试改为分配到其他位置;重试=0
org.apache.hadoop.hbase.client.retrieseHaustedException:在尝试后将代理接口org.apache.hadoop.hbase.ipc.HRegionInterface设置为localhost/127.0.0.1:42926失败=1
位于org.apache.hadoop.hbase.ipc.HBaseRPC.handleConnectionException(HBaseRPC.java:291)
位于org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:259)
位于org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1305)
位于org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1261)
位于org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1248)
位于org.apache.hadoop.hbase.master.ServerManager.getServerConnection(ServerManager.java:550)
位于org.apache.hadoop.hbase.master.ServerManager.sendRegionOpen(ServerManager.java:483)
位于org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1664)
位于org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1387)
位于org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1362)
位于org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1357)
位于org.apache.hadoop.hbase.master.AssignmentManager.assignRoot(AssignmentManager.java:2236)
位于org.apache.hadoop.hbase.master.HMaster.assignRootAndMeta(HMaster.java:654)
位于org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:551)
位于org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:362)
运行(Thread.java:722)
原因:java.net.ConnectException:连接被拒绝
在sun.nio.ch.socketchannel.checkConnect(本机方法)
位于sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:692)
位于org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:207)
位于org.apache.hadoop.net.NetUtils.connect(NetUtils.java:525)
位于org.apache.hadoop.net.NetUtils.connect(NetUtils.java:489)
位于org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupConnection(HBaseClient.java:416)
位于org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:462)
位于org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:1150)
位于org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:1000)
位于org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150)
位于com.sun.proxy.$Proxy20.getProtocolVersion(未知源)
在org.apache.hadoop.hbase.ipc.writeablerpcengine.getProxy上(writeablerpcengine.java:183)
位于org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:335)
位于org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:312)
位于org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:364)
位于org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:236)
... 14多
2013-09-10 15:26:26警告分配经理:1736-找不到可分配区域的可行位置-根-,0.70236052
2013-09-10 15:27:24信息审核:5677-allowed=true ugi=aniket(auth:SIMPLE)ip=/127.0.0.1 cmd=listStatus src=/user/aniket/hbase/.oldlogs dst=null perm=null
2013-09-10 15:27:24信息审核:5677-allowed=true ugi=aniket(auth:SIMPLE)ip=/127.0.0.1 cmd=listStatus src=/user/aniket/hbase/.archive dst=null perm=null
2013-09-10 15:28:24信息审核:5677-allowed=true ugi=aniket(auth:SIMPLE)ip=/127.0.0.1 cmd=listStatus src=/user/aniket/hbase/.archive dst=null perm=null
2013-09-10 15:28:24信息审核:5677-allowed=true ugi=aniket(auth:SIMPLE)ip=/127.0.0.1 cmd=listStatus src=/user/aniket/hbase/.oldlogs dst=null perm=null
2013-09-10 15:29:24信息审核:5677-allowed=true ugi=aniket(auth:SIMPLE)ip=/127.0.0.1 cmd=listStatus src=/user/aniket/hbase/.oldlogs dst=null perm=null
2013-09-10 15:29:24信息审核:5677-allowed=true ugi=aniket(auth:SIMPLE)ip=/127.0.0.1 cmd=listStatus src=/user/aniket/hbase/.archive dst=null perm=null
2013-09-10 15:29:42错误MiniHBaseCluster:201-启动群集时出错
java.lang.RuntimeException:主机在200秒后未初始化
位于org.apache.hadoop.hbase.util.JVMClusterUtil.startup(JVMClusterUtil.java:206)
位于org.apache.hadoop.hbase.LocalHBaseCluster.startup(LocalHBaseCluster.java:420)
位于org.apache.hadoop.hbase.MiniHBaseCluster.init(MiniHBaseCluster.java:196)
位于org.apache.hadoop.hbase.MiniHBaseCluster。(MiniHBaseCluster.java:76)
位于org.apache.hadoop.hbase.HBaseTestingUtility.startMiniHBaseCluster(HBaseTestingUtility.java:635)
位于org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:609)
位于org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:557)
在org.ap
127.0.0.1       localhost
127.0.1.1       myhostname
127.0.0.1       localhost
127.0.0.1       myhostname
compile group: 'com.google.guava', name: 'guava', version: '14.0'