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

本文涉及的产品
RDSClaw,2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介:

本节书摘来异步社区《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,则安装成功。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
645 79
|
SQL 分布式计算 关系型数据库
Hadoop-13-Hive 启动Hive 修改启动参数命令行启动测试 几句简单的HQL了解Hive
Hadoop-13-Hive 启动Hive 修改启动参数命令行启动测试 几句简单的HQL了解Hive
460 2
|
SQL 分布式计算 关系型数据库
基于云服务器的数仓搭建-hive/spark安装
本文介绍了在本地安装和配置MySQL、Hive及Spark的过程。主要内容包括: - **MySQL本地安装**:详细描述了内存占用情况及安装步骤,涉及安装脚本的编写与执行,以及连接MySQL的方法。 - **Hive安装**:涵盖了从上传压缩包到配置环境变量的全过程,并解释了如何将Hive元数据存储配置到MySQL中。 - **Hive与Spark集成**:说明了如何安装Spark并将其与Hive集成,确保Hive任务由Spark执行,同时解决了依赖冲突问题。 - **常见问题及解决方法**:列举了安装过程中可能遇到的问题及其解决方案,如内存配置不足、节点间通信问题等。
基于云服务器的数仓搭建-hive/spark安装
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
691 2
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
596 1
|
SQL 分布式计算 Hadoop
手把手的教你搭建hadoop、hive
手把手的教你搭建hadoop、hive
1169 1
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
423 3
|
SQL 分布式计算 Hadoop
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
368 3
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
325 2
|
分布式计算 资源调度 Hadoop
centos7二进制安装Hadoop3
centos7二进制安装Hadoop3

相关实验场景

更多