数据仓库hive安装教程

注:该教程转自厦门大学大数据课程学习总结

一、安装hive

1. 下载好hive之后,解压hive源程序

  1. sudo tar -zxvf ./apache-hive-1.2.1-bin.tar.gz -C /usr/local # 解压到/usr/local中
  2. cd /usr/local/
  3. sudo mv apache-hive-1.2.1-bin hive # 将文件夹名改为hive
  4. sudo chown -R dblab:dblab hive # 修改文件权限

注意,上面的dblab:dblab是用户组和用户名,如果你当前使用用户名hadoop登录了Linux系统,则把dblab替换成hadoop。
2. 配置环境变量
为了方便使用,我们把hive命令加入到环境变量中去,
请使用vim编辑器打开.bashrc文件,命令如下:

  1. vim ~/.bashrc

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

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

HADOOP_HOME需要被配置成你机器上Hadoop的安装路径,比如这里是安装在/usr/local./hadoop目录。
保存退出后,运行如下命令使配置立即生效:

  1. source ~/.bashrc

3. 修改/usr/local/hive/conf下的hive-site.xml
执行如下命令:

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

上面命令是将hive-default.xml.template重命名为hive-default.xml;
然后,使用vim编辑器新建一个配置文件hive-site.xml,命令如下:

  1. cd /usr/local/hive/conf
  2. 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>

然后,按键盘上的“ESC”键退出vim编辑状态,再输入:wq,保存并退出vim编辑器。

二、安装并配置mysql

这里我们采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据。
2.下载mysql jdbc 包,下载地址

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

3. 启动并登陆mysql shell

  1. service mysql start #启动mysql服务
  2. mysql -u root -p #登陆shell界面

4. 新建hive数据库

  1. mysql> create database hive; #这个hive数据库与hive-site.xml中localhost:3306/hive的hive对应,用来保存hive元数据

5. 配置mysql允许hive接入:

  1. mysql> grant all on *.* to hive@localhost identified by 'hive'; #将所有数据库的所有表的所有权限赋给hive用户,后面的hive是配置hive-site.xml中配置的连接密码
  2. mysql> flush privileges; #刷新mysql系统权限关系表

6. 启动hive
启动hive之前,请先启动hadoop集群。

  1. start-all.sh #启动hadoop
  2. hive #启动hive

注意,我们这里已经配置了PATH,所以,不要把start-all.sh和hive命令的路径加上。如果没有配置PATH,请加上路径才能运行命令,比如,本教程Hadoop安装目录是“/usr/local/hadoop”,Hive的安装目录是“/usr/local/hive”,因此,启动hadoop和hive,也可以使用下面带路径的方式:

  1. cd /usr/local/hadoop
  2. ./sbin/start-all.sh
  3. cd /usr/local/hive
  4. ./bin/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 架构。此外,其还可处理从较旧版本到新版本的架构升级。所以,解决上述错误,你可以在终端执行如下命令:

  1. schematool -dbType mysql -initSchema

执行后,再启动Hive,应该就正常了。
启动进入Hive的交互式执行环境以后,会出现如下命令提示符:

  1. hive>

可以在里面输入SQL语句,如果要退出Hive交互式执行环境,可以输入如下命令:

    1. hive>exit;
posted @ 2019-08-27 17:56  ZJdiem  阅读(789)  评论(0)    收藏  举报