每日总结|9.21-Hive搭建及报错解决方案

搭建

安装hive

apache-hive-3.1.2-bin.tar.gz 上传到 linux /opt/software 目录下

 

解压 apache-hive-3.1.2-bin.tar.gz /opt/module/目录下面

tar -zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module/

修改 apache-hive-3.1.2-bin.tar.gz 的名称为 hive 

 mv apache-hive-3.1.2-bin/ hive

修改/etc/profile.d/my_env.sh,添加环境变量

sudo vim /etc/profile.d/my_env.sh 

添加内容

#HIVE_HOME 
export HIVE_HOME=/opt/module/hive 
export PATH=$PATH:$HIVE_HOME/bin
保存后运行-> source /etc/profile

初始化元数据库

bin/schematool -dbType derby -initSchema 

启动并使用 Hive

启动 Hive

bin/hive

使用 Hive 

 show databases; 
show tables;

Hive 元数据配置到 MySQL 

MySQL JDBC 驱动拷贝到 Hive lib 目录下

cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib 

 配置 Metastore MySQL 

在$HIVE_HOME/conf 目录下新建 hive-site.xml 文件

vim $HIVE_HOME/conf/hive-site.xml

插入如下内容

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
<configuration> 
<!-- jdbc 连接的 URL --> 
<property> 
<name>javax.jdo.option.ConnectionURL</name> 
<value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value> 
</property> 
<!-- jdbc 连接的 Driver--> 
<property> 
<name>javax.jdo.option.ConnectionDriverName</name> 
<value>com.mysql.jdbc.Driver</value> 
</property> 
<!-- jdbc 连接的 username--> 
<property> 
<name>javax.jdo.option.ConnectionUserName</name> 
<value>root</value> 
</property> 
<!-- jdbc 连接的 password --> 
<property> 
<name>javax.jdo.option.ConnectionPassword</name> 
<value>root</value> 
</property> 
<!-- Hive 元数据存储版本的验证 --> 
<property> 
<name>hive.metastore.schema.verification</name> 
<value>false</value> 
</property> 
<!--元数据存储授权--> 
<property> 
<name>hive.metastore.event.db.notification.api.auth</name> 
<value>false</value> 
</property> 
<!-- Hive 默认在 HDFS 的工作目录 --> 
<property>
<name>hive.metastore.warehouse.dir</name> 
<value>/user/hive/warehouse</value> 
</property> 
</configuration> 

注意jdbc的url改成自己的!

登陆 MySQL 

mysql -uroot -proot

新建 Hive 元数据库

create database metastore; 
quit;

初始化 Hive 元数据库

schematool -initSchema -dbType mysql -verbose

再次启动Hive

bin/hive 

使用 Hive 

hive> show databases; 
hive> show tables; 
hive> create table test (id int); 
hive> insert into test values(1); 
hive> select * from test;

插入的时候如果一直停在

set mapreduce.job.reduces=<number>

 是由于yarn没有启动的问题,或者是启动机器ip不一致的问题:将启动脚本和yarn-site.xml中的resourcemanager节点对应起来就会解决

 

posted @ 2023-09-21 17:10  喝着农药吐泡泡o  阅读(47)  评论(0编辑  收藏  举报