hive可以基于源码的方式安装,也可以使用二进制安装包安装,此文档基于二进制安装
前期准备工作,完成hadoop集群的安装
Hive中最最重要的角色就是metastore
因此按照metastore的管理共有四种hive的安装搭建方式:
官网参考地址如下:hive官网安装方式文档
1、Local/Embedded Metastore Database(Derby)
2、Remote Metastore Database
3、Local/Embedded Metastore Server
4、Remote Metastore Server
根据上述分类,可以简单归纳为以下三类
1、使用Hive自带的内存数据库Derby作为元数据存储
2、使用远程数据库mysql作为元数据存储
3、使用本地/远程元数据服务模式安装Hive
包的下载地址
scp ~/Desktop/参考资料/java/大数据/apache-hive-2.3.9-bin.tar.gz root@node01:/opt/
tar xf apache-hive-2.3.9-bin.tar.gz -C /opt/bigdata/
cd bigdata/
mv apache-hive-2.3.9-bin hive-2.3.9
环境变量
export JAVA_HOME=/usr/java/default
export HADOOP_HOME=/opt/bigdata/hadoop-2.6.5
export HIVE_HOME=/opt/bigdata/hive-2.3.9
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
source /etc/profile
配置文件
cd $HIVE_HOME/conf
cp hive-default.xml.template hive-site.xml
sed -i '//,/<\/configuration>/d' hive-site.xml
配置
cat >> hive-site.xml <<-EOF
hive.metastore.warehouse.dir
/use/hive/warehouse
javax.jdo.option.ConnectionURL
jdbc:mysql://192.168.7.17:3306/hive?createDatabaseIfNotExist=true
数据库连接
javax.jdo.option.ConnectionDriverName
com.mysql.cj.jdbc.Driver
javax.jdo.option.ConnectionUserName
meifute
javax.jdo.option.ConnectionPassword
meifute
EOF
mysql驱动
cd /Users/jinxingguang/.m2/repository/mysql/mysql-connector-java/8.0.25
scp mysql-connector-java-8.0.25.jar root@node01:/opt/bigdata/hive-2.3.9/lib/
初始化元数据数据库
su - god
schematool -dbType mysql -initSchema
可以在MySQL中查看
show databases;
hive命令行
[god@node01 ~]$ hive
查看hive数据库
hive> show databases;
创建表
create table tbl(id int,age int);
查看表结构
desc formatted tbl;
hdfs dfs -ls -R /use/hive/warehouse
插入数据
insert into tbl values(1,1);
查看数据
select * from tbl;
hdfs dfs -cat /use/hive/warehouse/tbl/*
cat -A 000000_0
1^A1$
客户端利用Thrift协议通过MetaStoreServer访问元数据库
拷贝hive包
cd /opt/bigdata
scp -rp hive-2.3.9 root@node02:`pwd`
scp -rp hive-2.3.9 root@node03:`pwd`
scp -rp hive-2.3.9 root@node04:`pwd`
chown -R god:root /opt/bigdata/
profile
export HIVE_HOME=/opt/bigdata/hive-2.3.9
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
服务端node03
配置文件
[root@node03 conf]# cat hive-site.xml
hive.metastore.warehouse.dir
/user/hive_remote/warehouse
javax.jdo.option.ConnectionURL
jdbc:mysql://192.168.7.17:3306/hive_remote?createDatabaseIfNotExist=true
数据库连接
javax.jdo.option.ConnectionDriverName
com.mysql.cj.jdbc.Driver
javax.jdo.option.ConnectionUserName
meifute
javax.jdo.option.ConnectionPassword
meifute
服务端初始化
[root@node03 conf]# su - god
schematool -dbType mysql -initSchema
服务端启动
hive --service metastore
客户端node04
配置文件
[root@node04 conf]# cat hive-site.xml
hive.metastore.warehouse.dir
/user/hive_remote/warehouse
hive.metastore.uris
thrift://node03:9083
thrift地址
客户端命令行查看
su - god
hive
hive> show tables;
创建数据库
create database test;
只是在hdfs层面创建
hdfs dfs -ls -R /user/hive_remote/warehouse