Hive的安装

1.下载安装文件

通过下面的命令来下载Hive安装文件apache-hive-3.1.2-bin.tar.gz。

cd ~
wget http://10.51.46.104:32600/allfiles/hadoop3.0_examples/apache-hive-3.1.2-bin.tar.gz

下载完安装文件以后,需要对文件进行解压。按照Linux系统使用的默认规范,用户安装的软件一般都是存放在“/usr/local/”目录下。请在Linux系统中打开一个终端,执行如下命令(Hadoop的密码为:hadoop):

sudo tar -zxvf ~/apache-hive-3.1.2-bin.tar.gz -C /usr/local   # 解压到/usr/local中
cd /usr/local/
sudo mv apache-hive-3.1.2-bin hive       # 将文件夹名改为hive
sudo chown -R hadoop ./hive          # 修改文件权限

2.配置环境变量

为了方便使用,可以把hive命令加入到环境变量PATH中,从而可以在任意目录下直接使用hive命令启动,请使用vim编辑器打开“~/.bashrc”文件进行编辑,命令如下:

vim ~/.bashrc

在该文件的最前面一行添加如下内容:

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

保存该文件并退出vim编辑器,然后,运行如下命令使得配置立即生效:

source ~/.bashrc

3.修改配置文件

将“/usr/local/hive/conf”目录下的hive-default.xml.template文件重命名为hive-default.xml,命令如下:

cd /usr/local/hive/conf
sudo mv hive-default.xml.template hive-default.xml

同时,使用vim编辑器新建一个文件hive-site.xml,命令如下:

cd /usr/local/hive/conf
vim hive-site.xml

在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://localhost: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>hive</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>password to use against metastore database</description>
  </property>
</configuration>

4.安装并配置MySQL

这里采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据,因此,需要安装MySQL数据库。

(1)安装MySQL

安装命令如下:

sudo apt-get update
sudo apt-get install mysql-server

设置MySQL的root用户密码,输入hadoop,然后按回车继续安装。

再次输入MySQL的root用户密码:hadoop,然后按回车继续安装。

(2)下载MySQL JDBC驱动程序

为了让Hive能够连接到MySQL数据库,需要下载MySQL JDBC驱动程序。

下载命令如下:

cd ~
wget http://10.51.46.104:32600/allfiles/hadoop3.0_examples/mysql-connector-java-5.1.40.tar.gz

执行如下命令解压缩文件:

cd ~
tar -zxvf mysql-connector-java-5.1.40.tar.gz   #解压
#下面将mysql-connector-java-5.1.40-bin.jar拷贝到/usr/local/hive/lib目录下
cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar  /usr/local/hive/lib

(3)启动MySQL

执行如下命令启动MySQL,并进入“mysql>”命令提示符状态:

sudo service mysql start  #启动MySQL服务
mysql -u root -p   #登录MySQL数据库

系统会提示输入root用户的密码,安装MySQL数据库时,把MySQL的root用户密码设置为hadoop,因此,这里可以输入hadoop。

(4)在MySQL中为Hive新建数据库

现在,需要在MySQL数据库中新建一个名称为hive的数据库,用来保存Hive的元数据。MySQL中的这个hive数据库,是与Hive的配置文件hive-site.xml中的“mysql://localhost:3306/hive”对应起来的,用来保存Hive元数据。在MySQL数据库中新建hive数据库的命令,需要在“mysql>”命令提示符下执行,具体如下:

create database hive;

(5)配置MySQL允许Hive接入

需要对MySQL进行权限配置,允许Hive连接到MySQL。

grant all on *.* to hive@localhost identified by 'hive'; 
flush privileges;

上面的第1行命令,将MySQL的所有数据库的所有表的所有权限赋给hive用户,后面的hive是在配置文件hive-site.xml中事先设置的连接密码。第2行命令,用来刷新MySQL系统权限关系表。

(6)启动Hive

Hive是基于Hadoop的数据仓库,会把用户输入的查询语句自动转换成为MapReduce任务来执行,并把结果返回给用户。因此,启动Hive之前,需要先启动Hadoop集群,命令如下:

cd /usr/local/hadoop
./sbin/start-dfs.sh

然后,再执行如下命令启动Hive:

cd /usr/local/hive
./bin/hive

实际上,由于之前已经配置了环境变量PATH,因此,也可以直接使用如下命令启动hive:

hive

在启动Hive时,有可能会出现“Hive metastore database is not initialized”的错误。

出现这个错误的原因是,以前曾经安装了Hive或MySQL,重新安装Hive和MySQL以后,导致版本、配置不一致。解决方法是,使用schematool工具。Hive现在包含一个用于Hive Metastore 架构操控的脱机工具——schematool。此工具可用于初始化当前Hive版本的Metastore架构。此外,它还可处理从较旧版本到新版本的架构升级。所以,为了解决上述错误,可以在终端中执行如下命令(注意,不是在“mysql>”命令提示下执行):

schematool -dbType mysql –initSchema

是因为Hive内依赖的guava.jar和Hadoop内的版本不一致造成的。解决方法是,查看Hadoop安装目录下“share/hadoop/common/lib”内guava.jar版本,再查看Hive安装目录下的lib目录内guava.jar的版本,如果两者不一致,删除版本低的,并拷贝高版本的。

如上图,删除Hive安装目录下的lib目录内的guava-19.0.jar,并将Hadoop安装目录下的guava-27.0-jre.jar拷贝至Hive安装目录下的lib目录内。

再启动Hive时,如果遇到如下错误:

解决该错误的方法是执行如下命令:

cd /usr/local/hive
./bin/schematool -dbType mysql -initSchema

然后,再执行如下命令启动Hive:

cd /usr/local/hive
./bin/hive

即可成功启动hive。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值