问题遇到的现象和发生背景
开启了hadoop集群,zookeeper,hbase,然后再IDEA中运行如下代码
报错:
21/11/24 18:33:33 WARN RecoverableZooKeeper: Unable to create ZooKeeper Connection
java.net.UnknownHostException: hadoop102
问题相关代码
package cn.ay.SparkReadHbase
import org.apache.hadoop.hbase._
import org.apache.hadoop.conf.Configuration
import org.apache.spark.SparkContext
import org.apache.hadoop.hbase.client._
import org.apache.hadoop.hbase.mapreduce.TableInputFormat
import org.apache.hadoop.hbase.util.Bytes
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
import org.apache.spark.{SparkContext, SparkConf}
object SparkOperateHBase {
def main(args: Array[String]): Unit = {
val confspark=new SparkConf().setAppName("simple application").setMaster("local[*]")
val conf = HBaseConfiguration.create()
val sc = new SparkContext(confspark)
conf.set(TableInputFormat.INPUT_TABLE,"student")
val stuRDD = sc.newAPIHadoopRDD(conf,classOf[TableInputFormat],
classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
classOf[org.apache.hadoop.hbase.client.Result])
val count = stuRDD.count()
println("Students RDD Count:"+count)
stuRDD.foreach({
case (_,result)=>{//_表示ImmutableBytesWritable类型的键,result表示Result
val key=Bytes.toString(result.getRow)//获得行键
val name=Bytes.toString(result.getValue("info".getBytes,"name".getBytes))//获得info簇中的name列值
val gender=Bytes.toString(result.getValue("info".getBytes,"gender".getBytes))//获得info簇中的gender列值
val age=Bytes.toString(result.getValue("info".getBytes,"age".getBytes))//获得info簇中的age列值
println("Row key:"+key+" Name:"+name+" Gender:"+gender+" Age:"+age)
}
})
}
}
运行结果及报错内容
21/11/24 18:33:33 WARN RecoverableZooKeeper: Unable to create ZooKeeper Connection
java.net.UnknownHostException: hadoop102
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324)
at java.net.InetAddress.getAllByName0(InetAddress.java:1277)
at java.net.InetAddress.getAllByName(InetAddress.java:1193)
at java.net.InetAddress.getAllByName(InetAddress.java:1127)
at org.apache.zookeeper.client.StaticHostProvider.(StaticHostProvider.java:61)
at org.apache.zookeeper.ZooKeeper.(ZooKeeper.java:445)
at org.apache.zookeeper.ZooKeeper.(ZooKeeper.java:380)
at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.checkZk(RecoverableZooKeeper.java:141)
at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.(RecoverableZooKeeper.java:128)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.connect(ZKUtil.java:138)