hive(一)hive的安装与基本配置

这篇具有很好参考价值的文章主要介绍了hive(一)hive的安装与基本配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、前提:

二、安装步骤:

1、上传jar包至/usr/local/soft

2、解压并重命名

3、配置环境变量

 三、配置HIVE文件

1、配置hive-env.sh

2、配置hive-site.xml

 3、配置日志

4、修改默认配置文件

 5、上传MySQL连接jar包

四、修改MySQL编码

1、 编辑配置文件

2、加入以下内容:

3、 重启mysql

五、初始化HIVE

 六、进入hive

七、后续配置 

八、测试hive

hive中的几种存储格式

TextFile格式:文本格式

RCFile:

ORCFile:

Parquet:

其他格式:

九、配置JDBC连接

报错:

连接到JDBC


一、前提:

安装hive所需要的虚拟机环境为虚拟机安装有Hadoop并且集群成功,同时Hadoop需要在启动状态下,同时需要安装有mysql。不需要有zookeeper和HA,由于HA中含有大量进程,启动会占用很多资源,建议不要有HA

二、安装步骤:

1、上传jar包至/usr/local/soft

将hive-3.1.2上传到虚拟机中的/usr/local/soft目录下

2、解压并重命名

tar -zxvf apache-hive-3.1.2-bin.tar.gz

# 重命名
mv apache-hive-3.1.2-bin  hive-3.1.2/

3、配置环境变量

vim /etc/profile

#增加以下内容:
# HIVE_HOME
export HIVE_HOME=/usr/local/soft/hive-3.1.2/
export PATH=$PATH:$HIVE_HOME/bin


#保存退出 source 使其生效
source /etc/profile

 三、配置HIVE文件

1、配置hive-env.sh

cd $HIVE_HOME/conf
# 复制命令
cp hive-env.sh.template hive-env.sh

# 编辑
vim hive-env.sh

# 增加如下内容
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/usr/local/soft/hadoop-2.7.6

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/usr/local/soft/hive-3.1.2/conf

2、配置hive-site.xml

上传hive-site.xml到conf目录:

hive-site.xml文件内容:

<configuration>
  <property>
     <!-- 查询数据时 显示出列的名字 -->
     <name>hive.cli.print.header</name>
     <value>true</value>
  </property>
  <property>
     <!-- 在命令行中显示当前所使用的数据库 -->
     <name>hive.cli.print.current.db</name>
     <value>true</value>
  </property>
  <property>
     <!-- 默认数据仓库存储的位置,该位置为HDFS上的路径 -->
     <name>hive.metastore.warehouse.dir</name>
     <value>/user/hive/warehouse</value>
  </property>
  <!-- 8.x -->
  <property>
     <name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;serverTimezone=GMT</value>
  </property>
  <!-- 8.x -->
  <property>
     <name>javax.jdo.option.ConnectionDriverName</name>
     <value>com.mysql.jdbc.Driver</value>
  </property>
  <property>
     <name>javax.jdo.option.ConnectionUserName</name>
     <value>root</value>
  </property>
  <property>
     <name>javax.jdo.option.ConnectionPassword</name>
     <value>123456</value>
  </property>
  <!-- hiveserver2服务的端口号以及绑定的主机名 -->
  <property>
     <name>hive.server2.thrift.port</name>   
     <value>10000</value>  
  </property>
  <property>
     <name>hive.server2.thrift.bind.host</name>
     <value>master</value>
  </property>
</configuration>

 3、配置日志

# 创建日志目录
cd $HIVE_HOME
mkdir log

# 设置日志配置
cd conf

cp hive-log4j2.properties.template hive-log4j2.properties

vim hive-log4j2.properties

# 修改以下内容:
property.hive.log.dir = /usr/local/soft/hive-3.1.2/log

4、修改默认配置文件

cp hive-default.xml.template hive-default.xml

 5、上传MySQL连接jar包

上传 mysql-connector-java-5.1.37.jar 至 /usr/local/soft/hive/lib目录中

四、修改MySQL编码

修改mysql编码为UTF-8:

1、 编辑配置文件

vim /etc/my.cnf

2、加入以下内容:

[client]

default-character-set = utf8mb4

[mysqld]

character-set-server = utf8mb4

collation-server = utf8mb4_general_ci

3、 重启mysql

systemctl restart mysqld

五、初始化HIVE

schematool -dbType mysql -initSchema

 六、进入hive

输入命令:hive

七、后续配置 

修改mysql元数据库hive,让其hive支持utf-8编码以支持中文

登录mysql:

mysql -u root -p123456

切换到hive数据库:

use hive;

1).修改字段注释字符集

alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;

2).修改表注释字符集

alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

3).修改分区表参数,以支持分区键能够用中文表示

alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;

4).修改索引注解(可选)

alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

5).修改库注释字符集

alter table DBS modify column DESC varchar(4000) character set utf8;

八、测试hive

启动hive,直接输入命令:hive

在hive中创建filetest数据库

命令: create database filetest;

切换filetest数据库:use filetest;

hive中的几种存储格式

TextFile格式:文本格式

