02 | Hive安装部署

2.1 Hive安装地址

1Hive官网地址

http://hive.apache.org/

2文档查看地址

https://cwiki.apache.org/confluence/display/Hive/GettingStarted

3下载地址

http://archive.apache.org/dist/hive/

4github地址

https://github.com/apache/hive

2.2 Hive安装部署

2.2.1 安装Hive

1apache-hive-3.1.3-bin.tar.gz上传到Linux/opt/software目录下

2解压apache-hive-3.1.3-bin.tar.gz/opt/module/目录下面

[atguigu@hadoop102 software]$ tar -zxvf /opt/software/apache-hive-3.1.3-bin.tar.gz -C /opt/module/

3修改apache-hive-3.1.3-bin.tar.gz的名称为hive

[atguigu@hadoop102 software]$ mv /opt/module/apache-hive-3.1.3-bin/ /opt/module/hive

4修改/etc/profile.d/my_env.sh添加环境变量

[atguigu@hadoop102 software]$ sudo vim /etc/profile.d/my_env.sh

(1)添加内容

#HIVE_HOME

export HIVE_HOME=/opt/module/hive

export PATH=$PATH:$HIVE_HOME/bin

(2)source一下

[atguigu@hadoop102 hive]$ source /etc/profile.d/my_env.sh

5)初始化元数据库(默认是derby数据库)

[atguigu@hadoop102 hive]$ bin/schematool -dbType derby -initSchema

2.2.2 启动并使用Hive

1)启动Hive

[atguigu@hadoop102 hive]$ bin/hive

2)使用Hive

hive> show databases;

hive> show tables;

hive> create table stu(id int, name string);

hive> insert into stu values(1,"ss");

hive> select * from stu;

观察HDFS的路径/user/hive/warehouse/stu,体会Hive与Hadoop之间的关系。

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

3)在Xshell窗口中开启另一个窗口开启Hive,在/tmp/atguigu目录下监控hive.log文件

[atguigu@hadoop102 atguigu]$ tail -f hive.log

Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database /opt/module/hive/metastore_db.

        at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)

        at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)

        at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.privGetJBMSLockOnDB(Unknown Source)

        at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.run(Unknown Source)

...

原因在于Hive默认使用的元数据库为derbyderby数据库的特点是同一时间只允许一个客户端访问。如果多个Hive客户端同时访问,就会报错。由于在企业开发中,都是多人协作开发,需要多客户端同时访问Hive,怎么解决呢?我们可以将Hive的元数据改为用MySQL存储,MySQL支持多客户端同时访问。

4)首先退出hive客户端。然后在Hive的安装目录下将derby.logmetastore_db删除,顺便将HDFS上目录删除

hive> quit;

[atguigu@hadoop102 hive]$ rm -rf derby.log metastore_db

[atguigu@hadoop102 hive]$ hadoop fs -rm -r /user

5)删除HDFS中/user/hive/warehouse/stu中数据

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

走过冬季

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

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

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

打赏作者

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

抵扣说明:

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

余额充值