Hadoop Hive 安装 并配置 MySQL 数据库

相关版本

名称 详情
Hive 1.2.2(下载地址)
MySQL驱动 connector-java-5.1.48(下载地址)
MySQL安装 教程地址

解压Hive的tar包

# 进入src目录
cd /usr/local/src/

# 创建 hive 目录
mkdir hive

# 解压tar包到创建的hive目录
tar -zxvf apache-hive-1.2.2-bin.tar.gz -C hive/

配置环境变量

# 编辑环境变量
vi ~/.bash_profile

# 加入环境变量
# Hive
export HIVE_HOME=/usr/local/src/hive/apache-hive-1.2.2-bin
export PATH=$HIVE_HOME/bin:$PATH:

# 更新环境变量
source ~/.bash_profile

修改 Hive 配置文件

# 进入conf
[root@master conf]# ll
总用量 188
-rw-rw-r--. 1 root root   1139 4月  30 2015 beeline-log4j.properties.template
-rw-rw-r--. 1 root root 168431 6月  19 2015 hive-default.xml.template
-rw-rw-r--. 1 root root   2378 4月  30 2015 hive-env.sh.template
-rw-rw-r--. 1 root root   2662 4月  30 2015 hive-exec-log4j.properties.template
-rw-rw-r--. 1 root root   3050 4月  30 2015 hive-log4j.properties.template
-rw-rw-r--. 1 root root   1593 4月  30 2015 ivysettings.xml

# 复制 hive-env.sh 模板
[root@master conf]# cp hive-env.sh.template hive-env.sh

# 编辑 hive-env.sh 的内容
[root@master conf]# vi hive-env.sh

    # 加入HADOOP_HOME的路径
    # Set HADOOP_HOME to point to a specific hadoop install directory
    HADOOP_HOME=/usr/local/src/hadoop/hadoop-2.9.2

    # 修改了HIVE的配置,指定修改的配置的文件
    # Hive Configuration Directory can be controlled by:
    export HIVE_CONF_DIR=/usr/local/src/hive/apache-hive-1.2.2-bin/conf

# 保存退出,更新 hive-env.sh 文件
[root@master conf]#source hive-env.sh

mark

尝试进入 Hive,在退出

在进入之前 需要删除一个文件

删除
$HADOOP_HOME/share/hadoop/yarn/lib/jline-0.9.94.jar 文件
[root@master conf]# hive
Logging initialized using configuration in jar:file:/usr/local/src/hive/apache-hive-1.2.2-bin/lib/hive-common-1.2.2.jar!/hive-log4j.properties
hive> exit;
[root@master conf]#

MySQL配置

首先进入MySQL里,修改完成后,记得重启数据库

1、 开启MySQL远程连接
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码';
mysql> flush privileges;

2、创建一个数据库
mysql> create database hive;
Query OK, 1 row affected (0.00 sec)

配置 Hive 数据库为 MySQL

需要在 $HIVE_HOME 的 conf 目录下复制一个模板

如果不复制模板,可以单独创建 hive-site.xml 文件,注意使用 <configuration> 标签把配置包裹起来

cp hive-default.xml.template hive-site.xml

<!-- 配置MySQL数据库地址 -->
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://MySQL的IP:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value>
    <description>JDBC connect string for a JDBC metastore</description>
</property>

<!-- 配置MySQL驱动 -->
<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>Aa@12345678</value>
    <description>password to use against metastore database</description>
</property>

<!--  复制模板的需要添加 -->
<property>
   <name>system:java.io.tmpdir</name>
   <value>/usr/local/src/hive/tmpdir</value>
</property>
<property>
     <name>system:user.name</name>
     <value>hive</value>
</property>

初始化 Hive 数据库

首先需要把 MySQL 驱动放入 Hive 的 lib 目录下

[root@master conf]# schematool -dbType mysql -initSchema
Metastore connection URL:     jdbc:mysql://192.168.176.65:3306/hive
Metastore Connection Driver :     com.mysql.jdbc.Driver
Metastore connection User:     root
Starting metastore schema initialization to 1.2.0
Initialization script hive-schema-1.2.0.mysql.sql
Initialization script completed
schemaTool completed (初始化完成)
[root@master conf]#

启动 Hive

[root@master hive]# hive

Logging initialized using configuration in jar:file:/usr/local/src/hive/apache-hive-1.2.2-bin/lib/hive-common-1.2.2.jar!/hive-log4j.properties
hive>

推荐阅读:Hive 搭建常见错误

发表评论 / Comment

用心评论~