Hive安装以及MySQL相关配置

一、安装Hive

1、下载Hive安装包

官网下载地址:http://hive.apache.org/downloads.html

网速慢可以使用这个链接:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/

2、安装步骤

(1)将下载的安装包解压到服务器 /opt/module/ 目录下

$ tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/

(2)将文件夹 apache-hive-1.2.1-bin 改名为 hive

$  mv apache-hive-1.2.1-bin/ hive

(3)进入到 /opt/module/hive/conf 目录,将 hive-env.sh.template 修改为 hive-env.sh

$ cd /opt/module/hive/conf

$ mv hive-env.sh.template hive-env.sh

(4)配置 hive-env.sh

在 hive-env.sh 文件中配置Hadoop目录和Hive conf目录

export HADOOP_HOME=/opt/module/hadoop-2.7.2

export HIVE_CONF_DIR=/opt/module/hive/conf

3、HDFS相关操作

在启动Hive之前必须先启动HDFS和Yarn。在Hadoop安装目录下执行:

$ sbin/start-dfs.sh

$ sbin/start-yarn.sh

正常来说,在启动Hive的时候回自动在HDFS上创建 /tmp 和 /user/hive/warehouse 目录。如果不能自动创建,可以手动创建并修改相关权限:

$ bin/hadoop fs -mkdir /tmp

$ bin/hadoop fs -mkdir -p /user/hive/warehouse

$ bin/hadoop fs -chmod g+w /tmp

$ bin/hadoop fs -chmod g+w /user/hive/warehouse

至此,Hive已经安装完成并可以正常使用。在 /opt/module/hive 目录下执行$ bin/hive如果能正常进入Hive Shell就没问题了。

但是 Hive Metastore(元数据)默认存储在Hive自带的derby数据库中,一般来说我们会使用MySQL存储 Metastore,所以接下来我们要做一些配置,告诉Hive以后使用MySQL来存储Metastore。

 

二、配置MySQL存储Metastore

假设目前已经安装了MySQL。

1、MySQL配置

我们需要在MySQL中做一些配置,需要将MySQL中 mysql 数据库的 user 表的 host 修改为 %。

mysql> use mysql;

mysql> select User, Host, Password from user;

mysql> update user set host=’%’ where host=’localhost’;

删除 root 用户的其它host

mysql> delete from user where Host=’master’;

mysql> delete from user where Host=’127.0.0.1′;

mysql> delete from user where Host=’::1′;

刷新退出

mysql> flush privileges;

mysql> quit;

2、Hive配置

(1)下载相关驱动包(点此下载),解压后继续解压里面的 mysql-connector-java-5.1.27.tar.gz 得到 mysql-connector-java-5.1.27-bin.jar 包,然后将该文件传到 /opt/module/hive/lib 目录下。

(2)在 /opt/module/hive/conf 目录下创建一个 hive-site.xml,并将以下内容粘贴进去(注意修改数据库地址、端口、用户名以及密码):

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration> 
  <property> 
    <name>javax.jdo.option.ConnectionURL</name>  
    <value>jdbc:mysql://master:3306/metastore?createDatabaseI fNotExist=true</value>  
    <description>此处的master替换为自己的MySQL机器IP或主机名称</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>000000</value>  
    <description>password to use against metastore database</description> 
  </property> 
</configuration>

然后重新启动Hive,可以在MySQL中看到多了一个 metastore 数据库。

三、日志位置配置

Hive的默认日志位置为/tmp/[当前用户名]/hive.log,我们需要将其配置到/opt/module/hive/logs/hive.log中。共有两步:

1、将/opt/module/hive/conf路径下的hive-log4j.properties.template文件名称为hive-log4j.properties

2、在该文件中修改配置hive.log.dir=/opt/module/hive/logs,重启hive生效。

四、查询结果显示优化

在 hive-site.xml 文件中加入以下配置,会在查询是显示当前数据库、当前表以及字段相关信息。

<property>
  <name>hive.cli.print.header</name>
  <value>true</value>
</property>
<property>
  <name>hive.cli.print.current.db</name>
  <value>true</value>
</property>

注:可以在hive中使用 set 命令查看所有配置信息,如:hive>set;,查看具体某一项配置可以使用 set [配置项],如:hive>set hive.cli.print.current.db;

点个赞呗:程序员虾说 » Hive安装以及MySQL相关配置

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

请作者喝杯咖啡~

支付宝扫一扫打赏

微信扫一扫打赏