且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-04-06 17:23:16

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