栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

[SDU软件工程实践]Blog1-hive基础安装与整体规划

Java 更新时间:发布时间: 百科书网 趣学号

2021SC@SDUSC

目录
  • 安装Hadoop
    • Linux虚拟机
    • XShell和Xftp
    • JDK
    • Hadoop安装
    • Hadoop配置
  • 安装Hive
  • Hive总体流程与任务分配

到写这篇博客为止,我己经初步装好了hadoop和hive,hive已经可以运行了,且已经有了源码,但是没有截图,只能尽量配图了。

安装Hadoop

hive要运行在hadoop上,那么使用hive的必要前提就是安装hadoop了。

Linux虚拟机

Linux选择了CentOS-7,有阿里云的镜像
我们设法搞一个VMware,用文件安装即可。过程中要设置root用户密码和个人用户。

XShell和Xftp

这两样工具用于远程访问和文件传输,算是个额外的工具。

JDK

在本机上下载好linux版本的jdk包
网址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
选择jdk-8u202-linux-x64.tar.gz(java8天下无敌)
然后用Xftp传到linux虚拟机上,解压

之后我们需要配置JDK环境变变量
我们整一个文件:/etc/profile.d/my_env.sh
然后加这些

#JAVA_HOME 
export JAVA_HOME=/opt/module/jdk1.8.0_212 
export PATH=$PATH:$JAVA_HOME/bin 

之后需要使用命令source /etc/profile使行为变量生效
用java -version指令来验证一下java环境是否已经配置好

Hadoop安装

在本机上下载好hadoop包
网址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/
选择hadoop-3.1.3.tar.gz
然后用Xftp传到linux虚拟机上,解压

我们还用之前那个文件:/etc/profile.d/my_env.sh
在最后面加上这些

#HADOOP_HOME 
export HADOOP_HOME=/opt/module/hadoop-3.1.3 
export PATH=$PATH:$HADOOP_HOME/bin 
export PATH=$PATH:$HADOOP_HOME/sbin 

同样使用命令source /etc/profile使行为变量生效
类似的,hadoop version可以验证hadoop是否已经配置好

Hadoop配置

hadoop配置很混乱
我选择伪分布式单机部署。
在这之前还要依次进行配置
修改Linux网络参数文件:/etc/sysconfig/network-scripts/ifcfg-ens33

修改/etc/hosts的映射
加上这么一行

192.168.10.102 hadoop102

配置core-site.xml


    
        fs.defaultFS
        hdfs://hadoop102:9000
    
    
        hadoop.tmp.dir
        /hadoop/data
    

配置hdfs-site.xml


    
        dfs.replication
        1
    

配置mapred-site.xml


    
    
        mapreduce.framework.name
        yarn
    

配置yarn-site.xml



    
    
       yarn.resourcemanager.hostname
       hadoop102
    
    
    
       yarn.nodemanager.aux-services
       mapreduce_shuffle
    
    
       yarn.scheduler.maximum-allocation-mb
       2000
    
 
    
       yarn.nodemanager.resource.memory-mb
       2000
    

在profile中添加环境变量并执行source /etc/profile

export JAVA_HOME=/usr/local/jdk1.8.0_161
export HADOOP_HOME=/bigdata/hadoop-3.1.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

执行hdfs namenode -format初始化,start-all.sh来启动hadoop
至此,hadoop已经可以使用了

安装Hive

下载好Hive的包
选择apache-hive-3.1.2-src.tar.gz
然后用Xftp传到linux虚拟机上,解压
还是之前那个文件:/etc/profile.d/my_env.sh
在最后面加上这些

#HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin

然后在hive的文件夹下执行bin/hive就可以进入Hive了
执行各种指令就很类似于sql

Hive总体流程与任务分配

在开始,我们要先在宏观上对Hive的执行流程进行了解,这部分中我们并没有花费很长时间阅读源码,这并不符合“宏观上了解并分配任务”的目的,具体源码的分析是等着后面去做的。
Hive的核心性质是什么呢?其核心是将Hql——一种类似sql的用于操作Hive的语言——经过一系列解析、构建、转化、优化后转化为MapReduce任务进行执行。那么我们的核心就是:找到入口,然后沿着这条执行的路径进行分析。
再具体来说,Hive的执行过程如下图:

我们初步划分了四块任务,分给四个人进行分析:
1.将HQL转化成抽象语法书AST
2.将抽象语法树AST转换成查询块QB
3.将查询块QB转换成逻辑查询计划(OP Tree)
4.对OP Tree进行逻辑优化
我的任务是第一块

宏观任务已经确定。接下来,我需要先对大致的源码执行流程进行进一步地了解,同时至少锁定我的分析人物的起点

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/270393.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号