Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic Address Allocation for Local DNS in Nebula Spark Connector #125

Open
vaibhavkgiradkar opened this issue Oct 18, 2023 · 3 comments
Open
Labels
type/question Type: question about the product

Comments

@vaibhavkgiradkar
Copy link

Description:
When attempting to pull or push data from another cluster to the Nebula cluster, we often encounter errors related to DNS unreachability.

Motivation:

This enhancement is necessary because these DNS-related errors can hinder data transfer operations between clusters. By modifying the Nebula Spark Connector build to dynamically replace the DNS addresses during connection attempts, we can overcome these issues and facilitate smooth data transfer between the Nebula cluster and external clusters.

Proposed Solution:
We propose modifying the Nebula Spark Connector build to dynamically replace the DNS addresses during both read and write operations. In read operations, the connector will be enhanced to include configurable storage addresses that can be replaced with the appropriate local DNS addresses at the time of connection. Similarly, in write operations, we will implement dynamic address allocation to ensure that data is pushed to the Nebula cluster through a mechanism that seamlessly handles local DNS resolution.

For read operations, this dynamic addressing will significantly improve the reliability and flexibility of retrieving data from the Nebula cluster, especially when dealing with remote clusters or external systems with varying DNS configurations.

For write operations, dynamic address allocation will enable the Nebula Spark Connector to adapt to changing DNS configurations during data transfers. This enhancement ensures a consistent and error-free data transfer process.

Additional Information:
This enhancement will significantly enhance the reliability and flexibility of data read and write operations within the Nebula Spark Connector. It will be especially beneficial when dealing with remote clusters or external systems that may require dynamic address allocation to resolve DNS issues.

@koustreak
Copy link
Contributor

@wey-gu need your help .

@QingZ11 QingZ11 added the type/question Type: question about the product label Oct 20, 2023
@wey-gu
Copy link
Contributor

wey-gu commented Oct 26, 2023

Dear @koustreak , @vaibhavkgiradkar

Sorry to know that you had to hack the DNS in such a dirty way to enable this!

And I share similar ideas(not DNS but to allow replacing host list) as in #39, too! And that involves java client changing, as well.

@Nicole00 @HarrisChu @xtcyclist @MuYiYong @yixinglu what do you think of this, (hands up the topic, again)

This will help not just ETL pipeline but also analytical/graph computation, but just enabling how storaged instances will be network addressed.

We just optionally decouple how service instances discovery/identified with how they are routed/addressed, a pure client opt-in behavior change, things could be much different then.

BR//Wey

@vaibhavkgiradkar
Copy link
Author

@wey-gu
Will support be added to enable reading/writing from a new cluster?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/question Type: question about the product
Projects
None yet
Development

No branches or pull requests

4 participants