在CDH5.14上离线安装Spark2.3

 在先前装的CDH5.14集群中,默认安装的spark是1.6.0版本。我们现在可以现有的集群中再装spark2.x版本,能和spark1.6版本并存。

当前CDH支持的Spark2.X最新版本是Spark2.3.0,目前Apache Spark最近版本是2.3.1,即CDH的版本更新是慢半拍的,但基本上不影响使用。

下面是在CDH中安装Spark2.3的步骤:

这是官方给出安装和升级方法说明:

https://www.cloudera.com/documentation/spark2/latest/topics/spark2_installing.html

 

一. 安装准备

1. 下载所需的安装包

http://archive.cloudera.com/spark2/csd/

SPARK2_ON_YARN-2.3.0.cloudera3.jar

 

http://archive.cloudera.com/spark2/parcels/2.3.0.cloudera3/

SPARK2-2.3.0.cloudera3-1.cdh5.13.3.p0.458809-el6.parcel

SPARK2-2.3.0.cloudera3-1.cdh5.13.3.p0.458809-el6.parcel.sha1

manifest.json

 

说明:要选择相对应的系统、CDH版本

我的系统是CentOS6.7所以选择了el6,都选择cloudera3相应的parcel包

 

2. Spark2.3安装需求

● CDH Versions

● Cloudera Manager Versions

● JDK1.8+

● Scala 2.11, Python 2.7 or higher, Python 3.4 or higher

 

二、安装步骤

1. 上传CSD包到CM节点的/opt/cloudera/csd目录

# chown cloudera-scm:cloudera-scm SPARK2_ON_YARN-2.3.0.cloudera3.jar

 

2. 上传parcel的3个包到CM的/opt/cloudera/parcel-repo目录下

[root@hadoop0 parcel-repo]# ls

SPARK2-2.3.0.cloudera3-1.cdh5.13.3.p0.458809-el6.parcel

SPARK2-2.3.0.cloudera3-1.cdh5.13.3.p0.458809-el6.parcel.sha

manifest.json

 

如之前有manifest.json文件,先把之前的更名后再上传

 

3. 安装JDK1.8

安装Spark2.X必需要安装JDK1.8以上版本,因我们在安装CDH5.14时默认选择安装的是JDK1.7.0_67版本,所以要把JDK进行版本升级。否则在后面在安装spark2时会报错:

Java version 1.8 is required for Spark 2.3.

具体安装过程和报错解决在后面详细介绍。

 

4. 重启CM和集群

# service cloudera-scm-agent restart

 

5. 通过CM安装Spark2

CM页面-> 主机 -> Parcel页面可以看到新的spark2的parcel包

2.3.0.cloudera3-1.cdh5.13.3.p0.458809

然后点击 下载-进行分配-激活

 

6. 在集中添加服务

点击-添加服务,选择Spark2服务

选择一组依赖关系

进行角色分配:

加密这时默认不做选择:

 

进行下步安装

安装完成

完成后启动Spark2服务。

可以看到正常启动

 

7. 测试Spark2-shell

登录Spark2的安节点(hadoop[1-8])

 

 

三、遇到的问题

在集群中安装jdk1.8,修改CDH的JAVA_HOME方法

 

下面解决安装Spark2时出现jdk版本低的问题,

问题:在添加Spark服务进出现下面的错误

 

日志:

hu Aug 30 14:34:08 CST 2018


using /usr/java/jdk1.7.0_67-cloudera as JAVA_HOME

using 5 as CDH_VERSION

using /var/run/cloudera-scm-agent/process/ccdeploy_spark2-conf_etcspark2conf.cloudera.spark2_on_yarn_3511819582822760396 as CONF_DIR

using spark2-conf as DIRECTORY_NAME

using /etc/spark2/conf.cloudera.spark2_on_yarn as DEST_PATH

using spark2-conf as ALT_NAME

using /etc/spark2/conf as ALT_LINK

using 51 as PRIORITY

using scripts/control.sh as RUNNER_PROGRAM

using client as RUNNER_ARGS

using /usr/sbin/update-alternatives as UPDATE_ALTERNATIVES

Deploying service client configs to /etc/spark2/conf.cloudera.spark2_on_yarn

invoking optional deploy script scripts/control.sh

