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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
12天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
14天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
54 1
|
15天前
|
分布式计算 Hadoop Java
centos 部署Hadoop-3.0-高性能集群(一)安装
centos 部署Hadoop-3.0-高性能集群(一)安装
16 0
|
3月前
|
SQL 数据采集 分布式计算
Hadoop和Hive中的数据倾斜问题及其解决方案
Hadoop和Hive中的数据倾斜问题及其解决方案
44 0
|
3月前
|
SQL 分布式计算 安全
HIVE启动错误:org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeExcept
HIVE启动错误:org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeExcept
136 0
|
3月前
|
SQL 存储 分布式计算
Hadoop中的Hive是什么?请解释其作用和用途。
Hadoop中的Hive是什么?请解释其作用和用途。
38 0
|
3月前
|
SQL 存储 编解码
Hive中的压缩技术是如何实现的?请解释其原理和常用压缩算法。
Hive中的压缩技术是如何实现的?请解释其原理和常用压缩算法。
28 0
|
3月前
|
分布式计算 资源调度 Hadoop
在Linux系统上安装Hadoop的详细步骤
【1月更文挑战第4天】在Linux系统上安装Hadoop的详细步骤
418 0
|
3月前
|
SQL 分布式计算 Java
linux安装Hive详细步骤
【1月更文挑战第2天】linux安装Hive详细步骤
147 0
|
4月前
|
SQL 分布式计算 关系型数据库
Hive安装
Hive安装
46 1