ye心未泯 2021-11-24 18:59 采纳率: 0%
浏览 47

Idea中的问题,与Spark有关。急需解决,有偿

问题遇到的现象和发生背景

开启了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)

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • search-lemon 2021-11-25 10:21
    关注

    没有配置hdfs的nameservice和rpc_address的映射,所以解析不了这个host,也就是没法儿解析成具体的ip地址。简单来说可以

    1. 把hdfs的core-site.xml文件放到resources下
    2. 配置dfs.nameservices和dfs.namenode.rpc-address之间的映射关系
    3. 直接用具体的ip去连hdfs
    评论

报告相同问题?

问题事件

  • 创建了问题 11月24日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器