/var/run/cloudera-scm-agent/process/ccdeploy_spark2-conf_etcspark2conf.cloudera.spark2_on_yarn_3511819582822760396/spark2-conf /var/run/cloudera-scm-agent/process/ccdeploy_spark2-conf_etcspark2conf.cloudera.spark2_on_yarn_3511819582822760396

Thu Aug 30 14:34:08 CST 2018: Running Spark2 CSD control script...

Thu Aug 30 14:34:08 CST 2018: Detected CDH_VERSION of [5]

Java version 1.8 is required for Spark 2.3.

 

解决:

  1. 在每个节点安装JDK1.8(可以与jdk1.7版本并存)

[root@hadoop1 ~]# rpm -ivh jdk-8u181-linux-x64.rpm

warning: jdk-8u181-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY

Preparing...                ########################################### [100%]

   1:jdk1.8                 ########################################### [100%]

 

  1. 在CM节点配置JAVA_HOME

[root@hadoop0 ~]# vi /etc/default/cloudera-scm-server

export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64

 

  1. 在CM中每个主机的上配置JAVA_HOME

在CM中的点 -> 主机 -> 选择一host 

在高级页添加新的JAVA_HOME目录

 

  1. 重新启动CM服务和集群

# service cloudera-scm-server restart

 

安装完成后,再重新添加Spark2服务正常。

 

参考:

https://blog.csdn.net/u010936936/article/details/73650417

