why HDP install mysql while I have chose existing

2019-09-19 03:56发布

问题:

I am installing HDP 2.6 via Ambari 2.5.0.3,the error shows in Hive client install.the error logs:

resource_management.core.exceptions.ExecutionFailed: Execution of '/usr/bin/zypper --quiet install --auto-agree-with-licenses --no-confirm mysql-client' returned 4. Problem: mysql-community-client-5.7.17-1.sles11.x86_64 conflicts with namespace:otherproviders(mysql-client) provided by mysql-client-5.5.31-0.7.10.x86_64
 Solution 1: Following actions will be done:
  deinstallation of mysql-community-client-5.7.17-1.sles11.x86_64
  deinstallation of mysql-community-server-5.7.17-1.sles11.x86_64
 Solution 2: do not install mysql-client-5.5.31-0.7.10.x86_64

Choose from above solutions by number or cancel [1/2/c] (c): c

I have chose exisiting mysql database,why ambari still try to install ? or is there anyway to choose the "2" in above option?

回答1:

You installed mysql from a non-default system repository. Ambari does not check if packages are already installed, it just installs packages for every service during cluster deployment (or when adding a service/host).

Package dependencies are defined at metainfo.xml files. You may try to find the relevant Ambari service metainfo file and play around service dependency definition. It looks like

    <osSpecific>
      <osFamily>suse</osFamily>
      <packages>
        <package>
          <name>mysql-client</name>
        </package>
      </packages>
    </osSpecific>

metainfo.xml files may be located at two locations. Make sure to choose the right file.

  • default service metainfo /var/lib/ambari-server/resources/common-services/<service name>/<service version>/metainfo.xml
  • per-stack overrides /var/lib/ambari-server/resources/stacks/<stack id>/<stack version>/services/<service name>/metainfo.xml

Don't forget to restart ambari-server! It reads service definitions on start.

There is an attachment to related EPIC that explains the logic of inheritance https://issues.apache.org/jira/browse/AMBARI-7201