以TextFile格式创建students表:

hive(一)hive的安装与基本配置

使用命令:desc students查看students表的各个字段:

hive(一)hive的安装与基本配置

 在hive根目录下创建一个文件夹data用于存放本地文件,将本地中的一个文本文件上传到hive根目录下的data中

向表中插入数据:

1、通过input命令将该data中的文本文件上传到hdfs中所创建的该表中,实现向该表中插入数据

在hive中可以使用hdfs中的命令:

查询结果:

hive(一)hive的安装与基本配置

 2、通过普通的格式对表中进行插入数据
创建一个新的表stduents2,使用普通格式进行插入数据:

load data local inpath "/usr/local/soft/hive-3.1.2/data/students.txt" into table students2;

结果:

hive(一)hive的安装与基本配置

进入到hdfs中查看:发现两种插入方式对数据大小没有变化,都是37M:

hive(一)hive的安装与基本配置 

RCFile:

Hadoop中第一个列文件格式

 RCFile通常写操作较慢,具有很好的压缩和快速查询功能。

创建RCFile格式的表:

hive(一)hive的安装与基本配置

插入数据:

使用命令:

insert into table students_rcFile select * from students;

hive(一)hive的安装与基本配置

插入完成后,查看数据大小:为26.44M

hive(一)hive的安装与基本配置 

ORCFile:

Hadoop0.11版本就存在的格式,不仅是一个列文件格式,而且有着很高的压缩比

创建ORCFile格式的表:

hive(一)hive的安装与基本配置

向表中插入数据:

hive(一)hive的安装与基本配置 

查看数据大小:被压缩为220.38KB

hive(一)hive的安装与基本配置 

同时观察插入数据所用时间,ORCFile格式与RCFile格式插入数据相差时间不大

Parquet:

这是一种嵌套结构的存储格式,他与语言、平台无关

创建Parquet格式的表:

hive(一)hive的安装与基本配置

向表中插入数据:

insert into table students_parquet select * from students;

hive(一)hive的安装与基本配置

查看数据大小:为3M

hive(一)hive的安装与基本配置 

同时发现该格式在插入数据时所花费的时间比ORC格式所花费的时间更少。

其他格式:

SEQUENCEFILE格式:这是一个Hadoop API提供的一种二进制文件格式,实际生产中不使用

AVRO:是一种支持数据密集型的二进制文件格式,他的格式更为紧凑

九、配置JDBC连接

Hive中有两种命令模式:CLi模式和JDBC模式

Cli模式就是Shell命令行

JDBC模式就是Hive中的Java,与使用传统数据库JDBC的方式类似

开启JDBC连接:

进入到/usr/local/soft/hive-3.1.2/bin目录下,在bin目录下有一个hiveserver2文件,通过该文件开启JDBC连接:

 输入命令:hive --service hiveserver2开启JDBC连接

一般情况下当出现四个Hive Session时就说明JDBC连接被开启了,也可以通过命令查看是否开启:

进入到 /usr/local/soft/hive-3.1.2/bin目录下:

输入:netstat -nplt | grep 10000

该输入的端口号为hive-site.xml中的hiveserver2服务的端口号
hive(一)hive的安装与基本配置

 

报错:

若输入该命令报错:

Error: Could not open client transport with JDBC Uri: jdbc:hive2://master:10000: 
        Failed to open new session: java.lang.RuntimeException: 
        org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): 
        User: root is not allowed to impersonate root (state=08S01,code=0)

解决办法:

先关闭Hadoop集群:stop-all.sh

再进入到Hadoop 中的core-site.xml中添加如下内容:

<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
 
#以下是添加的内容:
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
 
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
</configuration>

注意:这些内容需要添在加<configuration>...</configuration>中,否则无法生效

重新启动集群:start-all.sh

再次启动hiveserver2

hive --service hiveserver2

该过程较慢,需要等待

连接到JDBC

当启动JDBC连接后,会开启一个进程RunJar,使用jps命令就可查看

Hive 将元数据存储在数据库中(metastore),目前只支持 mysql、derby

连接到JDBC命令:

进入到 /usr/local/soft/hive-3.1.2/bin下,输入命令:

beeline -u jdbc:hive2://master:10000 -n root连接JDBC:

hive(一)hive的安装与基本配置

 在JDBC中输入命令可以查看当前hive中的数据库:show databases;

hive(一)hive的安装与基本配置

可以发现他与hive的区别在于他使用了一个表格式将databases显示出来 

Hive中metastore是hive元数据的集中存放地,这里使用的是MySQL文章来源地址https://www.toymoban.com/news/detail-406028.html

