hive2.3.7安装记录

Hive 安装配置记录:

1. 准备

1.1 wget
yum -y install wget
1.2 hive:
cd /opt 
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.7/apache-hive-2.3.7-bin.tar.gz 

wget http://mirror.bit.edu.cn/apache/hive/hive-2.3.7/apache-hive-2.3.7-bin.tar.gz 

注意提示hive版本跟hadoop的匹配版本对应关系.
一般HIVE第一个数字版本跟hadoop第一个数字版本相对应即可.

2 解压hive

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

3 重命名hive

mv apache-hive-2.3.7-bin /opt/hive

4 配置hive环境变量

vi ~/.bash_profile

5 添加

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

6 刷新配置文件

source ~/.bash_profile

7 在hadoop下创建hive所用文件夹

前提,配置了本机HADOOP_HOME的环境变量,可以这么使用命令.

创建文件夹 并赋予权限.

 $HADOOP_HOME/bin/hadoop fs -mkdir -p   /tmp
 $HADOOP_HOME/bin/hadoop fs -mkdir -p   /user/hive/warehouse
 $HADOOP_HOME/bin/hadoop fs -chmod g+w  /tmp
 $HADOOP_HOME/bin/hadoop fs -chmod g+w  /user/hive/warehouse

hive

8 mysql驱动包

下载对应的 MySQL 连接jar
https://dev.mysql.com/downloads/connector/j/
驱动包
只需要解压出来的 mysql-connector-java-5.1.49.jar 文件

9 文件移动到 hive的lib

mysql-connector-java-5.1.49.jar文件移动到 hive的lib文件夹下

mv mysql-connector-java-5.1.49.jar $HIVE_HOME/lib

10 创建数据库,配置用户和权限

(1)创建数据库

create database metastore;

(2)创建MySQL的 用户hive,密码hive 并赋予权限*

grant all on metastore.* to hive@'%' identified by 'root';
grant all on metastore.* to hive@'localhost' identified by '123456';

(3)刷新MySQL权限

flush privileges;

用户名 密码根据自己需求自行修改,下文有hive-site.xml配置时,注意对应修改

11 hive配置文件 另存配置文件模板

进入Hive的配置文件所在路径

cd $HIVE_HOME/conf
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties  

推荐用cp命令另存为有个备份,如果觉得太多文件乱,那就可以用mv重命名 替换掉cp命令

12 修改hive-env.sh**

vi hive-env.sh

如果没有配置以下环境变量/或是系统有jdk,hadoop多个环境,
可以手动指定想要版本的地址

export JAVA_HOME=/usr/local/jdk1.8.0_251 
export HADOOP_HOME=/opt/hadoop 

13 增加hive-site.xml

vi hive-site.xml

用于配置MySQL的关联

注意:下面xml里的ConnectionUserName和ConnectionPassword配置的是mysql的用户名密码,

上文已经设置过都是hive,如果上文自己设置别的用户名密码,请自行修改.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
<property>
  <name>hive.exec.scratchdir</name>
  <value>/opt/hive/tmp</value>
</property>
<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/opt/hive/warehouse</value>
</property>

<property>
  <name>hive.querylog.location</name>
  <value>/opt/hive/log</value>
</property>
<!-- 配置 MySQL 数据库连接信息 -->
<property>
  <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.56.20:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
 </property>
 
 <property>
  <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value><!-- jdbc驱动 -->
 </property>
 
 <property>
  <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value><!-- mysql账号 --> 
 </property>

 <property>
  <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value><!-- mysql密码 -->  
 </property>
</configuration>

用命令创建:hive数据库

[root@master ~]# mysql -u root -p
mysql>create database hive;

14 初始化hive

同上,下面 命令最后结尾是 是MySQL的用户名 hive和密码hive

cd $HIVE_HOME/bin
./schematool -dbType mysql -initSchema root 123456

15 启动

$HIVE_HOME/bin/hive

16 相关操作…

(1) 建表:

create table IF NOT EXISTS default.dept(
deptno int,
dname string,
loc string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

(2)查表:

hive (default)> show tables;
hive (default)> select * from dept;

(3)hive删除表:

drop table dept;

(4)hive删除表中数据:

truncate table dept;

(5)hive按分区删除数据:

alter table dept drop partition (partition_name='分区名')

(6)查表的存储位置:

show create table dept;

hdfs://x:9000/user/hive/warehouse/dept

//TODO

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值