Hive安装与配置的常见问题解决

159 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第30天,10月更文诚意加码,激发写作潜力|掘金·日新计划 - 掘金 (juejin.cn)点击查看活动详情

Hive安装与配置的常见问题解决

1、hadoop路径错误问题

hive-env.sh里修改HADOOP_HOME路径时,大家的hadoop路径可能会不一致,可以输入cat /etc/profile查询一下路径

[root@node01 ~]# cat /etc/profile

b83e9f38383d4ba78b77cdbbf64a4419.png

2dfd74e8a17f497f9e467d4986164e1c.png 复制该路径再去修改hive-env.sh里的HADOOP_HOME路径即可

2、MySQL赋予权限时出错

在给MySQL赋予权限时,可能会遇到这个情况:

c59cfe88d3b646b8a98ae1744e258798.png 可以先设置密码的验证强度等级

set global validate_password_policy=LOW;

然后设置密码的长度

set global validate_password_length=6;

然后再重新进行赋予权限

grant all privileges on . to root@"%" identified by "123456" with grant option;

grant all privileges on . to root@"localhost" identified by "123456" with grant option;

[root@node01 ~]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1118
Server version: 5.7.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set global validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=6;
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on *.* to root@"%" identified by "123456" with grant option;
Query OK, 0 rows affected, 1 warning (0.05 sec)

mysql> grant all privileges on *.* to root@"localhost" identified by "123456" with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)

image.png

3、初始化Hive失败

(出现failed说明失败) 5f5fdf9450144ce2bad829575ad5bd0b.png

可能是hive的配置文件出错了,再回去检查一下自己的配置对不对;

还有一种失败的原因是mySQL里有一个myhive数据库,是已存在的。初始化的时候会创建这个数据库的,但是不会自动删除; 17c6a06f348146d5acaab1fd56375476.png

149c82d04cb74739a16032e2360951d9.png

再初始化就可以了(schematool -dbType mysql -initSchema)

cd5b53f29cf148d4a639b6dff2a5b08b.png

4、C/S模式连接出错

在客户端直接连接命令时出错(出现beeline说明出错)

image.png

出错原因:(可能)

  1. 没有开启历史服务器:
  2. core-site.xml缺配置

解决方法:

1. 没有开启历史服务器

ctrl+z退出连接

输入mr-jobhistory-daemon.sh start historyserver

再重新连接试一下

2.core-site.xml缺配置

ctrl+z退出

进入Hadoop路径里,修改里面的core-site.xml文件

[root@node01 ~]# cd /opt/software/hadoop/hadoop-2.9.2/etc/hadoop/
 
[root@node01 hadoop]# vi core-site.xml

70a05f24b533484092cb9cb3c18348e9.png 在文件中加入配置:

<property>cor
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
</property>
<property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
</property>

d9f03a044e014e05b58007fa13b8046c.png

因为我们修改了Hadoop的core-site.xml配置,所以要关闭集群,重新格式化一下;

571ad60f0f754014a0cac6b840f9e6c0.png

然后jps看一下还有哪个进程,只留下QuorumPeerMain和jps就可以了

ae627919778646a0a19a1f684f7555d6.png

其他的用kill -9 (后面写进程的五位代码)关闭进程

959565f2a25340f19eee8a412bcc082a.png

例:

44178 ZooKeeperMain

kill -9 44178

进入Hadoop文件里(路径因人而异)cd /opt/software/hadoop/

删掉hdfs        rm -rf hdfs

新建hdfs        mkdir hdfs

进入hdfs        cd hdfs/

新建data        mkdir data

新建name        mkdir name

新建tmp         mkdir tmp

[root@node01 ~]# cd /opt/software/hadoop/
[root@node01 hadoop]# rm -rf hdfs
[root@node01 ~]# mkdir hdfs
[root@node01 hadoop]# cd hdfs/
[root@node01 hdfs]# mkdir data
[root@node01 hdfs]# mkdir name
[root@node01 hdfs]# mkdir tmp

重新的格式化:

hdfs namenode -format SDGIF_Rusult_1.gif

然后再启动集群

start-dfs.sh image.png

start-yarn.sh image.png

然后再次尝试 image.png

image.png 发现成功连接C/S模式