一、问题描述

因为写 ambari 相关的文章比较多,所以有很多使用 ambari 的朋友加我好友,发现有很多初学者都会卡在一个地方,就是安装依赖 mysql 的服务会提示:MYSQL Connection: Error ,像安装 hive、oozie、ranger 等等服务都会遇到这个问题。

Ambari安装hive服务,数据库Connection Failed问题排查思路 - 图1

本文以安装 hive 服务为示例,给大家演示下如何解决 MYSQL Connection: Error 问题。

注意:这里我选择的是“已存在的MySQL”。

二、解决办法

Ambari安装hive服务,数据库Connection Failed问题排查思路 - 图2

测试通不过的话,可以点击 “Connection Failed” 查看错误日志。思路如下:

1)jdbc 驱动 jar 包有吗?如果没有的话,可在公众号【大数据实战演练】中回复关键字【jdbc】获取。然后为 ambari-server 设置下 jdbc 驱动:

  1. 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/ 目录下。

Ambari安装hive服务,数据库Connection Failed问题排查思路 - 图3

2)思考数据库 url 对吗?数据库存在吗?用户名密码对吗?

  • 数据库 url :jdbc:mysql://${mysql节点ip}:${mysql端口号}/${hive数据库名}
  • Hive Database 选择 “Existing MySQL / MariaDB” 时,hive 数据库需要预先创建好,执行:

    1. CREATE DATABASE hive character set utf8 collate utf8_general_ci;
  • 建议每个服务创建对应的用户名,且控制好权限:

    1. CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
    2. GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
    3. FLUSH PRIVILEGES; # 刷新权限

三、总结

以上主要给大家演示了排查 hive 服务连接 mysql 异常时的解决思路,这种思路同样适用于 oozie、ranger 等依赖 mysql 的服务。如果还有问题,可以私信我或加我好友咨询。

四、Ambari 知识库上线

最近整理了下公众号输出的 ambari 文章,之后会陆续放到语雀的【Ambari知识库】中。

上链接:https://www.yuque.com/books/share/5102b2ea-e139-46f2-af8a-68a6f16c9a0d?#,密码会不定期更新,最新密码会放在【大数据实战演练】公众号里面,关键词:ambari知识库。