Linux 下搭建 Hive 环境
作者:Grey
原文地址:
前置工作
首先,需要先完成
本文基于上述三个环境已经搭建完成的基础上进行 Hive 的搭建工作。
Hive 版本:2.2.0
如果使用的软件版本不一致,请以官方搭建文档为准。
此外,需要准备一个 MySQL 服务器,我这里准备的 MySQL 服务器 IP 是:192.168.100.129,端口是 3306。
MySQL 的安装参考:CentOS 7 下安装 MySQL 8.x
这里用的 MySQL 版本是:5.7.40
注:目前这个版本的 Hive,用 MySQL 5.7 版本不会报错,用MySQL 8.0 版本会报错,
MySQL 的 Connector 版本是:5.1.40
注:确保 master 服务器可以访问这个 MySQL 服务器上的 MySQL 服务。,如果用的 MySQL 版本不同,对应的 Connector 需要下载可适配 MySQL 版本的。
安装步骤
Hive 安装在 master 节点上,
将下载好的 Hive 安装包和 MySQL 对应的 Connector 包上传到 /datalake 目录下
apache-hive-2.2.0-bin.tar.gz
mysql-connector-java-5.1.40.tar.gz
解压这几个安装包
cd /datalake
tar -zxvf apache-hive-2.2.0-bin.tar.gz
将解压的软件移动到 /usr/local 目录
cd /datalake
mv apache-hive-2.2.0-bin /usr/local/hive
配置环境变量
vi /etc/profile
将 Hive 添加到环境变量
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$JAVA_HOME/bin:$ZK_HOME/bin:$KAFKA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$HIVE_HOME/bin
应用环境变量
source /etc/profile
解压 MySQL 的 Connector 包
tar -xzvf mysql-connector-java-5.1.40.tar.gz
将 Connector 的 jar 拷贝到 Hive 的 lib 目录中
cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/hive/lib/
修改 Hive 的配置文件
cd $HIVE_HOME/conf && cp hive-default.xml.template hive-site.xml
将 hive-site.xml 的内容设置为
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.100.129:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>dump</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>1234</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
</configuration>
注:以上配置根据你自定义的 MySQL 来配置,例如用户名密码和连接信息。
启动 Hive,执行
hive
查看数据库,已经新建出 Schema
测试一下,在 hive 中执行如下命令创建一个表
CREATE TABLE t2(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
创建成功并查看这个表的信息
访问:http://192.168.100.130:50070/explorer.html#/user/hive/warehouse
可以查看创建的 t2 表信息