我的 Hive 3.1.2 之旅 【收藏夹吃灰系列】

点击蓝色“有关SQL”关注我哟

加个“星标”,天天与10000人一起快乐成长

图 | 榖依米


貌似名导们,都有三部曲。

朴赞郁有复仇三部曲,彼得杰克逊有霍比特三部曲。是时候《有关SQL》也该有个大数据三部曲了。

继上部《我的 Hadoop 之旅》,今天又完成这部《我的 Hive 之旅》.

同样,这部也属于收藏夹吃灰系列。看在写了辣么多字儿,险些把PP坐出ZC的份儿上,各位看官来个三连呗!

话不多说,上主题:

前奏环境:

  • 可用的 Hadoop 集群 

  • 数据库环境,如 MySQL 

  • Hive 软件

  • 环境变量

Hive 软件

Hive 有 3 个大版本,Hive 1.x.y, Hive 2.x.y, 和Hive 3.x.y. 与本次实验相对应的是 Hive 3.1.2.

下载地址:https://mirrors.bfsu.edu.cn/apache/hive/hive-3.1.2/

image.png

带 bin 的是安装文件,而带 src 的是源码。

Hive 3.1.2 会支持 Hadoop 3.2.2 吗,JDK8 够用吗,MySQL 5.6 还能不能再战?等等这些问题,都可以看Hive官方文档解决!

Hive 官网:https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-InstallationandConfiguration

简单说明:

  • Java 建议 JDK 7 以上

  • Hadoop 建议 3 以上

  • Linux/Windows 首选,Mac 作为开发

环境变量

之前安装了 Hadoop 3.2.2,直接拿来用。不同是,这次要增加一个 /opt/Hive 文件夹

mkdir /opt/Hive
chown -R hadoopadmin /opt/Hive

设置环境变量:

HIVE_HOME=/opt/Hive/Hive3.1.2
PATH=$PATH:$HIVE_HOME/bin
export HIVE_HOME
export PATH
MySQL 选择

由于是 Hive 3 版本系列,作为首选元数据库的 MySQL 版本,需重新选择。合适的版本参考这里:https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+3.0+Administration

最低版本是 MySQL 5.6.17. 其他数据库也可用来作为元数据库存储

RDBMS Minimum Version javax.jdo.option.ConnectionURL javax.jdo.option.ConnectionDriverName
MariaDB 5.5 jdbc:mysql://:/ org.mariadb.jdbc.Driver
MS SQL Server 2008 R2 jdbc:sqlserver://:;DatabaseName= com.microsoft.sqlserver.jdbc.SQLServerDriver
MySQL 5.6.17 jdbc:mysql://:/ com.mysql.jdbc.Driver
Oracle 11g jdbc:oracle:thin:@//:/xe oracle.jdbc.OracleDriver
Postgres 9.1.13 jdbc:postgresql://:/ org.postgresql.Driver

MySQL 的安装,就省去了。有无数文章提到怎么样安装!

比如我的这篇:2019 MySQL8 24小时快速入门(1)

本实验中,选用 MySQL8.  用户名:root/MySQLAdmin, 密码都是:LuckyNumber234.

Hive 配置

Hadoop 安装配置

Hadoop 的安装位置十分重要。根据这个位置,可以拿到 HDFS,YARN 的配置信息,进而得到 namenode 和 resource manager 的访问地址。

所以,在环境变量文件中,一定要设置正确 HADOOP_HOME.

另外,在 $HIVE_HOME/bin 下有个文件, hive-config.sh.

--hive.config.sh

# Allow alternate conf dir location.
HIVE_CONF_DIR="${HIVE_CONF_DIR:-$HIVE_HOME/conf}"

export HADOOP_HOME=/opt/Hadoop/hadoop-3.2.2
export HIVE_CONF_DIR=$HIVE_CONF_DIR
export HIVE_AUX_JARS_PATH=$HIVE_AUX_JARS_PATH

在这里也需指定 HADOOP_HOME 的安装路径

Hive 配置文件

Hive 的全部数据,都存储在 HDFS 上,所以要给 Hive 一个 HDFS 上的目录:

HDFS DFS -mkdir -p /user/hive/warehouse
HDFS DFS -chmod g+w /user/hive/warehouse

在 $HIVE_HOME/conf 下有个文件,hive-default.xml.template. 这是修改 Hive 配置的最重要参数文件,主要是配置 HDFS 上存放 Hive 数据的目录,以及 Hive MetaStore 的数据库访问信息

-- hive-site.xml 

 <property>
    <name>system:java.io.tmpdir</name>
    <value>/tmp/hive/java</value>
  </property>
  <property>
    <name>system:user.name</name>
    <value>${user.name}</value>
  </property>
  -- 以上两个属性,非常重要!底下会讲它
 <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.31.10/metastore?createDatabaseIfNotExist=true</value>
    <description>
      JDBC connect string for a JDBC metastore.
      To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
      For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
    </description>
 </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>MySQLAdmin</value>
    <description>Username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>LuckyNumber234.</value>
    <description>password to use against metastore database</description>
  </property>
  --如果修改了默认hdfs路径
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
    <description>location of default database for the warehouse</description>
  </property>
  
  
  
  

初始化 metastore

各种配置文件完工后,需要初始化 Hive 的元数据库,即 metastore.

schematool -ini
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dbLenis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值