一、问题描述
因为写 ambari 相关的文章比较多,所以有很多使用 ambari 的朋友加我好友,发现有很多初学者都会卡在一个地方,就是安装依赖 mysql 的服务会提示:MYSQL Connection: Error ,像安装 hive、oozie、ranger 等等服务都会遇到这个问题。
本文以安装 hive 服务为示例,给大家演示下如何解决 MYSQL Connection: Error 问题。
注意:这里我选择的是“已存在的MySQL”。
二、解决办法
测试通不过的话,可以点击 “Connection Failed” 查看错误日志。思路如下:
1)jdbc 驱动 jar 包有吗?如果没有的话,可在公众号【大数据实战演练】中回复关键字【jdbc】获取。然后为 ambari-server 设置下 jdbc 驱动:
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
命令执行完即可生效,不用重启ambari-server。
命令会将 mysql-connector-java.jar 拷贝到 /var/lib/ambari-server/resources/ 目录下。
2)思考数据库 url 对吗?数据库存在吗?用户名密码对吗?
- 数据库 url :
jdbc:mysql://${mysql节点ip}:${mysql端口号}/${hive数据库名}
Hive Database 选择 “Existing MySQL / MariaDB” 时,hive 数据库需要预先创建好,执行:
CREATE DATABASE hive character set utf8 collate utf8_general_ci;
建议每个服务创建对应的用户名,且控制好权限:
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES; # 刷新权限
三、总结
以上主要给大家演示了排查 hive 服务连接 mysql 异常时的解决思路,这种思路同样适用于 oozie、ranger 等依赖 mysql 的服务。如果还有问题,可以私信我或加我好友咨询。
四、Ambari 知识库上线
最近整理了下公众号输出的 ambari 文章,之后会陆续放到语雀的【Ambari知识库】中。
上链接:https://www.yuque.com/books/share/5102b2ea-e139-46f2-af8a-68a6f16c9a0d?#,密码会不定期更新,最新密码会放在【大数据实战演练】公众号里面,关键词:ambari知识库。