hive的搭建

apache Hive官网下载 apache-hive-3.1.2-bin.tar.gz
华为镜像站下载MySQL mysql-connector-java-8.0.29.jar
/usr/local/soft/jars 上传到该目录下

1、解压

该目录下解压 到上一个目录下 tar -zxvf apache-hive-3.1.2-bin.tar.gz -C ../

2.重命名

[root@master soft]# mv apache-hive-3.1.2-bin hive-3.1.2 修改名字

3、配置环境变量

vim /etc/profile

4、在最后增加配置

export HIVE_HOME=/usr/local/soft/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin

5、使环境变量剩下

source /etc/profile

修改配置文件

1.进入hive所在目录配置文件
cd /usr/local/soft/hive-3.1.2/conf
创建 hive-site.xml配置文件
[root@master conf]# cp hive-default.xml.template hive-site.xml

点击查看
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://master:3306/hive?useSSL=false&amp;createDatabaseIfNotExist=true&amp;characterEncoding=utf8&amp;useUnicode=true</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
  </property>
  <property>
    <name>hive.metastore.uris</name>
    <value>thrift://master:9083</value>
  </property>
  <property>
	<name>hive.server2.enable.doAs</name>
	<value>false</value>
  </property>
    
<property>
<name>hive.querylog.location</name>
<value/>
</property>

 

(同上)
<property>
<name>hive.exec.local.scratchdir</name>
<value/>
</property>

 

(同上)
<property>
<name>hive.downloaded.resources.dir</name>
<value/>
</property>
</configuration>

3214行的描述删掉
3、创建log4j.properties配置文件 # 将日志级别改成WARN,避免执行sql出现很多日志 log4j.rootLogger=WARN,CA log4j.appender.CA=org.apache.log4j.ConsoleAppender log4j.appender.CA.layout=org.apache.log4j.PatternLayout log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n%

3、上传mysql驱动

将mysql驱动包上传到hive的lib目录下

mysql-connector-java-8.0.29.jar
[root@master lib]# cp /usr/local/soft/jars/mysql-connector-java-8.0.29.jar ./
4、初始化hive元数据库
2、初始化hive的元数据(表结构)到mysql中
schematool -dbType mysql -initSchema
默认会在MySQL创建数据库创建一系列表

5、启动hive元数据服务

hive --service metastore
元数据将启动日志追加到这个目录下
nohup hive --service metastore >> /usr/local/soft/hive-3.1.2/startlogs/metastore-service.log &


启动Hadoop
start-all.sh
启动hive
安全模式:启动时会读快照文件和日志文件,用户不能做增删改操作,只能做查询,无法创建日志

启动hive默认会有一个default数据库在DBS表中

6、进入hive命令行

进入hive

hive

测试

1、创建表

hive> create table text1
> (
> id bigint,
> name string
> )
> ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
OK
Time taken: 0.673 seconds
hive> show databases;
OK
default
Time taken: 0.027 seconds, Fetched: 1 row(s)
hive> show tables;
OK
student
text1
Time taken: 0.063 seconds, Fetched: 2 row(s)
hive> select * from text1;
OK
Time taken: 0.31 seconds
hive>

2、执行sql查询数据

select clazz,count(1) as num from student group by clazz;

/user/hive/warehouse/ 该目录对应的就是default数据库
text1在hdfs中是以文件夹的形式 ,一个文件是一个目录,文件中的数据
将hdfs上面的目录映射成数据库,一张表也是一个目录,目录里的文件是一张表的数据

posted @ 2024-11-08 23:48  wang_jun  阅读(298)  评论(0)    收藏  举报