Skip to content

Conversation

@itongxiaojun
Copy link
Contributor

@itongxiaojun itongxiaojun commented Jan 2, 2025

This PR introduces compatibility for Oceanbase within Apache Ambari, with adjustments made to the MySQL DDL script to ensure proper functioning when working with Oceanbase, which supports the MySQL protocol.

  1. Oceanbase Overview:
    Oceanbase is a distributed relational database developed by AntGroup , designed to be highly scalable and provide high availability. It is fully compatible with the MySQL protocol, allowing it to be used as a drop-in replacement for MySQL in many cases, which makes it suitable for large-scale applications and enterprise environments.

  2. DDL Modifications:
    The file /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql was modified to adjust the field lengths of service_name and view_name. These adjustments help avoid errors when importing the DDL into Oceanbase, aligning the field sizes properly.

Image of modified SQL

  1. Testing:
    We have thoroughly tested the modified SQL on both Oceanbase and MySQL databases. After applying the changes, the DDL was successfully imported into both databases, and the Ambari services started without issues.

    Image showing successful import and service start
    image

  2. Known Issue:
    A minor error occurs during the import process of the SQL into Oceanbase at line 36. This error is due to MySQL-specific syntax, but it does not impact functionality, as the syntax does not affect the overall operation of the system.

Image showing error in line 36
image

  1. Final Validation:
    After making the changes, we successfully started Ambari, installed, and ran all components without any issues. This confirms that the changes ensure full compatibility with both Oceanbase and MySQL, allowing Ambari to function normally.

image

We believe that these changes will make Ambari more versatile for users running Oceanbase while retaining compatibility with MySQL.

@itongxiaojun
Copy link
Contributor Author

@JiaLiangC can you review this?

@itongxiaojun
Copy link
Contributor Author

@JiaLiangC Help me apply for a JIRA ID for RP.
image

@JiaLiangC JiaLiangC changed the title Add Oceanbase Support to Ambari MySQL DDL AMBARI-26273: Add Oceanbase Support to Ambari MySQL DDL Jan 3, 2025
Copy link
Contributor

@JiaLiangC JiaLiangC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@JiaLiangC JiaLiangC merged commit a8df589 into apache:trunk Jan 3, 2025
1 check passed
JiaLiangC added a commit that referenced this pull request Feb 6, 2025
* AMBARI-26232 There will be failure when executing shell.py and wrong order of imports for WidgetResourceProvider.java (#3872)

* There will be failure when executing shell.py
* Wrong order of imports for WidgetResourceProvider.java
* Fix issue of test failure

* AMBARI-26234: ClusterNotFoundException in stage Confirm Hosts during deploying a cluster #3875

* AMBARI-26184: Resolve snakeyaml 1.12 CVE #3869

* AMBARI-26235: Unable to check firewalld status when setup ambari #3878

* AMBARI-26195: Ambari database page not wokring after JQ upgrade #3885

* AMBARI-26239: Fix OozieUtils (#3894)

* AMBARI-26239: Fix OozieUtils

* AMBARI-26205: Dropdown menu flex layout overflow #3895

* AMBARI-26236: The database password character type requirement is too few (#3883)

* The database password character type requirement is too few
* Add more special characters, and add UT for this case
* Update test case

* AMBARI-26240: Fix alter dispatcher (#3896)

* AMBARI-26241: _threadlocal has no uid because it is always None #3898

* AMBARI-26243: refactor: convert .format() to f-strings #3899

* AMBARI-26244: convert .format() to f-strings for ambari-server #3901

* AMBARI-26245: refactor(ambari-agent): convert .format() to f-strings (#3902)

* AMBARI-26249: Timeline Service v2 failed to start because of unable to create leveldb state store directory #3905

* AMBARI-26247: convert .format() to f-strings for ambari-contrib #3903

* Update the KEYS File

* AMBARI-26253: Can't download all client configs (#3906)

* AMBARI-26257: Create new Configuration Group now worked #3907

* AMBARI-26248: Timeline Service Reader failed to start if hbase is not installed #3904

* AMBARI-26147: Add Ruff integration to ambari  (#3908)

* add ruff check files
* add formatted code

* AMBARI-26251: tooltip display issue #3911

* AMBARI-26207: Metrics sortable not work #3912

* AMBARI-26255: fix can't add capacity-scheduler views (#3913)

* AMBARI-26270: Add quicklink of hiveserver2 web ui #3918

* AMBARI-26142: JDK17 support for Ambari Co-authored-by: Mohammad Arshad <[email protected]> (#3851)

* AMBARI-26204: Migrate RecommendationResourceProviderTest from EasyMoc… (#3860)

* AMBARI-26204: Migrate RecommendationResourceProviderTest from EasyMock to Mockito

* AMBARI-26203: Fix annotation processing issue in ConfigurationTest after JDK 17 upgrade (#3859)

* AMBARI-26203: Fix testAllPropertiesHaveMarkdownDescriptions failed

* AMBARI-26212: Fix checkstyle error (#3862)

* Ambari-26211: Fix TaskActionScheduler test failed (#3861)

* AMBARI-26211: Fix TaskActionScheduler test failed

* AMBARI-26215: Fix BlueprintConfigurationProcessorTest and others (#3863)

* AMBARI-26215: Fix BlueprintConfigurationProcessorTest and others

* AMBARI-26220: Fix ConfigureClusterTaskTest Unexpected method calls: ClusterConfigurationRequest.getRequiredHostGroups() error (#3864)

fix AsyncCallableServiceTest Unexpected method calls: Callable.call() error

* AMBARI-26221: Fix StackAdvisorCommandTest error,remove unnecessary code. (#3865)

* AMBARI-26222: Fix ClientConfigResourceProviderTest & PreUpgradeCheckResourceProviderTest& ExecutionSchedulerTest& AmbariProxiedUserDetailsServiceTest

* AMBARI-26233: Fix ambari-env.sh after jdk upgrade (#3873)

* fix ambari agent env after jdk upgrade

* AMBARI-26238: Add Ambari Java Home configuration for JDK 17 in Ambari… (#3891)

* AMBARI-26238: Add Ambari Java Home configuration for JDK 17 in Ambari server

* AMBARI-26268: Remove default value for ambari-java-home in ambari-server.py to fix setup handling #3915

Co-authored-by: tongxiaojun <[email protected]>

* AMBARI-26269: Fix regex pattern flag position in ambari_jinja2 filters #3917

* AMBARI-26269: Fix regex pattern flag position in ambari_jinja2 filters
---------

Co-authored-by: tongxiaojun <[email protected]>

* AMBARI-26249: Addendum, adjusting the location of creating directory code (#3920)

* AMBARI-26271: Invalid parameter was provided when using shell.call in HostInfo.py #3919

* AMBARI-26273: Add Oceanbase Support to Ambari MySQL DDL #3921

Co-authored-by: tongxiaojun <[email protected]>

* AMBARI-26275: NoClassesFoundToAnalyzeException when compiling ambari with jdk17 #3924

* AMBARI-25848 : Need to update org.codehaus.jackson:jackson-mapper-asl dependency (#3922)

Issue: Need to update org.codehaus.jackson:jackson-mapper-asl dependency.

Cause: the library has been moved to com.fasterxml.jackson.core » jackson-databind,
hence to keep up with the newer versions need to update the library dependency.

Changes made: to update the jackson-mapper-asl dependency to jackson-databind and the required library version upgrades

Co-authored-by: Vishal Suvagia <[email protected]>

* AMBARI-26276: fix hdfs web service check (#3925)

* AMBARI-26277:fix kerberos encryption error (#3926)

* AMBARI-26279: ambari-agent prints logs that netstat command not found #3928

* AMBARI-26286: refactor(ambari-ruff): convert .format() to f-strings #3927

AMBARI-26286: refactor(ambari-ruff): convert .format() to f-strings

* AMBARI-26055: Add alluxio support (#3934)

* add alluxio service

Co-authored-by: jialiang <[email protected]>

* fix license

---------

Co-authored-by: jialiang <[email protected]>

* AMBARI-26185: Upgrade commons-collections to resolve CVEs (#3936)

---------

Co-authored-by: Peng Lu <[email protected]>
Co-authored-by: Sandeep  Kumar <[email protected]>
Co-authored-by: zrain <[email protected]>
Co-authored-by: coldless177 <[email protected]>
Co-authored-by: jialiang <[email protected]>
Co-authored-by: yaruyng <[email protected]>
Co-authored-by: tongxiaojun <[email protected]>
Co-authored-by: tongxiaojun <[email protected]>
Co-authored-by: Vishal Suvagia <[email protected]>
Co-authored-by: Vishal Suvagia <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants