Hive 系列文章(二)安装及部署说明
文章摘要
qwen-turbo
此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结
Hive安装前置条件
- 按照 Hive 初始中所说,Hive 是基于 Hadoop 的数据仓库解决方案,所以默认代表已经安装 Hadoop。
- 常用解决方案为适应 MySQL 做为 Hive 的元数据库,所以先安装 MySQL。
- 启动 HDFS 和 YARN
Hive的下载
下载链接http://mirror.bit.edu.cn/apache/hive/
解压文件到指定安装目录
1 | tar -zxvf apache-hive-2.3.3-bin.tar.gz -C ~/App/ |
配置环境变量
打开全局环境变量~/.bash_profile
,将 Hive 安装包 bin 目录导入全局变量中,重载全局变量文件 source ~/.bash_profile
。
1 | vim ~/.bash_profile |
修改配置文件
进入 hive 配置文件目录
1 | cd /Users/baihe/App/apache-hive-2.1.1-bin/conf |
新建hive-site.xml并添加以下内容,打开vi hive-site.xml
文件
1 | <configuration> |
配置说明:
- hive.metastore.uris: metastore server所在的机器,以及使用端口
- hive.server2.thrift.port: server2 使用端口
- javax.jdo.option.ConnectionURL: metastore 数据库配置 host信息
- javax.jdo.option.ConnectionDriverName: metastore 数据库配置 MySQL JDBC驱动类
- javax.jdo.option.ConnectionUserName:metastore 数据库配置 用户
- javax.jdo.option.ConnectionPassword: metastore 数据库配置 密码
- hive.metastore.warehouse.dir: 本地表默认位置
- fs.defaultFS:为 HDFS 的 namenode 启动的机器地址
- beeline.hs2.connection.user : beeline连接用户名
- beeline.hs2.connection.password: beeline连接密码
启动hive
1.若为第一次启动,需要执行初始化命令,以后则只需直接启动 metastore 和 hiveserver
1 | schematool -dbType mysql -initSchema |
2.启动 metastore
1 | nohup hive --service metastore >> /Users/baihe/App/apache-hive-2.1.1-bin/metastore.log 2>&1 & |
3.启动 hive server
1 | nohup hive --service hiveserver2 >> /Users/baihe/App/apache-hive-2.1.1-bin/hiveserver.log 2>&1 & |
4.查看 hive metastore 和 hiveserver2 是否启动成功
1 | ps aux | grep hive |
能输出两个进程,分别对应 metastore 和 hiveserver2。
1 | ➜ ~ ps aux | grep hive |
Hive 常见两种访问方式
- hive
- beeline
1 | ➜ bin beeline |
其中 bigdata 和 bigdata 分别是在 hive-site.xml 配置文件中由 beeline.hs2.connection.user 和 beeline.hs2.connection.password 设置的。 注:如果要使用 beeline 或 JDBC 连接 hive 时,遇到报错:“User: xxx is not allowed to impersonate yyy”,需在 hadoop 的配置文件 core-site.xml 中加入以下配置(其中 红色标志的“xxx”是你启动 hive server2 和 hive metastore 所采用的用户,用户名中 不要包含“.”,比如“cheng.dong”是不支持的),并重启 hiveserver2, hive metastore,HDFS 和 YARN:
1 | <property> |
使用练习
需求说明:现有一个文件student.txt,将其存入hive中,student.txt数据格式如下:
1 | 95002,刘晨,女,19,IS |
1.本地新建测试数据文件
1 | vim /tmp/student.txt |
2.创建一个数据库myhive
1 | 0: jdbc:hive2://localhost:10000/default> create database myhive; |
3.使用新的数据库myhive
1 | 0: jdbc:hive2://localhost:10000/default> use myhive; |
4.查看当前正在使用的数据库
1 | 0: jdbc:hive2://localhost:10000/default> select current_database(); |
5.在数据库myhive创建一张student表
1 | 0: jdbc:hive2://localhost:10000/default> create table student(id int, name string, sex string, age int, department string) row format delimited fields terminated by ","; |
6.往表中加载数据
1 | 0: jdbc:hive2://localhost:10000/default> load data local inpath "/tmp/student.txt" into table student; |
7.查询数据
1 | 0: jdbc:hive2://localhost:10000/default> select * from student; |
8.查看表结构
1 | 0: jdbc:hive2://localhost:10000/default> desc student; |
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自白贺BAIHE - 分享大数据知识及生活感悟
评论 ()