阿里云ECS服务器部署HADOOP集群(四):Hive本地模式的安装

本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建。

本地模式需要采用MySQL数据库存储数据。

1 环境介绍

2 安装 Mysql

参照 mysql 安装(Linux、Ubuntu)

3 Hive 下载

下载 apache-hive-2.3.6-bin.tar.gz 并在合适的位置解压缩,笔者这里解压缩的路径为:

/usr/local

将解压得到的目录改名为 hive

 cd /usr/local
mv apache-hive-2.3.-bin/ hive/

4 添加 Hive 环境变量

在"/etc/profile"中添加内容:

 export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

重新加载环境:

source /etc/profile

5 修改 Hive 配置信息

 cd $HIVE_HOME/conf
# 新建 hive-site.xml 文件, 或者复制已有的 hive-default.xml.templat 模版
vim hive-site.xml

配置可参考如下代码:

 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>password</value>
<description>password to use against metastore database</description>
</property>
</configuration>

6 配置Mysql

6.1 为 Hive 添加 mysql 连接器

下载 mysql-connector-java-5.1.47.tar.gz 并解压至 $HIVE_HOME/lib 下

tar -zxvf mysql-connector-java-5.1..tar.gz -C $HIVE_HOME/lib

6.2 启动并登陆 mysql shell

 service mysql start
mysql -uroot -p

6.3 配置 mysql 允许 hive 接入:

 # 将所有数据库的所有表的所有权限赋给 root 用户
grant all on *.* to root@localhost;
# 刷新mysql系统权限关系表
flush privileges;

7 启动 Hive

启动 hive 之前,确保已启动 HDFS 和 YARN。

 start-all.sh
hive

在启动Hive时,有可能会出现Hive metastore database is not initialized的错误,这里给出解决方案。
解决Hive启动,Hive metastore database is not initialized的错误。出错原因:以前曾经安装了Hive或MySQL,重新安装Hive和MySQL以后,导致版本、配置不一致。解决方法是,使用schematool工具。Hive现在包含一个用于 Hive Metastore 架构操控的脱机工具,名为 schematool.此工具可用于初始化当前 Hive 版本的 Metastore 架构。此外,其还可处理从较旧版本到新版本的架构升级。所以,解决上述错误,你可以在终端执行如下命令:

schematool -dbType mysql -initSchema

执行后,再启动Hive,应该就正常了。

上述出自 http://dblab.xmu.edu.cn/blog/1080-2/

启动进入Hive的交互式执行环境以后,输入 show databases 会先显示如下

hive> show databases;
OK
default
Time taken: 7.312 seconds, Fetched: row(s)

8 安装完成

阿里云ECS服务器部署HADOOP集群系列:

上一篇:j2ee ehcache


下一篇:Greedy:Stripes(POJ 1826)