-
-
Notifications
You must be signed in to change notification settings - Fork 41
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
distributed 2022.3.0 no more compatible with dask-yarn because of missing "status" attribute in YarnCluster #155
Comments
Can you provide the traceback of the error you saw? |
|
I've noticed this error popping up in other places too. |
I have same issue. |
Same issue using dask/distributed 2022.6.1 with dask-yarn 0.9. |
As per newer implementations in Minimal example I hacked together: import skein
from distributed import SpecCluster
from distributed.deploy import ProcessInterface
class YarnProcess(ProcessInterface):
def __init__(self, **kwargs):
super().__init__()
self.service_name = None
self.cli: skein.ApplicationClient = skein.ApplicationClient.from_current()
self.container = None
_ = kwargs
async def close(self):
self.cli.kill_container(self.container)
await super().close()
class DaskYarnScheduler(YarnProcess):
def __init__(self, **kwargs):
super().__init__()
self.service_name: str = "dask.scheduler"
self.container = None
_ = kwargs
async def start(self):
self.cli.scale(self.service_name, count=1)
self.address = self.cli.kv.wait("dask.scheduler").decode()
self.container = self.cli.get_containers(services=[self.service_name])[0].id
await super().start()
class DaskYarnWorker(YarnProcess):
def __init__(self, address, **kwargs):
super().__init__()
self.service_name: str = "dask.worker"
_ = kwargs, address
async def start(self):
self.container = self.cli.add_container(self.service_name).id
await super().start()
class YarnCluster(SpecCluster):
def __init__(self, security=None):
super().__init__(
scheduler={"cls": DaskYarnScheduler, "options": {}},
worker={"cls": DaskYarnWorker, "options": {}},
security=security,
)
self.spec = skein.ApplicationClient.from_current().get_specification()
cluster = YarnCluster()
client = Client(cluster.scheduler_address) |
@santosh-d3vpl3x - can you please review #162 to make sure that I'm implementing correctly? @bradmiro - I could use some help executing the tests and sanity checking these changes. |
What happened: error while creating Client object
What you expected to happen: correct init
Minimal Complete Verifiable Example:
Anything else we need to know?:
Environment:
The text was updated successfully, but these errors were encountered: