Hive 安装

打印 上一主题 下一主题

主题 823|帖子 823|积分 2469

目录
Hive 安装
 Hive 安装地址
 Hive 安装摆设
安装 Hive
 启动并使用 Hive


Hive 安装

 Hive 安装地址

1)Hive 官网地址
Apache Hive
http://hive.apache.org/
2)文档检察地址
GettingStarted - Apache Hive - Apache Software Foundation
https://cwiki.apache.org/confluence/display/Hive/GettingStarted
3)下载地址
Index of /dist/hive
http://archive.apache.org/dist/hive/
4)GitHub 地址
https://github.com/apache/hive
https://github.com/apache/hive
 Hive 安装摆设

安装 Hive


  • 把 apache-hive-3.1.3-bin.tar.gz 上传到 Linux 的 /opt/software 目录下
  • 解压 apache-hive-3.1.3-bin.tar.gz 到 /opt/module/ 目录下面
    1. [lzl@hadoop12 software]$ tar -zxvf /opt/software/apache-hive-3.1.3-bin.tar.gz -C /opt/module/
    复制代码
  • 修改 apache-hive-3.1.3-bin.tar.gz 的名称为 hive
    1. [lzl@hadoop12 software]$ mv /opt/module/apache-hive-3.1.3-bin/ /opt/module/hive
    复制代码
  • 修改 /etc/profile.d/my_env.sh,添加环境变量
    1. [lzl@hadoop12 software]$ sudo vim /etc/profile.d/my_env.sh
    复制代码
    (1)添加内容
    1. # HIVE_HOME
    2. export HIVE_HOME=/opt/module/hive
    3. export PATH=$PATH:$HIVE_HOME/bin
    复制代码
    (2)source 一下
    1. [lzl@hadoop12 hive]$ source /etc/profile.d/my_env.sh
    复制代码
  • 初始化元数据库(默认是 Derby 数据库)
    1. [lzl@hadoop12 hive]$ bin/schematool -dbType derby -initSchema
    复制代码
 启动并使用 Hive


  • 启动 Hive
    1. [lzl@hadoop12 hive]$ bin/hive
    复制代码
  • 使用 Hive
    1. hive> show databases;
    2. hive> show tables;
    3. hive> create table stu(id int, name string);
    4. hive> insert into stu values(1,"ss");
    5. hive> select * from stu;
    复制代码
    观察 HDFS 的路径 /user/hive/warehouse/stu,领会 Hive 与 Hadoop 之间的关系。

    • Hive 中的表在 Hadoop 中是目录;
    • Hive 中的数据在 Hadoop 中是文件。

  • 在 XShell 窗口中开启另一个窗口开启 Hive,在 /tmp/lzl 目录下监控 hive.log 文件
    1. [lzl@hadoop12 lzl]$ tail -f hive.log
    复制代码
    1. Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database /opt/module/hive/metastore_db.
    2. at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
    3. at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
    4. at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.privGetJBMSLockOnDB(Unknown Source)
    5. at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.run(Unknown Source)
    6. ...
    复制代码
    原因在于 Hive 默认使用的元数据库为 Derby。Derby 数据库的特点是同一时间只允许一个客户端访问。假如多个 Hive 客户端同时访问,就会报错。由于在企业开辟中,都是多人协作开辟,需要多客户端同时访问 Hive,怎么办理呢?我们可以将 Hive 的元数据改为用 MySQL 存储,MySQL 支持多客户端同时访问。

  • 首先退出 Hive 客户端。然后在 Hive 的安装目录下将 derby.log 和 metastore_db 删除,顺便将 HDFS 上目录删除
    1. hive> quit;
    复制代码
    1. [lzl@hadoop12 hive]$ rm -rf derby.log metastore_db
    2. [lzl@hadoop12 hive]$ hadoop fs -rm -r /user
    复制代码
  • 删除 HDFS 中 /user/hive/warehouse/stu 中的数据
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用多少眼泪才能让你相信

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表