大数据下载Hive和mysql会遇见的问题
尤其是这个:chattr 属性会阻止任何修改
🐛 完整错误历程
1️⃣ 环境变量问题
bash
ERROR: JAVA_HOME is not set and could not be found.
-
原因:没有配置 Java 环境
-
解决:设置
JAVA_HOME
2️⃣ Hadoop 目录丢失
bash
/usr/local/hadoop 存在但 ls 没有文件
-
原因:之前配置把 Hadoop 搞坏了
-
解决:完全重装 Hadoop 3.1.3
3️⃣ SSH 连接失败
bash
ssh: connect to host localhost port 22: Connection refused
-
原因:SSH 服务未启动
-
解决:安装并启动
openssh-server,配置免密登录
4️⃣ MySQL 未安装
bash
找不到命令 “mysql”
-
原因:系统没有 MySQL
-
解决:
sudo apt install mysql-server
5️⃣ MySQL 密码认证失败
bash
ERROR 1698 (28000): Access denied for user 'root'@'localhost' ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
-
原因:MySQL 密码策略、auth_socket 插件、密码不匹配
-
解决:使用
sudo mysql免密登录,或改用 hive 用户
6️⃣ MySQL 密码策略太严格
bash
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
-
原因:密码不符合复杂度和长度要求
-
解决:降低策略
SET GLOBAL validate_password.policy = LOW
7️⃣ MySQL JDBC 驱动缺失
bash
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
-
原因:
mysql-connector-java.jar不在 Hive lib 目录 -
解决:下载驱动到
/usr/local/hive/lib/
8️⃣ Hive 使用 Derby 而非 MySQL
bash
Metastore connection URL: jdbc:derby:;databaseName=metastore_db
-
原因:
hive-site.xml配置未生效 -
解决:确保配置文件在正确位置且格式正确
9️⃣ Guava 版本冲突
bash
java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
-
原因:Hadoop 的 Guava 11.0.2 与 Hive 需要的 Guava 27.0+ 冲突
-
解决:统一替换为
guava-27.0-jre.jar
🔟 Hive 启动卡住
bash
Logging initialized... (长时间无 hive> 提示符)
-
原因:Hadoop 未启动或 MySQL 连接问题
-
解决:
start-dfs.sh确保 Hadoop 运行
1️⃣1️⃣ Public Key Retrieval 错误
bash
Public Key Retrieval is not allowed
-
原因:MySQL 8.0 的认证插件问题
-
解决:连接 URL 添加
allowPublicKeyRetrieval=true
1️⃣2️⃣ 配置文件只读无法修改
bash
(vim 保存失败,cat 显示内容未变)
-
原因:文件被
chattr +i设置 immutable 属性 -
解决:
sudo chattr -i hive-site.xml
1️⃣3️⃣ schemaTool 反复失败
bash
Access denied for user 'root'@'localhost' (using password: YES/NO)
-
原因:
hive-site.xml中的用户名/密码与 MySQL 不一致 -
解决:统一使用
hive/hive123
更多推荐
所有评论(0)