一、安装Hadoop

Hive运行在Hadoop环境之上,因此需要hadoop环境,本次在安装在hadoop完全分布式模式的namennode节点上

请参考:hadoop搭建

二、安装Hive

  • 下载
  1. [hadoop@hadoop01 /home/hadoop]$cd /app/
  2. [hadoop@hadoop01 /app]$wget http://archive.apache.org/dist/hive/stable-2/apache-hive-2.3.4-bin.tar.gz
  • 解压安装
  1. [hadoop@hadoop01 /app]$cd /app
  2. [hadoop@hadoop01 /app]$ln -s apache-hive-2.3.4-bin hive
  3. [hadoop@hadoop01 /app]$tar zxvf apache-hive-2.3.4-bin.tar.gz
  • 配置hadoop用户的hive环境变量
  1. echo -e '##################HIVE环境变量配置#############\nexport HIVE_HOME=/app/hive\nexport PATH=$HIVE_HOME/bin:$PATH' >> ~/.bash_profile&& source ~/.bash_profile&&tail -3 ~/.bash_profile

三、配置hive

3.1 拷贝出hive-site.xml和hive-env.sh配置文件

  1. [hadoop@hadoop01 /app/hive/conf]$cd /app/hive/conf/
  2. [hadoop@hadoop01 /app/hive/conf]$cp hive-default.xml.template hive-site.xml
  3. [hadoop@hadoop01 /app]$cp hive-env.sh.template hive-env.sh

3.2 修改hive-site.xm中系统无法识别的变量${system:java.io.tmpdir}${system:user.name}

  • 测试
  1. [hadoop@hadoop01 /app/hive/conf]$sed -n 's#${system:java.io.tmpdir}#/app/hive.java.io.tmpdir#pg' hive-site.xml
  2. <value>/app/hive.java.io.tmpdir/${system:user.name}</value>
  3. <value>/app/hive.java.io.tmpdir/${hive.session.id}_resources</value>
  4. <value>/app/hive.java.io.tmpdir/${system:user.name}</value>
  5. <value>/app/hive.java.io.tmpdir/${system:user.name}/operation_logs</value>
  6. [hadoop@hadoop01 /app/hive/conf]$sed -n 's#${system:user.name}#hadoop#pg' hive-site.xml
  7. <value>/app/hive.java.io.tmpdir/hadoop</value>
  8. <value>/app/hive.java.io.tmpdir/hadoop</value>
  9. <value>/app/hive.java.io.tmpdir/hadoop/operation_logs</value>
  • 替换
  1. [hadoop@hadoop01 /app/hive/conf]$sed -i 's#${system:java.io.tmpdir}#/app/hive.java.io.tmpdir#g' hive-site.xml
  2. [hadoop@hadoop01 /app/hive/conf]$sed -i 's#${system:user.name}#hadoop#g' hive-site.xml
  • 检查
  1. [hadoop@s101 /app/hive/conf]$grep 'hive.java.io.tmpdir' hive-site.xml
  2. <value>/app/hive.java.io.tmpdir/${system:user.name}</value>
  3. <value>/app/hive.java.io.tmpdir/${hive.session.id}_resources</value>
  4. <value>/app/hive.java.io.tmpdir/${system:user.name}</value>
  5. <value>/app/hive.java.io.tmpdir/${system:user.name}/operation_logs</value>
  6. [hadoop@s101 /app/hive/conf]$grep 'hive.java.io.tmpdir/hadoop' hive-site.xml
  7. <value>/app/hive.java.io.tmpdir/hadoop</value>
  8. <value>/app/hive.java.io.tmpdir/hadoop</value>
  9. <value>/app/hive.java.io.tmpdir/hadoop/operation_logs</value>
  • 创建出文件夹
  1. [hadoop@hadoop01 /app]$mkdir -p /app/hive.java.io.tmpdir/hadoop

3.3 初始化默认derby数据库

  1. [hadoop@hadoop01 /home/hadoop]$schematool -initSchema -dbType derby

.......
Metastore connection URL: jdbc:derby:;databaseName=metastore_db;create=true
Metastore Connection Driver : org.apache.derby.jdbc.EmbeddedDriver
Metastore connection User: APP
Starting metastore schema initialization to 2.3.0
Initialization script hive-schema-2.3.0.derby.sql
Initialization script completed
schemaTool completed

  • 初始化完成后,会在当前目录产生一个metastore_db文件夹,这就是数据库的名称。
    HDFS文件系统中也会产生相应的目录
  1. [hadoop@hadoop01 /home/hadoop]$ll /home/hadoop/metastore_db/
  2. [hadoop@hadoop01 /home/hadoop]$hdfs dfs -ls /tmp
  3. Found 2 items
  4. drwx-wx-wx - hadoop supergroup 0 2018-11-26 19:12 /tmp/hive

四、进入hive命令行

  • 检查hadoop集群是否启动,如果没有启动需要启动起来
  1. [hadoop@hadoop01 /home/hadoop]start-dfs.sh
  2. [hadoop@hadoop01 /home/hadoop]start-yarn.sh
  • 进入hive命令行
  1. [hadoop@hadoop01 /home/hadoop]$hive
  2. ...
  3. hive>

