CentOS7基于Hadoop 2.7.3安装Hive 2.1.1
来源:互联网 发布:程序员年度工作总结 编辑:程序博客网 时间:2024/05/23 01:24
1.前言
说明:安装hive前提是要先安装hadoop集群,并且hive只需要再hadoop的namenode节点集群里安装即可(需要再所有namenode上安装),可以不在datanode节点的机器上安装。另外还需要说明的是,虽然修改配置文件并不需要你已经把hadoop跑起来,但是本文中用到了hadoop命令,在执行这些命令前你必须确保hadoop是在正常跑着的,而且启动hive的前提也是需要hadoop在正常跑着,所以建议你先将hadoop跑起来在按照本文操作。有关如何安装和启动hadoop集群,请参考:
CentOS7.0下Hadoop 2.7.3集群搭建
2.下载安装Hive2.1.1
2.1.下载Hive 2.1.1
下载地址:http://hive.apache.org/downloads.html
点击图中的Download a release now!
按照步骤找到作一镜像,使用wget命令下载:
- 1
2.2.安装hive 2.1.1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
3.配置hive
3.1.配置hive-site.xml
- 1
- 2
- 3
- 4
- 5
- 6
3.1.1 使用hadoop新建hdfs目录
因为在hive-site.xml中有这样的配置:
- 1
- 2
- 3
- 4
所以要在Hadoop集群新建/user/hive/warehouse目录,执行命令
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
3.1.2.修改hive-site.xml中的临时目录
将hive-site.xml文件中的${system:java.io.tmpdir}替换为hive的临时目录,例如我替换为/usr/local/apache-hive-2.1.1/tmp/,该目录如果不存在则要自己手工创建,并且赋予读写权限。
- 1
- 2
- 3
例如原来:
- 1
- 2
- 3
- 4
替换为:
- 1
- 2
- 3
- 4
- 5
- 6
3.1.3.将配置文件中${system:user.name}都替换为root
例如原来:
- 1
- 2
- 3
- 4
替换为:
- 1
- 2
- 3
- 4
- 5
说明: 以上给出的只是配置文件中截取了几处以作举例,你在替换时候要认真仔细的全部替换掉。
3.1.4.修改hive-site.xml数据库相关的配置
3.1.4.1. javax.jdo.option.ConnectionDriverName,将该name对应的value修改为MySQL驱动类路径:
- 1
- 2
- 3
- 4
3.1.4.2. javax.jdo.option.ConnectionURL,将该name对应的value修改为MySQL的地址:
- 1
- 2
3.1.4.3.javax.jdo.option.ConnectionUserName,将对应的value修改为MySQL数据库登录名:
- 1
- 2
3.1.4.4.javax.jdo.option.ConnectionPassword,将对应的value修改为MySQL数据库的登录密码:
- 1
3.1.4.5.将MySQL驱动包上载到Hive的lib目录下
- 1
3.2.新建hive-env.sh文件并进行修改
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
4.启动和测试
有关安装与配置MySQL数据库请参考文章:CentOS7.0安装配置MySQL5.7
4.1.对MySQL数据库初始化
- 1
- 2
- 3
- 4
执行成功后,在mysql的hive数据库里已生成metadata数据表:
4.2.启动Hive
- 1
- 2
4.3.测试Hive
4.3.1.简单测试
成功启动Hive后,会进入hive的命令行模式,下面进行一系列简单测试:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
4.3.2.执行新建库、表以及导入数据的测试
执行新建数据库的hive命令:
hive>create database starbucks;
hive>use starbucks;
hive> create table sbux_nc_req
(
request_id bigint,
message_type_id int,
request_type int,
request_time string,
request_url string,
request_source int,
request_body string,
response_time string,
send_time string,
attachment_id int,
template_id bigint,
linked_template_id string,
linked_job_id bigint,
application_id int,
created_by string,
creation_date string,
last_updated_by string,
last_updated_date string
) row format delimited fields terminated by ‘\t\t\t’;
hive> load data local inpath ‘/var/lib/mysql-files/sbux_nc_req.dat’ into table sbux_nc_req;
注:sbux_nc_req.dat文件可能在mysql数据库里生成,生成方法如下:
- 1
4.3.3.查看是否成功
hive> select * from sbux_nc_req;
4.3.4.在Hadoop的HDFS页面上查看
4.3.5.在MySQL的hive数据库中查看
- CentOS7基于Hadoop 2.7.3安装Hive 2.1.1
- CentOS7基于Hadoop 2.7.3安装Hive 2.1.1
- CentOS7.0基于hadoop集群安装配置Hive
- Hadoop基于Linux-CentOS7安装-安装Hadoop
- Hadoop-2.7.3环境下Hive-2.1.1安装配置。
- Linux中基于hadoop安装hive(CentOS7+hadoop2.8.0+hive2.1.1)
- CentOS7下Hive-2.1.1安装
- 基于hadoop集群的hive安装(1)derby
- Hadoop基于Linux-CentOS7安装-初识Linux
- Hive之 hive-1.2.1 + hadoop 2.7.4 集群安装
- Centos7 hadoop集群 mysql、hive、sentry安装验证
- centos7.1安装部署Hadoop
- hadoop(1):centos 安装 hadoop & hive
- Centos7下Hive-1.2.1安装部署
- CentOS7安装Hive
- Centos7 安装hive
- 基于hadoop集群的hive安装 mysql as metastore database
- 基于hadoop集群的hive 安装及异常解决方法
- 微软学者 | 以前沿视角,做计算机领域的瞭望者
- websocket @ServerEndpoint注解说明
- 28. Implement strStr()(KMP算法)
- sublime卸载不干净的问题
- c++赋值兼容规则
- CentOS7基于Hadoop 2.7.3安装Hive 2.1.1
- java获得两个日期之间的所有月份和所有
- Java RSA非对称加密详解
- HDU
- 第14章 任务和特权级保护
- mysql的锁总结
- MySQL修改root密码的多种方法
- C语言基础与提高
- LAMP、LNMP,YUM安装详解流程细述及Mysql主从架构的复制原理及配置详解