持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第30天,10月更文诚意加码,激发写作潜力|掘金·日新计划 - 掘金 (juejin.cn)点击查看活动详情
Hive安装与配置的常见问题解决
1、hadoop路径错误问题
hive-env.sh里修改HADOOP_HOME路径时,大家的hadoop路径可能会不一致,可以输入cat /etc/profile查询一下路径
[root@node01 ~]# cat /etc/profile
复制该路径再去修改hive-env.sh里的HADOOP_HOME路径即可
2、MySQL赋予权限时出错
在给MySQL赋予权限时,可能会遇到这个情况:
可以先设置密码的验证强度等级
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)
3、初始化Hive失败
(出现failed说明失败)
可能是hive的配置文件出错了,再回去检查一下自己的配置对不对;
还有一种失败的原因是mySQL里有一个myhive数据库,是已存在的。初始化的时候会创建这个数据库的,但是不会自动删除;
再初始化就可以了(schematool -dbType mysql -initSchema)
4、C/S模式连接出错
在客户端直接连接命令时出错(出现beeline说明出错)
出错原因:(可能)
- 没有开启历史服务器:
- 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
在文件中加入配置:
<property>cor
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
因为我们修改了Hadoop的core-site.xml配置,所以要关闭集群,重新格式化一下;
然后jps看一下还有哪个进程,只留下QuorumPeerMain和jps就可以了
其他的用kill -9 (后面写进程的五位代码)关闭进程
例:
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
然后再启动集群
start-dfs.sh
start-yarn.sh
然后再次尝试
发现成功连接C/S模式