我刚刚安装了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相同的代码可以正常运行。
暂无答案!
目前还没有任何答案,快来回答吧!