在 Linux 中使用外部 Metastore 进行 Hive 安装
先决条件:
- Java 7
- Hadoop(请参阅此处了解 Hadoop 安装)
- Mysql Server 和 Client
安装:
步骤 1:从下载页面下载最新的 Hive tarball。
第 2 步:解压缩下载的 tarball( 假设: tarball 在$ HOME 中下载 )
tar -xvf /home/username/apache-hive-x.y.z-bin.tar.gz
第 3 步:更新环境文件(~/.bashrc
)
export HIVE_HOME=/home/username/apache-hive-x.y.z-bin
export PATH=$HIVE_HOME/bin:$PATH
获取文件以设置新的环境变量。
source ~/.bashrc
步骤 4:从此处下载 mysql 的 JDBC 连接器并将其解压缩。
tar -xvf mysql-connector-java-a.b.c.tar.gz
解压缩的目录包含连接器 jar 文件 mysql-connector-java-a.b.c.jar
。将它复制到 $HIVE_HOME
的 lib
cp mysql-connector-java-a.b.c.jar $HIVE_HOME/lib/
组态:
在 $HIVE_HOME/conf/
目录下创建配置文件 hive-site.xml
,并添加以下与 Metastore 相关的属性。
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/hive_meta</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>mysqluser</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>mysqlpass</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>datanucleus.autoCreateSchema</name>
<value>false</value>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>true</value>
</property>
</configuration>
在属性中相应地更新 MySQL用户名和密码的值。
创建 Metastore 架构:
metaatore 模式脚本在 $HIVE_HOME/scripts/metastore/upgrade/mysql/
下可用
登录 MySQL 并获取架构,
mysql -u username -ppassword
mysql> create database hive_meta;
mysql> use hive_meta;
mysql> source hive-schema-x.y.z.mysql.sql;
mysql> exit;
启动 Metastore:
hive --service metastore
要在后台运行它,
nohup hive --service metastore &
启动 HiveServer2 :( 如果需要,使用)
hiveserver2
要在后台运行它,
nohup hiveserver2 metastore &
注意: 这些可执行文件在 $HIVE_HOME/bin/
下可用
连接:
使用 hive
,beeline
或 Hue 连接 Hive。
不推荐使用 Hive CLI,建议使用 Beeline 或 Hue。
Hue 的其他配置:
在 $HUE_HOME/desktop/conf/hue.ini
中更新此值
[beeswax]
hive_conf_dir=/home/username/apache-hive-x.y.z-bin/conf