inference
inference copied to clipboard
如何在容器中使用xinference-worker进行部署
通过容器启动supervisor
docker run -v ./xinfer_supervisor:/tmp/xinference --name xinfer_supervisor \
-e XINFERENCE_HOME=/tmp/xinference -e XINFERENCE_MODEL_SRC=modelscope \
-p 9997:9997 -p 9996:9996 xprobe/xinference:v0.13.2 \
xinference-supervisor -H 0.0.0.0 -p 9997 --supervisor-port 9996 --log-level debug
在另一台服务器上,在容器中启动worker失败。 指令
docker run -v ./xinfer_worker:/tmp/xinference --name xinfer_worker \
-e XINFERENCE_HOME=/tmp/xinference -e XINFERENCE_MODEL_SRC=modelscope \
--net=host --gpus '"device=6,7"' xprobe/xinference:v0.13.2 \
xinference-worker -e "http://${supervisor_host}:9997" -H 0.0.0.0 --worker-port 9995 --metrics-exporter-port 9994
报错
Traceback (most recent call last):
File "/usr/local/bin/xinference-worker", line 8, in <module>
sys.exit(worker())
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/xinference/deploy/cmdline.py", line 354, in worker
main(
File "/usr/local/lib/python3.10/dist-packages/xinference/deploy/worker.py", line 94, in main
loop.run_until_complete(task)
File "/usr/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
return future.result()
File "/usr/local/lib/python3.10/dist-packages/xinference/deploy/worker.py", line 65, in _start_worker
await start_worker_components(
File "/usr/local/lib/python3.10/dist-packages/xinference/deploy/worker.py", line 43, in start_worker_components
await xo.create_actor(
File "/usr/local/lib/python3.10/dist-packages/xoscar/api.py", line 78, in create_actor
return await ctx.create_actor(actor_cls, *args, uid=uid, address=address, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/context.py", line 143, in create_actor
return self._process_result_message(result)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/context.py", line 102, in _process_result_message
raise message.as_instanceof_cause()
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/pool.py", line 595, in create_actor
await self._run_coro(message.message_id, actor.__post_create__())
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/pool.py", line 367, in _run_coro
return await coro
File "/usr/local/lib/python3.10/dist-packages/xinference/core/worker.py", line 185, in __post_create__
] = await xo.actor_ref(
File "/usr/local/lib/python3.10/dist-packages/xoscar/api.py", line 125, in actor_ref
return await ctx.actor_ref(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/context.py", line 197, in actor_ref
future = await self._call(actor_ref.address, message, wait=False)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/context.py", line 77, in _call
return await self._caller.call(
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/core.py", line 181, in call
client = await self.get_client(router, dest_address)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/core.py", line 68, in get_client
client = await router.get_client(dest_address, from_who=self)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/router.py", line 143, in get_client
client = await self._create_client(client_type, address, **kw)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/router.py", line 157, in _create_client
return await client_type.connect(address, local_address=local_address, **kw)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/communication/socket.py", line 255, in connect
(reader, writer) = await asyncio.open_connection(host=host, port=port, **kwargs)
File "/usr/lib/python3.10/asyncio/streams.py", line 48, in open_connection
transport, _ = await loop.create_connection(
File "/usr/lib/python3.10/asyncio/base_events.py", line 1076, in create_connection
raise exceptions[0]
File "/usr/lib/python3.10/asyncio/base_events.py", line 1060, in create_connection
sock = await self._connect_sock(
File "/usr/lib/python3.10/asyncio/base_events.py", line 969, in _connect_sock
await self.sock_connect(sock, address)
File "/usr/lib/python3.10/asyncio/selector_events.py", line 501, in sock_connect
return await fut
File "/usr/lib/python3.10/asyncio/selector_events.py", line 541, in _sock_connect_cb
raise OSError(err, f'Connect call failed {address}')
ConnectionRefusedError: [address=0.0.0.0:9995, pid=1890] [Errno 111] Connect call failed ('0.0.0.0', 9996)
指令
docker run -v ./xinfer_worker:/tmp/xinference --name xinfer_worker \
-e XINFERENCE_HOME=/tmp/xinference -e XINFERENCE_MODEL_SRC=modelscope \
--net=host --gpus '"device=6,7"' xprobe/xinference:v0.13.2 \
xinference-worker -e "http://${supervisor_host}:9997" -H "${worker_host}" --worker-port 9995 --metrics-exporter-port 9994
报错
2024-07-25 07:29:40,967 xinference.core.worker 2026 INFO Starting metrics export server at 0.0.0.0:9994
2024-07-25 07:29:40,968 xinference.core.worker 2026 INFO Checking metrics export server...
2024-07-25 07:29:42,020 xinference.core.worker 2026 INFO Metrics server is started at: http://0.0.0.0:9994
Traceback (most recent call last):
File "/usr/local/bin/xinference-worker", line 8, in <module>
sys.exit(worker())
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/xinference/deploy/cmdline.py", line 354, in worker
main(
File "/usr/local/lib/python3.10/dist-packages/xinference/deploy/worker.py", line 94, in main
loop.run_until_complete(task)
File "/usr/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
return future.result()
File "/usr/local/lib/python3.10/dist-packages/xinference/deploy/worker.py", line 65, in _start_worker
await start_worker_components(
File "/usr/local/lib/python3.10/dist-packages/xinference/deploy/worker.py", line 43, in start_worker_components
await xo.create_actor(
File "/usr/local/lib/python3.10/dist-packages/xoscar/api.py", line 78, in create_actor
return await ctx.create_actor(actor_cls, *args, uid=uid, address=address, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/context.py", line 143, in create_actor
return self._process_result_message(result)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/context.py", line 102, in _process_result_message
raise message.as_instanceof_cause()
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/pool.py", line 595, in create_actor
await self._run_coro(message.message_id, actor.__post_create__())
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/pool.py", line 367, in _run_coro
return await coro
File "/usr/local/lib/python3.10/dist-packages/xinference/core/worker.py", line 185, in __post_create__
] = await xo.actor_ref(
File "/usr/local/lib/python3.10/dist-packages/xoscar/api.py", line 125, in actor_ref
return await ctx.actor_ref(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/context.py", line 197, in actor_ref
future = await self._call(actor_ref.address, message, wait=False)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/context.py", line 77, in _call
return await self._caller.call(
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/core.py", line 181, in call
client = await self.get_client(router, dest_address)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/core.py", line 68, in get_client
client = await router.get_client(dest_address, from_who=self)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/router.py", line 143, in get_client
client = await self._create_client(client_type, address, **kw)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/router.py", line 157, in _create_client
return await client_type.connect(address, local_address=local_address, **kw)
File "/usr/local/lib/python3.10/dist-packages/xoscar/backends/communication/socket.py", line 255, in connect
(reader, writer) = await asyncio.open_connection(host=host, port=port, **kwargs)
File "/usr/lib/python3.10/asyncio/streams.py", line 48, in open_connection
transport, _ = await loop.create_connection(
File "/usr/lib/python3.10/asyncio/base_events.py", line 1076, in create_connection
raise exceptions[0]
File "/usr/lib/python3.10/asyncio/base_events.py", line 1060, in create_connection
sock = await self._connect_sock(
File "/usr/lib/python3.10/asyncio/base_events.py", line 969, in _connect_sock
await self.sock_connect(sock, address)
File "/usr/lib/python3.10/asyncio/selector_events.py", line 501, in sock_connect
return await fut
File "/usr/lib/python3.10/asyncio/selector_events.py", line 541, in _sock_connect_cb
raise OSError(err, f'Connect call failed {address}')
ConnectionRefusedError: [address="${worker_host}":9995, pid=2026] [Errno 111] Connect call failed ('0.0.0.0', 9996)
请问可以限制worker端口的使用吗,如下命令应该是怎么样的才能把worker跑起来。
docker run -v ./xinfer_worker:/tmp/xinference --name xinfer_worker \
-e XINFERENCE_HOME=/tmp/xinference -e XINFERENCE_MODEL_SRC=modelscope \
-p 9995:9995 -p 9994:9994 --gpus '"device=6,7"' xprobe/xinference:v0.13.2 \
xinference-worker -e "http://${supervisor_host}:9997" -H 0.0.0.0 --worker-port 9995 --metrics-exporter-port 9994