https://blog.csdn.net/chenguangchun1993/article/details/78903463

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 1. 下载Spark2.3二进制包并解压缩到指定目录下。 2. 配置Spark2.3环境变量,包括SPARK_HOME、PATH等。 3. 在Hive的配置文件hive-site.xml中添加以下配置: <property> <name>hive.execution.engine</name> <value>spark</value> </property> <property> <name>spark.master</name> <value>yarn</value> </property> <property> <name>spark.submit.deployMode</name> <value>client</value> </property> <property> <name>spark.executor.memory</name> <value>2g</value> </property> <property> <name>spark.executor.instances</name> <value>2</value> </property> <property> <name>spark.yarn.queue</name> <value>default</value> </property> 4. 在CDH管理界面中,选择“服务”->“Hive”->“配置”,在“Hive服务高级配置分类”中添加以下配置: hive.spark.client.server.connect.timeout=600 hive.spark.client.connect.timeout=600 hive.spark.client.rpc.max.size=52428800 hive.spark.client.rpc.threads=8 hive.spark.client.rpc.maxRetries=3 hive.spark.client.rpc.retryInterval=3000 5. 重启Hive服务,使配置生效。 以上就是在CDH5上离线安装Spark2.3并配置Hive on Spark2的步骤。 ### 回答2: CDH5是Cloudera的企业级Hadoop分布式平台,它包含了Hadoop、Hive、Spark、HBase等大数据生态系统的核心组件。本文将介绍如何在CDH5上离线安装Spark2.3并配置Hive on Spark2。 一、下载Spark2.3压缩包 首先,在离线环境中下载Spark2.3的二进制压缩包。可以前往Spark的官方网站(https://spark.apache.org/downloads.html)下载,或者在其他可联网的环境中下载后通过U盘等方式复制到离线环境中。 二、解压Spark2.3压缩包 把下载好的Spark2.3压缩包复制到离线环境中,并解压到指定目录下(例如:/opt/software)。 tar -xzvf spark-2.3.0-bin-hadoop2.7.tgz -C /opt/software 三、配置Spark2.3 1. 配置spark-env.sh 在Spark2.3的解压目录中,会有一个conf目录,里面包含了Spark的一些配置文件。我们需要修改其中的spark-env.sh文件,添加以下内容: export HADOOP_CONF_DIR=/etc/hadoop/conf export SPARK_LOCAL_IP=127.0.0.1 export SPARK_MASTER_HOST=127.0.0.1 export SPARK_MASTER_PORT=7077 其中,HADOOP_CONF_DIR指定的是Hadoop的配置文件所在目录,SPARK_LOCAL_IP是Spark本地IP地址,SPARK_MASTER_HOST指定的是Spark的master节点地址,SPARK_MASTER_PORT指定的是Spark的master节点端口号。 2. 配置spark-defaults.conf 修改spark-defaults.conf文件,添加以下内容: spark.executor.extraClassPath /opt/software/spark-2.3.0-bin-hadoop2.7/jars/* spark.driver.extraClassPath /opt/software/spark-2.3.0-bin-hadoop2.7/jars/* 其中,extraClassPath指定的是Spark j开头的jar包所在的目录。这些jar包包含了Spark运行所需的所有依赖。 四、配置Hive on Spark2 在用Spark2.3运行Hive之前,需要先配置Hive on Spark2。此配置步骤需要在Hive安装之前完成。 1. 创建hive-site.xml文件 在Hive的conf目录下,创建hive-site.xml文件,并添加以下内容: <property> <name>hive.execution.engine</name> <value>spark</value> <description>选择Hive on Spark2作为执行引擎</description> </property> <property> <name>spark.master</name> <value>spark://127.0.0.1:7077</value> <description>指定Spark的master地址</description> </property> <property> <name>spark.submit.deployMode</name> <value>client</value> <description>指定Spark的deploy模式</description> </property> <property> <name>spark.executor.instances</name> <value>1</value> <description>指定每个任务的executor数量</description> </property> <property> <name>spark.driver.extraClassPath</name> <value>/opt/software/spark-2.3.0-bin-hadoop2.7/jars/*</value> <description>指定Spark的依赖jar包所在的目录</description> </property> 2. 修改hive-exec.jar 在Hive的lib目录下,找到hive-exec.jar包,将其解压,编辑hive-site.xml文件,添加如下内容: <property> <name>hive.execution.engine</name> <value>spark</value> <description>选择Hive on Spark2作为执行引擎</description> </property> <property> <name>hive.spark.client.server.connect.timeout</name> <value>600s</value> <description>指定连接Spark的超时时间</description> </property> 重新生成hive-exec.jar: jar -cf hive-exec.jar . 3. 启动SparkSpark的解压目录下,执行以下命令启动Spark: ./sbin/start-all.sh 启动成功后,可以通过以下命令查看Spark的Web UI: http://127.0.0.1:8080 四、启动Hive on Spark2 在完成了Spark和Hive的配置之后,就可以启动Hive on Spark2了。 1. 在Hive的bin目录下,执行以下命令启动Hive: ./hive 2. 运行Hive命令 可以执行以下Hive命令测试是否配置成功: hive> show databases; 如果一切正常,将看到当前数据仓库中的所有数据库名称。 以上就是在CDH5上离线安装Spark2.3并配置Hive on Spark2的步骤。 ### 回答3: CDH5是一套Hadoop发行版,其中包含了许多大数据组件。在CDH5上离线安装Spark2.3并配置Hive on Spark2需要进行以下步骤: 第一步,安装Java和Scala Java和Scala是Spark的预备条件。安装Java和Scala可以通过以下命令: $ sudo yum install java-1.8.0-openjdk $ sudo yum install scala 第二步,下载Spark 2.3 Spark最新的版本是2.3.0。从官方网站上下载Spark 2.3。下载后,将其解压到合适的目录中。例如,解压到/opt目录中: $ sudo tar xzf spark-2.3.0-bin-hadoop2.7.tgz -C /opt/ 第三步,配置Spark的环境变量 为了正确的运行Spark,需要设置环境变量。设置环境变量的方法如下: $ cd /opt $ sudo mv spark-2.3.0-bin-hadoop2.7 spark $ nano /etc/profile 将以下语句添加到文件末尾: export SPARK_HOME=/opt/spark export PATH=$PATH:$SPARK_HOME/bin 执行source命令,以便更改生效。 $ source /etc/profile 第四步,安装Hive on Spark2 要在Spark中使用Hive需要配置Hive on Spark2。安装Hive on Spark2可以执行以下命令: $ sudo yum install hive $ cd /opt/spark $ ./sbin/start-thriftserver.sh --master local --hiveconf hive.server2.thrift.port=10000 --hiveconf hive.server2.thrift.bind.host=localhost --hiveconf hive.server2.transport.mode=binary --hiveconf hive.server2.thrift.http.path=cliservice 第五步,使用Spark-shell 安装Spark和配置完Hive on Spark2,可以使用Spark-shell测试配置是否正确: $ /opt/spark/bin/spark-shell --master yarn --deploy-mode client 如果没有问题,便可以在Spark上使用Hive。 总结 通过以上步骤,在CDH5上离线安装Spark2.3并配置Hive on Spark2可以成功实现。这项工作的完成让您在现有的底层设施上建立一个强大的大数据处理和分析系统。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值