五、配置MySQL数据库存储元数据

5.1 修改URL、drivername、username、password等配置信息

[hadoop@hadoop01 /home/hadoop]$vim /app/hive/conf/hive-site.xml

  1. <property>
  2. <name>javax.jdo.option.ConnectionURL</name>
  3. <value>jdbc:mysql://hadoop01:3306/hive</value>
  4. </property>
  5. <property>
  6. <name>javax.jdo.option.ConnectionDriverName</name>
  7. <value>com.mysql.jdbc.Driver</value>
  8. </property>
  9. <property>
  10. <name>javax.jdo.option.ConnectionUserName</name>
  11. <value>hive</value>
  12. </property>
  13. <property>
  14. <name>javax.jdo.option.ConnectionPassword</name>
  15. <value>123456</value>
  16. </property>

请参考:docker安装mysql

5.2将java的msyql驱动拷贝至apache-hive-2.3.4-bin/lib中

5.3初始化mysql数据

schematool -initSchema -dbType mysql

hive2.3.4安装的更多相关文章

  1. hive2.1.0安装

    下载hive(http://mirrors.cnnic.cn/apache/hive/) 或者 http://archive.apache.org/dist/hive/(hive历史版本) 在本地进行 ...

  2. hive2.3.2安装使用

    hive的安装简单一些,使用也比较简单,基础hadoop搭建好之后,只要初始化一些目录和数据库就好了 安装需要做几件事: 1.设立一个数据源作为元数据存储的地方,默认是derby内嵌数据库,不过不允许 ...

  3. Ubuntu16.04 和 hadoop2.7.3环境下 hive2.1.1安装部署

    参考文献: http://blog.csdn.NET/reesun/article/details/8556078 http://blog.csdn.Net/zhongguozhichuang/art ...

  4. Hive2.2.1安装使用

    解压缩hive安装包tar zxvf apache-hive-2.1.1-bin.tar.gz 安装mysqlsudo yum install mysql-server 安装 mysql connec ...

  5. mysql与hive2.1.1安装和配置

    1.mysql安装 这个安装很简单,是在线安装,只需要按顺序执行一下几个命令就ok了. (1)sudo apt-get install mysql-server (2)sudo apt-get ins ...

  6. Hive之一:hive2.1.1安装部署

    一.Hive 运行模式 与 Hadoop 类似,Hive 也有 3 种运行模式: 1. 内嵌模式 将元数据保存在本地内嵌的 Derby 数据库中,这是使用 Hive 最简单的方式.但是这种方式缺点也比 ...

  7. hive-2.3.3安装

    1.下载hive-2.3.3 下载地址 http://archive.apache.org/dist/hive/hive-2.3.3 解压,编辑/etc/profile添加HIVE_HOME,保存文件 ...

  8. hive2.1.1安装部署

    转至:https://i.cnblogs.com/EditPosts.aspx?opt=1 一.Hive 运行模式 与 Hadoop 类似,Hive 也有 3 种运行模式: 1. 内嵌模式 将元数据保 ...

  9. Hive-2.3.6 安装

    本安装依赖Haddop2.8安装 https://www.cnblogs.com/xibuhaohao/p/11772031.html 一.下载Hive与MySQL jdbc 连接驱动 apache- ...

随机推荐

  1. ARTS 第一周打卡

    Algorithm : 做一个 leetcode 的算法题 1.只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算 ...

  2. vue技术分享之你可能不知道的7个秘密

    本文是vue源码贡献值Chris Fritz在公共场合的一场分享,觉得分享里面有不少东西值得借鉴,虽然有些内容我在工作中也是这么做的,还是把大神的ppt在这里翻译一下,希望给朋友带来一些帮助. 一.善 ...

  3. 可取消可报告进度的Task

    using System; using System.Threading; using System.Threading.Tasks; using System.Windows; namespace ...

  4. Win32汇编之其他指令

    汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地 ...

  5. LeetCode面试常见100题( TOP 100 Liked Questions)

    LeetCode面试常见100题( TOP 100 Liked Questions) 置顶 2018年07月16日 11:25:22 lanyu_01 阅读数 9704更多 分类专栏: 面试编程题真题 ...

  6. ssh无密登录_集群分发脚本xsync

    1.ssh免密登录 ssh ip地址 [root@192 ~]# ssh 192.168.1.102 root@192.168.1.102's password: Last login: Mon Fe ...

  7. Git 学习笔记之(三)将本地工程导入到GitHub 仓库中

    一:操作步骤第一步:建立git仓库 cd到你的本地项目根目录下,执行git命令,此命令会在当前目录下创建一个.git文件夹. git init 第二步:将项目的所有文件添加到仓库中 git add . ...

  8. WPF 遍历资源字典中的控件

    object obItem=this.FindResource("canvasdt"); if (obItem is System.Windows.DataTemplate) { ...

  9. react中怎么写css样式?

    JSX基本语法中关于react如何写css样式主要有三种方法 1.基于class --(className) 基于className ,通过className在style中给该class名的DOM元素 ...

  10. maven入门-- part3 生命周期

    简介: Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是: Clean Lifecycle 在进行真正的构建之前进行一些清理工作. Default ...