《Hadoop海量数据处理:技术详解与项目实战(第2版)》一2.4 安装Hive

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

本节书摘来异步社区《Hadoop海量数据处理:技术详解与项目实战(第2版)》一书中的第2章,第2.4节,作者: 范东来 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.4 安装Hive

在这一节,我们将进行Hive的安装。与安装Hadoop相比,Hive的安装非常简单,并且有些工作已经在安装Hadoop的时候完成,例如JDK的安装。并且Hive作为Hadoop的一个客户端,运行方式并不分为单机模式、伪分布模式、完全分布模式,所以不管读者在上一节选择伪分布模式或者完全分布模式安装Hadoop,安装Hive的方式只有一种。

安装Hive的步骤分为以下两步。

(1)安装元数据库。

(2)修改Hive配置文件。

由于Hadoop选择的Cloudera的CDH5版本,为了不出现兼容性的问题,Hive也选择CDH5的版本,完整的版本号为hive-1.1.0-cdh5.6.0。不管读者采用伪分布模式还是完全分布模式安装Hadoop,Hive可以被安装至集群任意一个节点(以主节点为例)。

2.4.1 安装元数据库

Hive的元数据和数据是分开存放的,数据存放在HDFS上,而元数据默认是存在Hive自带的Derby数据库,但由于Derby只支持同时一个用户访问Hive,所以不推荐使用。我们将使用MySQL作为Hive的元数据库。执行以下命令(以root用户在主节点执行)。

安装MySQL客户端:

yum install mysql

安装MySQL服务器端:

yum install mysql-server
yum install mysql-devel

查看MySQL状态、启动及停止:

service mysqld status
service mysqld start
service mysqld stop

启动MySQL服务后,以root用户登录MySQL执行命令:

mysql -u root -p

创建数据库hive,用来保存Hive元数据:

create database hive;

使hadoop(操作系统用户)用户可以操作数据库hive中的所有表:

GRANT all ON hive.* TO hadoop@'master' IDENTIFIED BY 'hivepwd';
flush privileges;

这样,Hive的元数据库就安装完成。

2.4.2 修改Hive配置文件

先将Hive的安装文件解压,将Hive的安装包移至/opt下,以hadoop用户在master执行:

tar -zxvf /opt/hive-1.1.0-cdh5.6.0.tar.gz

和Hadoop相同,Hive的配置文件还是存放在/opt/hive-1.1.0-cdh5.6.0/conf路径下,以hadoop用户创建文件hive-site.xml,添加以下内容:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
   <property>
     <name>hive.metastore.local</name>
     <value>true</value>
   </property>
   <property>
     <name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
   </property>
   <property>
     <name>javax.jdo.option.ConnectionDriverName</name>
     <value>com.mysql.jdbc.Driver</value>
   </property>
   <property>
     <name>javax.jdo.option.ConnectionUserName</name>
     <value>hadoop</value>
   </property>
   <property>
     <name>javax.jdo.option.ConnectionPassword</name>
     <value>hivepwd</value>
   </property>
</configuration>

修改/opt/hive-1.1.0-cdh5.6.0/conf/hive-env.sh文件,以hadoop用户在文件末尾追加:

export JAVA_HOME=/opt/jdk1.7.0_80
export HADOOP_HOME=/opt/hadoop-2.6.0-cdh5.6.0

将MySQL的JDBC驱动jar包移到hive-1.1.0-cdh5.6.0/lib文件夹下,否则Hive不能成功连接MySQL,最后还需配置环境变量,以root用户在/etc/profile文件末尾追加:

export HIVE_HOME=/opt/hive-1.1.0-cdh5.6.0
export PATH=$PATH:$HIVE_HOME/bin

追加后执行命令使环境变量立即生效:

source /etc/profile

2.4.3 验证安装

首先启动Hadoop和MySQL,然后执行:

hive

进入Hive命令行,执行命令,创建一个名为test的表,并查询该表的记录数:

create table test(id int);
select count(*) from test;

如无异常并且结果显示为0,则安装成功。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
SQL 分布式计算 关系型数据库
Hadoop-13-Hive 启动Hive 修改启动参数命令行启动测试 几句简单的HQL了解Hive
Hadoop-13-Hive 启动Hive 修改启动参数命令行启动测试 几句简单的HQL了解Hive
88 2
|
2月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
159 2
|
2月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
143 1
|
3月前
|
SQL 分布式计算 Hadoop
手把手的教你搭建hadoop、hive
手把手的教你搭建hadoop、hive
237 1
|
3月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
125 3
|
3月前
|
SQL 分布式计算 Hadoop
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
115 3
|
3月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
69 2
|
3月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
153 0
|
5月前
|
分布式计算 资源调度 Hadoop
centos7二进制安装Hadoop3
centos7二进制安装Hadoop3
|
5月前
|
分布式计算 Ubuntu Hadoop
在Ubuntu 16.04上如何在独立模式下安装Hadoop
在Ubuntu 16.04上如何在独立模式下安装Hadoop
60 1