hive安装笔记
Hive 安装及配置
1 上传
把 apache-hive-3.1.2-bin.tar.gz 上传到 linux 的/opt/software 目录下
2 解压
解压 apache-hive-3.1.2-bin.tar.gz 到/opt/module/目录下面
[user@master software]$ tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module/
3 改名
修改 apache-hive-3.1.2-bin.tar.gz 的名称为 hive-3.1.2
[user@master module]$ mv apache-hive-3.1.2-bin/ hive-3.1.2
4 hive-env.sh
修改/opt/module/hive-3.1.2/conf 目录下的 hive-env.sh.template 名称为 hive-env.sh
[user@master conf]$ mv hive-env.sh.template hive-env.sh
配置 hive-env.sh 文件
配置 HADOOP_HOME 路径
export HADOOP_HOME=/opt/module/hadoop-3.1.4
配置 HIVE_CONF_DIR 路径
export HIVE_CONF_DIR=/opt/module/hive-3.1.2/conf
5 元数据配置到 MySql
5.1驱动拷贝
1.在/opt/software/mysql-libs 目录下解压 mysql-connector-java-5.1.27.tar.gz 驱动包 [root@datat1 mysql-libs]# tar -zxvf mysql-connector-java-5.1.27.tar.gz
2.拷贝 mysql-connector-java-5.1.27-bin.jar 到/opt/module/hive-3.1.2/lib/
[root@data1 mysql-connector-java-5.1.27]# cp /opt/software/mysql-libs/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /opt/module/hive/lib/
5.2配置 Metastore 到 MySql
在/opt/module/hive/conf 目录下创建一个 hive-site.xml
[atguigu@hadoop102 conf]$ touch hive-site.xml
[atguigu@hadoop102 conf]$ vi hive-site.xml
根据官方文档配置参数,拷贝数据到 hive-site.xml 文件
配置 hive-site.sh 文件
<!--临时文件目录-->
<property>
<name>system:java.io.tmpdir</name>
<value>/user/hive/warehouse</value>
</property>
<!--系统用户名-->
<!--
<property>
<name>system:user.name</name>
<value>${user.name}</value>
</property>
-->
<!--数据库类型-->
<property>
<name>hive.metastore.db.type</name>
<value>mysql</value>
</property>
<!--在MySQL中hive的元数据库-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.1.104:3306/MyNewMetastore?createDatabaseIfNotExist=true</value>
</property>
<!--连接MySQL的驱动-->
<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>
<description>user name for connecting to mysql server</description>
</property>
<!--连接MySQL的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>Ctkj@2020</value>
<description>password for connecting to mysql server</description>
</property>
<!--可以实现显示当前数据库,以及查询表的头信息配置-->
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<!--为了解决INFO 太多问题-->
<property>
<name>hive.server2.logging.operation.enabled</name>
<value>false</value>
</property>
<!--为了解决没有配置Tez问题-->
<property>
<name>hive.execution.engine</name>
<value>mr</value>
</property>
<!--解决hive操作info太多的问题-->
<property>
<name>hive.server2.logging.operation.enabled</name>
<value>false</value>
</property>
4.1.5 启动Hadoop 集群
必须启动 hdfs 和 yarn
[user@data1 hadoop-3.1.4]$ sbin/start-dfs.sh
[user@data2 hadoop-3.1.4]$ sbin/start-yarn.sh
在 HDFS 上创建/tmp 和/user/hive/warehouse 两个目录并修改他们的同组权限可写
(可不操作,系统会自动创建)
[user@data1 hadoop-3.1.4]$ bin/hadoop fs -mkdir /tmp
[user@data1 hadoop-3.1.4]$ bin/hadoop fs -mkdir -p /user/hive/warehouse
[user@data1 hadoop-3.1.4] b i n / h a d o o p f s − c h m o d g + w / t m p [ u s e r @ d a t a 1 h a d o o p − 3.1.4 ] bin/hadoop fs -chmod g+w /tmp [user@data1 hadoop-3.1.4] bin/hadoopfs−chmodg+w/tmp[user@data1hadoop−3.1.4]bin/hadoop fs -chmod g+w /user/hive/warehouse
4.1.6 Hive 基本操作
(1) 启动 hive
[atguigu@hadoop102 hive]$ bin/hive
(2) 查看数据库
hive> show databases;
(3) 打开默认数据库
hive> use default;
(4) 显示 default 数据库中的表
hive> show tables;
(5) 创建一张表
hive> create table student(id int, name string);
(6) 显示数据库中有几张表
hive> show tables;
(7) 查看表的结构
hive> desc student;
(8) 向表中插入数据
hive> insert into student values(1000,"ss");
(9) 查询表中数据
hive> select * from student;
(10) 退出 hive
hive> quit;