ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

大数据三大组件 (Hadoop, Hive, Spark) 之 Spark Local 模式安装配置

大数据三大组件 (Hadoop, Hive, Spark) 之 Spark Local 模式安装配置 前言本文是大数据三大组件安装系列的第三篇最终篇将介绍如何在已搭建好 Hadoop Hive 的基础上安装Spark 2.4.0并与 Hive 数仓集成。安装完成后可以通过 Spark SQL 直接查询 Hive 中的数据并支持通过 JDBC 远程连接。本系列所需安装包百度网盘下载提取码me15前置条件请确保已完成 Hadoop 伪分布式 和 Hive 远程模式 的安装。⚠️关于 Spark 版本本次使用的 Spark 是经过编译的版本已内置 Hive 支持可以直接操作 Hive 数仓。官方默认下载的 Spark 可能不包含 Hive 依赖需要自行编译或下载对应版本。环境与版本信息组件版本说明Spark2.4.0含 Hive 支持本次安装Hadoop3.1.3已安装第一篇Hive3.1.2已安装第二篇JDK1.8已安装第一篇一、验证 Spark 是否支持 Hive在安装之前先确认你使用的 Spark 版本是否已内置 Hive 支持。进入spark-shell命令窗口执行以下导入语句import org.apache.spark.sql.hive.HiveContext如果出现错误如下图说明当前 Spark 版本未编译 Hive 支持需要更换为包含 Hive 的编译版本如果导入成功如下图说明可以正常使用二、安装 Spark2.1 解压并配置目录将 Spark 安装包解压到/usr/local目录并重命名、设置权限# 进入下载目录 cd /home/hadoop/下载/ # 解压到 /usr/local需要输入当前用户的登录密码 sudo tar -zxf ~/下载/spark-2.1.0-bin-h27hive.tgz -C /usr/local # 重命名为 sparkwithhive cd /usr/local sudo mv ./spark-2.1.0-bin-h27hive ./sparkwithhive # 修改目录权限 sudo chown -R hadoop:hadoop ./sparkwithhive2.2 配置 spark-env.sh从模板文件创建配置文件并编辑cd /usr/local/sparkwithhive/ cp ./conf/spark-env.sh.template ./conf/spark-env.sh vim ./conf/spark-env.sh在文件中添加 JDK 和 Hadoop 的路径配置根据你的实际安装路径调整export JAVA_HOME/usr/lib/jvm/jdk1.8.0_162 export HADOOP_HOME/usr/local/hadoop export HADOOP_CONF_DIR/usr/local/hadoop/etc/hadoop2.3 验证 Spark 安装运行 Spark 内置的 Pi 计算示例验证安装是否成功cd /usr/local/sparkwithhive bin/run-example SparkPi 21 | grep Pi is如果输出类似Pi is roughly 3.14...的结果说明 Spark 安装成功三、Spark 与 Hive 集成验证进入spark-shell测试是否能正确访问 Hive 中的数据库cd /usr/local/sparkwithhive bin/spark-shell在 Spark Shell 中执行spark.sql(show databases).show()如果能正确列出 Hive 中的数据库说明 Spark 与 Hive 集成成功四、配置 Spark SQL 远程连接如果希望通过 JDBC 客户端如 DataGrip、DBeaver、Navicat 等远程连接 Spark SQL需要启动 Spark Thrift Server。4.1 启动服务需要按照以下顺序依次启动# 第一步启动 Hadoop HDFS cd /usr/local/hadoop ./sbin/start-dfs.sh # 第二步启动 Hive Metastore 服务 hive --service metastore # 第三步启动 Spark Thrift Server替代 HiveServer2 cd /usr/local/sparkwithhive sbin/start-thriftserver.sh4.2 验证端口确认 Thrift Server 已在 10000 端口监听netstat -ntulp | grep 100004.3 Beeline 测试连接使用 Spark 自带的 Beeline 客户端测试连接用户名和密码可留空直接回车cd /usr/local/sparkwithhive/bin ./beeline !connect jdbc:hive2://localhost:100004.4 配置 Hive 允许 Spark Thrift Server 连接如果遇到连接权限问题需要在 Hadoop 的core-site.xml中添加代理用户配置然后重启 Hadoop 服务4.5 使用 JDBC 工具连接在 DataGrip 等工具中创建 Hive 类型的数据源连接信息如下配置项值JDBC URLjdbc:hive2://localhost:10000用户名留空或填写系统用户名密码留空驱动Hive JDBC Driver总结至此大数据三大组件 (Hadoop, Hive, Spark) 之 Spark Local 模式配置安装全部完成整个系列的核心要点回顾篇目组件核心内容链接第一篇Hadoop 3.1.3JDK 安装、HDFS 伪分布式配置查看第二篇Hive 3.1.2MySQL 元数据库、HiveServer2 远程连接查看第三篇Spark 2.4.0Spark 与 Hive 集成、Thrift Server 远程连接本文提示如果希望让他人通过外网访问你搭建的大数据平台可以通过内网穿透将相关端口如 9870、10000 等映射出去具体方法可参考 利用阿里云搭建内网穿透服务。如果在搭建过程中遇到任何问题欢迎在评论区留言交流
返回列表