Hive连接模式
- 单用户模式(元数据默认使用Derby关系型数据库存储)
- 多用户模式
- 远程模式
环境准备
Hadoop V2.7.2
要保证Hadoop服务已经启动。Hadoop环境搭建: 参考
MySQL主从
本次MySQL数据库部署在Slave1【IP:10.0.10.111】服务器上。
Hive 安装在Slave3【IP:10.0.10.113】上
下载Hive
官方网站:http://hive.apache.org/downloads.html
下载带有*-bin的hive压缩包: apache-hive-2.3.4-bin.tar.gz
配置环境变量
1 | tar -zxf apache-hive-2.3.4-bin.tar.gz |
1 | cat /etc/profile |
配置Hive
(1) hive-env.sh
1 | cp /opt/hive/conf/hive-env.sh.template /opt/hive/conf/hive-env.sh |
(2)hive-site.xml
1 | cp /opt/hive/conf/hive-default.xml.template /opt/hive/conf/hive-site.xml |
单用户模式【一般只用于测试环境】
即, 元数据使用内嵌Derby数据库做存储
多用户模式-配置
即元数据非Derby, 而使用其他的关系型数据库存储(例如:MySQL、Oracle等)
Hive的元数据:表信息,表属性,分区,列等等信息,Owner
Hive的实际数据:在HDFS上
创建数据库并授权
slave1节点的mysql数据库下面需要提前创建一个名为hive的数据库, 账号密码均为hive
1 | [root@slave1 ~]# mysql -uroot -p |
Hive-site.xml的配置
1 | <configuration> |
配置MySQL驱动
驱动下载:mysql-connector-java-5.1.47.zip
1 | unzip mysql-connector-java-5.1.47.zip |
初始化元数据库
1 | [root@slave3 conf]# schematool -initSchema --dbType mysql |
配置远程模式- 即启动Metastore server服务【生产环境需要配置自启动】
1 | [root@slave3 conf]# hive --service metastore & |
centos7自启
1 | cat /etc/systemd/system/hive_metastore_server.service |
1 | systemctl enable hive_metastore_server |
测试Hive
1 | #查询数据库 |
1 | #创建表 |
HDFS上查看刚刚写入的hdfs数据
注:默认hive创建的数据会在HDFS的/user/hive/warehouse目录,除非修改了配置
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2019/03/27/Mars-Hadoop-Hive环境搭建/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!