从本地spark中的mapr访问hive、hdfs

a2mppw5e  于 2021-06-02  发布在  Hadoop
关注(0)|答案(0)|浏览(237)

我刚刚安装了mapr5.1沙盒虚拟机运行在virtualbox,在桥模式。我试图做的是从本地spark访问hive和hdfs(与我在hdp2.4沙盒上做的操作相同),但没有成功。
我已经在我的机器上安装了一个mapr客户机(使用hadoop fs-ls命令,我可以访问hdfs url)。我还有一个java/scala项目,其中有一个主应用程序,我试图运行它,但出现以下错误:
本地异常失败:java.io.ioexception:现有连接被远程主机强制关闭;主机详细信息:本地主机为:“desktop-j9dmaug/192.168.1.133”;目标主机是:“maprdemo”:7222
以下是有关该项目的详细信息:
pom.xml文件

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <encoding>UTF-8</encoding>
    <scala.tools.version>2.10</scala.tools.version>
    <scala.version>2.10.4</scala.version>
    <spark.version>1.4.1</spark.version>
</properties>
 <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>${scala.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_${scala.tools.version}</artifactId>
        <version>${spark.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_${scala.tools.version}</artifactId>
        <version>${spark.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-hive_${scala.tools.version}</artifactId>
        <version>${spark.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-hdfs</artifactId>
        <version>2.7.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>2.7.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-core</artifactId>
        <version>1.2.1</version>
    </dependency>

主要类别:

object MainApp {

  def main(args: Array[String]) {
    val conf = new SparkConf()
      .setAppName("SampleSparkApp")
      .setMaster("local[*]")

    val sc = new SparkContext(conf)
    val rdd = sc.textFile("/user/mapr/aas/sample.txt")
    println(s"count is: ${rdd.count()}")
    rdd.foreach(println(_))

    val sqlContext = new HiveContext(sc)

    val df = sqlContext.sql("select * from default.agg_w_cause_f_cdr_datamart_fac")
    df.show(10)
    sc.stop()
  }
}

在类路径上,作为资源,我还有core-site.xml和hive-site.xml
core-site.xml文件

<configuration>
<property>
    <!--<name>fs.defaultFS</name>-->
    <name>fs.defaultFS</name>
    <value>hdfs://maprdemo:7222</value>
</property>
<property>
    <name>fs.hdfs.impl</name>
    <value>org.apache.hadoop.hdfs.DistributedFileSystem</value>
</property>

配置单元站点.xml

<configuration>
<property>
    <name>hive.metastore.uris</name>
    <value>thrift://maprdemo:9083</value>
</property>

如果你需要任何其他细节,请告诉我。
值得一提的是,在mapr机器上使用spark submit命令提交与jar相同的代码可以正常运行。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题