Hive的搭建与配置

hive-3.1.2分布式搭建文档

谷歌浏览器下载网址:Google Chrome – Download the fast, secure browser from Google华为云镜像站:https://mirrors.huaweicloud.com/home

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

# 1、解压 tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /usr/local/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/local/soft/hive-3.1.2/conf

2、创建hive-site.xml配置文件

vim 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&createDatabaseIfNotExist=true&characterEncoding=utf8&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

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

cp /usr/local/soft/hive-3.1.2/lib/jline-2.12.jar /usr/local/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 TABLE IF NOT EXISTS bigdata30.student_test2( 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;

解决 log4j 兼容性问题

警告信息,不影响使用 LF4J: Class path contains multiple SLF4J bindings.

cd /usr/local/soft/hive-3.1.2/lib ​ # hive 与 Hadoop 在运行时会出现 log4j 兼容性问题,这是因为 hive 的 log4j 版本与 Hadoop 的产生了冲突,我们这里将 hive 的 log4j 设置为备份。 mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.bak ​ hadoop的etc/hadoop/core-site.xml <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property>

hive常见问题

1、hadoop未启动,就开始执行hive命令

解决方案:启动hadoop

2、hadoop处于安全模式

解决方案:1、等着,等hadoop日志和快照数据恢复完毕,自动离开安全模式2、使用命令强制离开

3、元数据服务没开,操作不了sql语句

解决方案:nohup hive --service metastore &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值