到了这里,关于hive(一)hive的安装与基本配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【正点原子STM32】RTC实时时钟(RTC方案、BCD码、时间戳、RTC相关寄存器和HAL库驱动、RTC基本配置步骤、RTC基本驱动步骤、时间设置和读取、RTC闹钟配置和RTC周期性自动唤醒配置)

    【正点原子STM32】RTC实时时钟(RTC方案、BCD码、时间戳、RTC相关寄存器和HAL库驱动、RTC基本配置步骤、RTC基本驱动步骤、时间设置和读取、RTC闹钟配置和RTC周期性自动唤醒配置)

    一、RTC简介 二、STM32 RTC框图介绍 2.1、STM32 F1 RTC结构框图 2.2、STM32 F4 / F7 / H7 RTC结构框图 三、RTC相关寄存器介绍 3.1、RTC基本配置步骤 3.2、RTC相关寄存器(F1) 3.3、RTC相关寄存器(F4 / F7 / H7) 四、RTC相关HAL库驱动介绍 4.1、RTC相关HAL库驱动(F1) 4.2、RTC相关HAL库驱动(F4 / F7 /

    2024年03月27日
    浏览(8)
  • nginx上web服务的基本安全优化、服务性能优化、访问日志优化、目录资源优化和防盗链配置简介

    nginx上web服务的基本安全优化、服务性能优化、访问日志优化、目录资源优化和防盗链配置简介

    目录 一.基本安全优化 1.隐藏nginx软件版本信息 2.更改源码来隐藏软件名和版本 (1)修改第一个文件(核心头文件),在nginx安装目录下找到这个文件并修改 (2)第二个文件 (3)第三个文件,内置响应信息页面 (4)第四个文件 (5)重新编译安装并重启 3.更改nginx服务的默

    2024年02月13日
    浏览(14)
  • 【git】安装和基本配置

    目录 一、安装基本配置 1、配置用户信息(要英文字母) 2、git的全局配置文件 3、检查配置信息 4、获取帮助信息 二、基本操作的命令 1、创建仓库 2、检查文件状态 3、清屏 4、跟踪新文件(提交到暂存区)⭐⭐⭐⭐⭐ 5、提交更新文件(提交到本地仓库)⭐⭐⭐⭐⭐ 6、暂存

    2023年04月09日
    浏览(10)
  • termux安装以及基本配置

    termux安装以及基本配置

    下载链接termux点击即直接下载。 经过以上操作即自动换源。 图片仅供参考,直接一路y就行了,安装时间较长耐心等待。 命令 说明 nethunter 启动 Kali NetHunter 命令行界面 nethunter kex passwd 配置 KeX 密码 (仅在第一次使用前需要) nethunter kex 开始 KeX 会话服务 nethunter kex stop 停止 Ka

    2024年02月19日
    浏览(10)
  • Git(一): 安装和基本配置

    Git(一): 安装和基本配置

    目录 1、安装 git 2、配置 2.1 查看环境配置 2.2 配置用户和邮箱 2.3 生成公钥 2.4 记住密码 官网:https://git-scm.com/ 全程默认安装: 作为代码提交、下拉、注释时的记录。配置信息存在于文件中 .gitconfig 中。 2.1 查看环境配置 2.2 配置用户和邮箱   2.3 生成公钥     修改系统盘下的

    2024年02月14日
    浏览(7)
  • Git下载安装及基本配置

    Git下载安装及基本配置

    一、Git下载 Git官网地址 点击下载即可 二、安装 1、双击下载后的安装包开始安装 2、更改安装目录,建议别放在C盘 3、勾选第一个生成桌面图标,其他默认 4、默认下一步 5、选择 Git 默认编辑器Vim 6、 决定初始化新项目(仓库)的主干名字 7、 调整你的 path 环境变量 默认是从命

    2024年03月21日
    浏览(9)
  • 【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例

    【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例

    写在前面: 本章的目的是让你理解与门、或门和非门的行为,并使用 Verilog 语言实现多输入与门、或门和非门。在生成输入信号之后,你需要通过模拟来验证这些门的操作,并使用 FPGA 来验证 Verilog 实现的电路的行为。 0x00 引入:与门、或门与非门 构成数字系统电路的最基

    2024年02月02日
    浏览(11)
  • Ubuntu配置基本环境以及docker安装基本中间件

    提示:ip地址请改为自己的本地ip 为了安全性,建议都给一些中间件设置密码(本文也会教大家如何设置密码) 此处如果安装失败,apt要换源。 docker版本为24.0.2 首先,更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源: 使用下面的 curl 导入源仓库的

    2024年02月01日
    浏览(13)
  • IIS的基本安装和配置

    IIS的基本安装和配置

    实验介绍:IIS的作用 IIS是web服务器中常见的一种。当客户端想访问某个域名时,向web服务器发出请求。web服务器返回网页的代码做出回应。客户端解析代码生成网页。 1.打开一台windows服务器,修改IP为192.168.1.208 2.打开服务器管理器,安装web服务器(IIS) 1.打开管理工具,进

    2024年02月19日
    浏览(9)
  • vscode基本插件安装与配置

    vscode基本插件安装与配置

    Auto Rename Tag: 重命名标签时,自动更新结尾配对的标签 Chinese: 汉化 ESLint: 规范化代码,对应的setting配置(全局所有项目都有效),对应这个本身也不是很了解,也是上网搜的,有个详细的教程可以帮助了解 CSS Navigation:  css跳转,ctrl+样式名可以跳转到对应的具体的css样式中

    2024年02月06日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包