zoukankan      html  css  js  c++  java
  • Spark 读取Hadoop集群文件

    1. 原因:

      一般hadoop 集群是两个或多个NameNode ,  但是一个处于standby , 另一个active , 通过设置可以忽略不确定谁是active的情况

    2.

    import org.apache.spark.sql.SparkSession
    object Spark_HDFS {
      def main(args: Array[String]): Unit = {
    
        import org.apache.log4j.Logger
        import org.apache.log4j.Level
        Logger.getLogger("org").setLevel(Level.OFF)
        System.setProperty("spark.ui.showConsoleProgress","false")
        System.setProperty("HADOOP_USER_NAME", "abby")
        val ss = SparkSession
          .builder()
          .appName(" spark 3.0")
          .master("local")
          .getOrCreate()
    
        val sc = ss.sparkContext  //获取socket
        sc.hadoopConfiguration.set("fs.defaultFS", "hdfs://cluster")
        sc.hadoopConfiguration.set("dfs.nameservices", "cluster")
        sc.hadoopConfiguration.set("dfs.ha.namenodes.cluster", "nn1,nn2")
        sc.hadoopConfiguration.set("dfs.namenode.rpc-address.cluster.nn1", "node1:8020")
        sc.hadoopConfiguration.set("dfs.namenode.rpc-address.cluster.nn2", "node2:8020")
        sc.hadoopConfiguration.set("dfs.client.failover.proxy.provider.cluster", "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider")
    
    
        val data = sc.textFile("hdfs://cluster/46062.txt",3)
       
      }
    
    }
    

      文中红色部分就是设置两个NameNode所需要改的 .具体cluster , 可以自己去看hadoop的配置里面所写

  • 相关阅读:
    Logwatch的配置与使用
    Redirect HTTP to HTTPS on Tomcat
    RedHat7搭建yum源服务器
    卸载RedHat7自带的yum,安装并使用网易163源
    15个Linux Yum命令实例--安装/卸载/更新
    GitHub详细教程
    RedHat7 Git 安装使用
    RedHat7 SELinux
    RedHat7配置IdM server
    IIS Shared Configuration
  • 原文地址:https://www.cnblogs.com/alpha-cat/p/13190024.html
Copyright © 2011-2022 走看看