本文作者:KTV免费预定

cdh安装spark服务(spark的安装与使用)

KTV免费预定 2022年11月20日 12:58:34 1

本文目录一览:

如何在CDH5上运行Spark应用

创建 maven 工程 使用下面命令创建一个普通的 maven 工程: bash $ mvn archetype:generate -DgroupId=com.cloudera.sparkwordcount -DartifactId=sparkwordcount -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 将...

spark thrift server 与 网易 kyuubi thrift server

thrift server可以实现通过jdbc, beeline等工具,实现连接到spark集群,并提交sql查询的机制。

默认情况下,cdh安装的spark没有包含thrift server模块,因此我们需要重新编译spark。

另外,为了不影响cdh自带的spark,而且spark目前都是基于yarn运行的,本身也没有什么独立的服务部署(除了history sever)。

所以,在一个集群中,可以部署安装多个版本的spark。

我们使用源码编译的spark 2.4.0(其中hive的版本是1.2.1)

cdh集成的spark版本和Hive版本如下:

使用jdk1.8

修改spark提供的mvn,使用自行安装的maven 3.8.1

使用make-distribution.sh可以帮助与我们编译之后打包成tgz文件

修改pom.xml文件的配置如下。

最后,执行编译命令如下:

这样打出的包,就含有thrift server的jar包了。

最终打包文件,根目录下。

之后就是解压到其他目录下后即可。

将hive-site.xml的文件连接过来,这样spark就可以读取hive的表了。

为了确保spark提交到yarn上运行,需要配置

cp spark-defaults.conf.template spar-defaults.conf

另外,可以在spark-env.sh中设置环境变量。

HADOOP_CONF_DIR

环境变量,也可以在/etc/profile中设置

启动日志可以查看,注意下端口占用问题,如下。

启动时候,使用beeline工具连接上,主要这里不用使用cdh默认安装hive提供的beeline工具,应为版本太高。

使用编译后spark生成beeline工具

参考beeline使用教程。

kyuubi是基于thrift sever二次开发,在系能和安全上优于thrift server。

鉴于目前hive的版本是2.1,而最新的kyuubi的hive是2.3,所以采用前天版本的kyuubi,采用0.7版本,保证hive的版本小于当前集群中的hive版本。

使用build目录下的dist脚本进行编译和打包。

编译成功后,会在更目录下出现tar.gz的压缩文件,如上图。

之后解压到目录下。

配置bin/kyuubi-env.sh脚本,设置spark路径

执行bin/start-kyuubi.sh命令即可。

访问的方式同样采用beelin,注意使用上面章节的beeline工具。

访问后,可以通过beeline访问到hive的表(在spark中已经配置了hive-site.xml)

!connect jdbc: hive2://xxxx:10009 即可。

cdh 安装的spark服务怎么用

Shark为了实现Hive兼容,在HQL方面重用了Hive中HQL的解析、逻辑执行计划翻译、执行计划优化等逻辑,可以近似认为仅将物理执行计划从MR作业替换成了Spark作业(辅以内存列式存储等各种和Hive关系不大的优化);

同时还依赖Hive Metastore和Hive SerDe(用于兼容现有的各种Hive存储格式)。这一策略导致了两个问题,

第一是执行计划优化完全依赖于Hive,不方便添加新的优化策略;

二是因为MR是进程级并行,写代码的时候不是很注意线程安全问题,导致Shark不得不使用另外一套独立维护的打了补丁的Hive源码分支(至于为何相关修改没有合并到Hive主线,我也不太清楚)。

Spark SQL解决了这两个问题。第一,Spark SQL在Hive兼容层面仅依赖HQL parser、Hive Metastore和Hive SerDe。也就是说,从HQL被解析成抽象语法树(AST)起,就全部由Spark SQL接管了。执行计划生成和优化都由Catalyst负责。借助Scala的模式匹配等函数式语言特性,利用Catalyst开发执行计划优化策略比Hive要简洁得多。

CDH的spark主机显示不适用状态是怎么回事

spark gateway 是spark网关,spark通过该网关连接CHD并接受CHD管理。。。。。spark只是注册到了CDH上面,CDH只是监测显示spark状态,与spark运行正不正常、报不报警没有关系。因为CHD就是实现了一个观察者模式,接受集群软件的注册,管理集群。你这是不适用也不报警,我猜测是配置没有配好(如ip地址等)

如何在CDH 5上运行Spark应用程序

创建 maven 工程

使用下面命令创建一个普通的 maven 工程:

bash

$ mvn archetype:generate -DgroupId=com.cloudera.sparkwordcount -DartifactId=sparkwordcount -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

将 sparkwordcount 目录重命名为simplesparkapp,然后,在 simplesparkapp 目录下添加 scala 源文件目录:

bash

$ mkdir -p sparkwordcount/src/main/scala/com/cloudera/sparkwordcount

修改 pom.xml 添加 scala 和 spark 依赖:

xml

dependencies

dependency

groupIdorg.scala-lang/groupId

artifactIdscala-library/artifactId

version2.10.4/version

/dependency

dependency

groupIdorg.apache.spark/groupId

artifactIdspark-core_2.10/artifactId

version1.2.0-cdh5.3.0/version

/dependency

/dependencies

阅读
分享