Hadoop 从本地计算机上安装了Spark的EMR群集上运行的HBase读取数据

Hadoop 从本地计算机上安装了Spark的EMR群集上运行的HBase读取数据,hadoop,apache-spark,hbase,apache-zookeeper,emr,Hadoop,Apache Spark,Hbase,Apache Zookeeper,Emr,我在EMR集群上运行HBase,我正试图使用Spark从本地计算机访问它上的表 它似乎连接到了zookeeper,但甚至不知道我查找的表是否存在 这是我的代码、hbase-site.xml文件和收到的消息 package org.apache.spark.examples import org.apache.hadoop.fs.Path import org.apache.hadoop.hbase.HBaseConfiguration import org.apache

我在EMR集群上运行HBase,我正试图使用Spark从本地计算机访问它上的表

它似乎连接到了zookeeper,但甚至不知道我查找的表是否存在

这是我的代码、hbase-site.xml文件和收到的消息

package org.apache.spark.examples

    import org.apache.hadoop.fs.Path
    import org.apache.hadoop.hbase.HBaseConfiguration
    import org.apache.hadoop.hbase.client.HBaseAdmin
    import org.apache.hadoop.hbase.mapreduce.TableInputFormat
    import org.apache.spark._



    object HBaseTestEMR {
      def main(args: Array[String]) {
        val sparkConf = new SparkConf().setAppName("HBaseTest").setMaster("local[4]")
        val sc = new SparkContext(sparkConf)

        val conf = HBaseConfiguration.create()

        val table_name="empl"
        conf.addResource(new Path("/home/spark/development/hbase/conf/hbase-site.xml"))
        conf.set(TableInputFormat.INPUT_TABLE, table_name)

        println("-------------1")
        val admin = new HBaseAdmin(conf)
        //println(admin.listTables())
        println("-------------2")
        if (admin.isTableAvailable(table_name))  println("la table existe")
        else println("la table n'existe pas")
        println("-------------3")


        sc.stop()

      }
    }
hbase-site.xml

<configuration>
  <property><name>fs.hdfs.impl</name><value>emr.hbase.fs.BlockableFileSystem</value></property>
  <property><name>hbase.regionserver.handler.count</name><value>100</value></property>
  <property><name>hbase.zookeeper.quorum</name><value>ec2-52-26-***-***.us-west-2.compute.amazonaws.com</value></property>
  <property><name>hbase.rootdir</name><value>hdfs://10.0.0.25:9000/hbase</value></property>
  <property><name>hbase.cluster.distributed</name><value>true</value></property>
  <property><name>hbase.tmp.dir</name><value>/mnt/var/lib/hbase/tmp-data</value></property>
</configuration>

fs.hdfs.implemr.hbase.fs.BlockableFileSystem
hbase.regionserver.handler.count100
hbase.zookeeper.quorumec2-52-26-***-***.us-west-2.compute.amazonaws.com
hbase.rootdirhdfs://10.0.0.25:9000/hbase
hbase.cluster.distributedrue
hbase.tmp.dir/mnt/var/lib/hbase/tmp-data
我得到的信息是什么

15/06/10 12:00:28 INFO ZooKeeper: Client environment:java.io.tmpdir=/tmp
15/06/10 12:00:28 INFO ZooKeeper: Client environment:java.compiler=<NA>
15/06/10 12:00:28 INFO ZooKeeper: Client environment:os.name=Linux
15/06/10 12:00:28 INFO ZooKeeper: Client environment:os.arch=amd64
15/06/10 12:00:28 INFO ZooKeeper: Client environment:os.version=3.2.0-67-generic
15/06/10 12:00:28 INFO ZooKeeper: Client environment:user.name=spark
15/06/10 12:00:28 INFO ZooKeeper: Client environment:user.home=/home/spark
15/06/10 12:00:28 INFO ZooKeeper: Client environment:user.dir=/home/spark/projetWordCount
15/06/10 12:00:28 INFO ZooKeeper: Initiating client connection, connectString=ec2-52-26-***-***.us-west-2.compute.amazonaws.com:2181 sessionTimeout=90000 watcher=hconnection-0x7ecf3c090x0, quorum=ec2-52-26-***-***.us-west-2.compute.amazonaws.com:2181, baseZNode=/hbase
15/06/10 12:00:28 INFO ClientCnxn: Opening socket connection to server ec2-52-26-***-***.us-west-2.compute.amazonaws.com/52.26.***.***:2181. Will not attempt to authenticate using SASL (unknown error)
15/06/10 12:00:28 INFO ClientCnxn: Socket connection established to ec2-52-26-***-***.us-west-2.compute.amazonaws.com/52.26.***.***:2181, initiating session
15/06/10 12:00:28 INFO ClientCnxn: Session establishment complete on server ec2-52-26-***-***.us-west-2.compute.amazonaws.com/52.26.***.***:2181, sessionid = 0x14ddc7d70ed0023, negotiated timeout = 90000
-------------2
15/06/10 12:00:28信息ZooKeeper:客户端环境:java.io.tmpdir=/tmp
15/06/10 12:00:28信息ZooKeeper:客户端环境:java.compiler=
15/06/10 12:00:28信息ZooKeeper:客户端环境:os.name=Linux
2010年6月15日12:00:28信息ZooKeeper:客户端环境:os.arch=amd64
2010年6月15日12:00:28信息ZooKeeper:客户端环境:os.version=3.2.0-67-generic
15/06/10 12:00:28信息ZooKeeper:客户端环境:user.name=spark
15/06/10 12:00:28信息ZooKeeper:客户端环境:user.home=/home/spark
15/06/10 12:00:28信息ZooKeeper:客户端环境:user.dir=/home/spark/projetWordCount
15/06/10 12:00:28信息ZooKeeper:正在启动客户端连接,connectString=ec2-52-26-***-***.us-west-2.compute.amazonaws.com:2181 sessionTimeout=90000 watcher=hconnection-0x7ecf3c090x0,quorum=ec2-52-26-***-***.us-west-2.compute.amazonaws.com:2181,baseZNode=/hbase
2010年6月15日12:00:28信息客户端CNXN:打开到服务器ec2-52-26-***-***-***.us-west-2.compute.amazonaws.com/52.26的套接字连接。***:2181。不会尝试使用SASL进行身份验证(未知错误)
2010年6月15日12:00:28信息客户端CNXN:已建立到ec2-52-26-***-***-***.us-west-2.compute.amazonaws.com/52.26的套接字连接。***:2181,正在启动会话
15/06/10 12:00:28信息客户端CNXN:在服务器ec2-52-26-***-***-***.us-west-2.compute.amazonaws.com/52.26上完成会话建立。******:2181,会话ID=0x14ddc7d70ed0023,协商超时=90000
-------------2
然后什么也没发生


那么,有可能做我想做的吗?我的配置哪一部分是错误的

在主机文件上使用了公共IP而不是公共DNS,它在安装了hbase的ec2实例上运行良好,但在Emr clusterLate响应上不起作用,但我想知道您是否在Emr中发现了这一点?我在尝试让Spark连接到位于同一EMR群集上的HBase时遇到了相同的问题。实际上,我正在使用Phoenix与Spark的HBase对话,但还没有找到连接的方法。我遇到了类似的问题,在EC2上从Spark访问HBase(但不使用EMR)。在同一台机器上,从Spark外部运行相同的HBase代码可以正常工作。希望听到任何解决方案。。。