IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 基于CentOS7的Hadoop3.2.0+Zookeeper3.5.9+Hive3.1.2+Spark2.3.0完全分布式HA的安装部署(4)Hive on Spark2.3.0安装部署 -> 正文阅读

[大数据]基于CentOS7的Hadoop3.2.0+Zookeeper3.5.9+Hive3.1.2+Spark2.3.0完全分布式HA的安装部署(4)Hive on Spark2.3.0安装部署

目录

准备工作

部署规划

Maven安装

下载地址

解压压缩包

配置阿里云镜像

?配置环境变量

spark源码编译

下载地址

解压

编译

配置hive on spark

spark配置

hive 配置

验证

参考文章


准备工作

  1. hadoop-3.2.0
  2. Scala2.11.8

部署规划

序号服务器IP服务器主机名安装软件启动进程
1192.168.21.131masterhadoop、zookeeper、hive-metastore、spark、hueQuorumPeerMain、ResourceManager、JournalNode、DFSZKFailoverController、NameNode
2192.168.21.132slave1hadoop、zookeeper、sparkQuorumPeerMain、JournalNode、DataNode、NodeManager
3192.168.21.133slave2hadoop、zookeeper、sparkQuorumPeerMain、JournalNode、DataNode、NodeManager
4192.168.21.134slave3hadoop、sparkDataNode、NodeManager
5192.168.21.135master2hadoop、hive-ClientResourceManager、DFSZKFailoverController、NameNode

Maven安装

在规划安装spark的master、slave1、slave2、slave3上安装maven

下载地址

https://archive.apache.org/dist/maven/maven-3/

解压压缩包

tar xzvf apache-maven-3.2.5-bin.tar.gz

将文件夹移动至?/opt?目录:

mv apache-maven-3.2.5 /opt/maven-3.2.5

配置阿里云镜像

vim maven3.2.5/conf/setting.xml
#添加以下配置

  <!-- mirrors
   | This is a list of mirrors to be used in downloading artifacts from remote repositories.
   |
   | It works like this: a POM may declare a repository to use in resolving certain artifacts.
   | However, this repository may have problems with heavy traffic at times, so people have mirrored
   | it to several places.
   |
   | That repository definition will have a unique id, so we can create a mirror reference for that
   | repository, to be used as an alternate download site. The mirror site will be the preferred
   | server for that repository.
   |-->
  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->

    <mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>

  </mirrors>

?配置环境变量

编辑?~/.bashrc,在最下方添加:

#maven
export MAVEN_HOME=/opt/maven-3.2.5
export PATH=$PATH:$MAVEN_HOME/bin
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
source ~/.bashrc

检查 Maven 是否成功安装:

mvn -version

spark源码编译

下载地址

https://archive.apache.org/dist/spark/spark-2.3.0/

解压

tar -zxvf  spark-2.3.0.tgz

编译

进入spark-2.3.0目录

cd spark-2.3.0

执行

./build/mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=3.2.0 -DskipTests clean package

进入spark-2.3.0/dev目录

cd dev/

执行

./make-distribution.sh --name 3.2.0-hive --tgz -Pyarn -Phadoop-2.7 -Dhadoop.version=3.2.0

这里的几个参数:
–name 3.2.0-without hive 是编译文件的名字参数
-Pyarn 是支持yarn
-Phadoop-2.7 是支持的hadoop版本,一开始使用的是3.2后来提示hadoop3.2不存在,只好改成2.7,编译成功
-Dhadoop.version=3.2.0 运行环境

编译完成后,生成安装包会出现在spark2.3.0目录下

配置hive on spark

spark配置

修改环境变量

vim ~/.bashrc
#spark
export SPARK_DIST_CLASSPATH=$HADOOP_HOME/bin/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
source ~/.bashrc

spark配置yarn模式

解压spark编译包后进入目录

spark-env.sh

cd conf/
cp spark-env.sh.template spark-env.sh
vim spark-env.sh
export HADOOP_HOME=/opt/hadoop-3.2.0
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_DIST_CLASSPATH=$HADOOP_HOME/bin/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

spark-defaults.conf

cp spark-defaults.conf.template spark-defaults.conf
vim spark-defaults.conf
spark.master                     yarn
hive.execution.engine            spark
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://ns:8020/spark/logs
spark.serializer                 org.apache.spark.serializer.KryoSerializer
spark.executor.memory            4g
spark.executor.cores             2
spark.driver.memory              4g
spark.driver.cores               2
spark.executor.extraJavaOptions  -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"
spark.yarn.jars                  hdfs://ns:8020/spark/jars
spark.executor.instances         8

hive 配置

拷贝 spark-defaults.conf到{hive-home}/conf目录下

拷贝spark/jars的三个包到{hive-home}/lib:

  • scala-library
  • spark-core
  • spark-network-common

将spark的jars目录中的jar文件传到hdfs对应目录下(对应spark中配置)

#创建hdfs目录
hadoop fs -mkdir -p /spark/logs
hadoop fs -mkdir -p /spark/jars
hdfs dfs -chmod -R 777 /spark/logs
hdfs dfs -chmod -R 777 /spark/jars
#上传/spark/jars文件夹到hdfs的/spark目录
hadoop fs -put /opt/spark-2.3.0/jars/ /spark/

配置hive-site.xml

<property>
    <name>yarn.resourcemanager.scheduler.class</name>
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>
<property>
    <name>spark.yarn.jars</name>
    <value>hdfs://ns:8020/spark/jars/*</value>
</property>
<property>
    <name>spark.home</name>
    <value>/opt/spark-2.3.0</value>
</property>
<property>
    <name>spark.master</name>
    <value>yarn</value>
</property>
<property>
    <name>spark.executor.memory</name>
    <value>4g</value>
</property>
<property>
    <name>spark.executor.cores</name>
    <value>2</value>
</property>
<property>
    <name>spark.executor.instances</name>
    <value>8</value>
</property> 
<property>
    <name>spark.driver.memory</name>
    <value>4g</value>
</property>
<property>
    <name>spark.driver.cores</name>
    <value>2</value>
</property>
<property>
    <name>spark.serializer</name>
    <value>org.apache.spark.serializer.KryoSerializer</value>
</property>

验证

命令行输入 hive,进入hive CLI
set hive.execution.engine=spark; #默认是mr,在hive-site.xml里设置spark后,这一步可以不要
create table test(ts BIGINT,line STRING); #创建表
select count(*) from test;#若整个过程没有报错,并出现正确结果,则Hive on Spark配置成功。

参考文章

版权声明:本文为CSDN博主「三石君1991」的原创文章,hive on spark(yarn)安装部署
原文链接:https://blog.csdn.net/weixin_43860247/article/details/89184081

版权声明:本文为CSDN博主「三石君1991」的原创文章,Hive安装部署
原文链接:https://blog.csdn.net/weixin_43860247/article/details/89087941

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-01 12:00:29  更:2021-09-01 12:01:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:16:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码