Hive安装与搭建

Hive安装搭建

1、上传解压配置环境变量

# 1、解压
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /usr/soft/

# 2、重名名
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

2、修改配置文件

1)进入hive配置文件所在的目录

cd /usr/soft/hive-3.1.2/conf

2)创建hive-site.xml文件

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>

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驱动

# 将nysql驱动包上传到hive的lib目录下
mysql-connector-java-8.0.29.jar

将hadoop的jline-0.9.94.jar的jar替换成hive的版本。

cp /usr/soft/hive-3.1.2/lib/jline-2.12.jar /usr/soft/hadoop-3.1.1/share/hadoop/yarn/lib/

4、初始化hive元数据库

# 2、初始化hive的元数据(表结构)到mysql中
schematool -dbType mysql -initSchema

5、启动hive元数据服务

# 后台启动元数据服务
nohup hive --service metastore &

6、进入hive命令行

# 进入hive
hive

# 测试
# 1、创建表
CREATE EXTERNAL TABLE IF NOT EXISTS student(
    id string ,
    `name` string ,
    age string  ,
    gender string  ,
    clazz string 
) 
ROW FORMAT DELIMITED 
    FIELDS TERMINATED BY ',' 
STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' 
    OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'  
location '/data/student'; 

# 2、执行sql查询数据
select clazz,count(1) as num from student group by clazz;

posted @ 2024-05-11 10:17  peculiar-  阅读(2)  评论(0编辑  收藏  举报