Hive安装包下载地址
Index of /dist/hive
上传解压
[root@master opt]# cd /usr/local/
[root@master local]# tar -zxvf /opt/apache-hive-3.1.2-bin.tar.gz
重命名及更改权限
mv apache-hive-3.1.2-bin hive
chown -R hadoop:hadoop hive
配置环境变量
#编辑配置
vi /etc/profile
#配置hive环境变量
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
#source使其生效
source /etc/profile
添加Hive核心配置,选择远程MySQL模式
<?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://master:3306/hivedb?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
</property>
<!-- 修改为自己的Mysql账号 -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- 修改为你自己的Mysql密码 -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
<!-- 忽略HIVE 元数据库版本的校验,如果非要校验就得进入MYSQL升级版本 -->
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<!-- hiveserver2 -->
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>master</value>
</property>
</configuration>
下载连接MySQL的驱动包到hive的lib目录下
cd /opt
# 下载MySQL驱动包
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar
cp mysql-connector-java-8.0.17.jar /usr/local/hive/lib/
mysql创建Hive的元数据存储库
登录mysql
mysql -u root -p
#创建hive元数据库
create databases hive
#这个hive数据库与hive-site.xml中localhost:3306/hive的hive对应,两者名称必须一致,用来保存hive元数据
Hive初始化
cd /usr/local/hive/bin
./schematool -initSchema -dbType mysql
#使用Hive自带的schematool工具升级元数据,也就是把最新的元数据重新写入MySQL数据库中。
可以在终端中执行如下命令(注意,不是在“mysql>”命令提示下执行):
成功会出现下面两行
注:如果初始化失败了,要将hivedb中的ctlgs表删掉再初始化---->
不然启动会报错
Error: Table 'ctlgs' already exists (state=42S01,code=1050) org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !! Underlying cause: java.io.IOException : Schema script failed, errorcode 2 Use --verbose for detailed stacktrace. *** schemaTool failed ***
启动Hive
我已配置环境变量,所以直接在任意目录下执行hive即可
#启动hadoop集群
cd /usr/local/hadoop #进入Hadoop安装目录
./sbin/start-all.sh
#启动hive
[root@master bin]# hive
#如果没配置环境变量,则要用下面的方式启动
cd /usr/local/hive
./bin/hive
一些简单测试Hive操作:
create database hive;
create table test1(id int,area string);
INSERT INTO test1 (id, area) VALUES (1, 'beijing');
select * from test1;
参考文章:
Hive安装超详细教程 - 掘金
Hive3.1.3安装和使用指南_厦大数据库实验室博客
Hadoop+Hive三节点集群环境搭建-CSDN博客
hive添加用户_mob64ca12dba5b0的技术博客_51CTO博客