Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Lakebase Autoscaling är den senaste versionen av Lakebase, med automatisk skalningsberäkning, skalning till noll, förgrening och omedelbar återställning. Information om regioner som stöds finns i Regiontillgänglighet. Om du är en Lakebase Provisioned-användare kan du läsa Lakebase Provisioned.
Den här guiden beskriver hur du aktiverar och hanterar hög tillgänglighet för dina Lakebase-slutpunkter. För att få bakgrundsinformation om hur hög tillgänglighet fungerar och hur sekundära beräkningsinstanser skiljer sig från fristående läsrepliker, se Hög tillgänglighet.
Aktivera hög tillgänglighet
Om du vill aktivera hög tillgänglighet anger du beräkningstypen och HA-konfigurationen i användargränssnittet eller konfigurerar slutpunktens EndpointGroupSpec via API:et.
Förutsättningar
- Skala till noll måste inaktiveras. I användargränssnittet anger du Skala till noll till Av i redigeringspanelen för beräkningar. Via API:et anger du
no_suspension: truei slutpunktsspecifikationen (användspec.suspensionsom uppdateringsmask).
Användargränssnitt (UI)
När du har skapat ett projekt klickar du på den primära beräkningslänken från projektinstrumentpanelen för att öppna redigera beräkningslådan.
Ange Beräkningstyp till Hög tillgänglighet och välj sedan en Konfiguration under Hög tillgänglighet:
- 2 (1 primär, 1 sekundär),
- 3 (1 primär, 2 sekundär),
- eller 4 (1 primär, 3 sekundär) totala beräkningsinstanser.
Lakebase etablerar sekundära beräkningsinstanser i olika tillgänglighetszoner. När alla beräkningsinstanser är aktiva har slutpunkten automatisk redundansväxling.
Python SDK
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.postgres import (
Endpoint, EndpointSpec, EndpointType, EndpointGroupSpec, FieldMask
)
w = WorkspaceClient()
endpoint_name = "projects/my-project/branches/production/endpoints/my-endpoint"
result = w.postgres.update_endpoint(
name=endpoint_name,
endpoint=Endpoint(
name=endpoint_name,
spec=EndpointSpec(
endpoint_type=EndpointType.ENDPOINT_TYPE_READ_WRITE,
group=EndpointGroupSpec(
min=2,
max=2,
enable_readable_secondaries=True
)
)
),
update_mask=FieldMask(field_mask=["spec.group"])
).wait()
print(f"Group size: {result.status.group.max}")
print(f"Host: {result.status.hosts.host}")
print(f"Read-only host: {result.status.hosts.read_only_host}")
CLI
databricks postgres update-endpoint \
projects/my-project/branches/production/endpoints/my-endpoint \
"spec.group" \
--json '{
"spec": {
"group": {
"min": 2,
"max": 2,
"enable_readable_secondaries": true
}
}
}'
lockig
curl -X PATCH "$DATABRICKS_HOST/api/2.0/postgres/projects/my-project/branches/production/endpoints/my-endpoint?update_mask=spec.group" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "projects/my-project/branches/production/endpoints/my-endpoint",
"spec": {
"group": {
"min": 2,
"max": 2,
"enable_readable_secondaries": true
}
}
}' | jq
Konfigurera skrivskyddad åtkomst till sekundära beräkningsinstanser
Tillåt åtkomst till skrivskyddade beräkningsinstanser styr om sekundära beräkningsinstanser hanterar lästrafik via -ro connection string.
Användargränssnitt (UI)
- På fliken Beräkning klickar du på Redigera på den primära beräkningen.
- Under Hög tillgänglighet kontrollerar eller avmarkerar du Tillåt åtkomst till skrivskyddade beräkningsinstanser.
- Klicka på Spara.
Python SDK
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.postgres import (
Endpoint, EndpointSpec, EndpointType, EndpointGroupSpec, FieldMask
)
w = WorkspaceClient()
endpoint_name = "projects/my-project/branches/production/endpoints/my-endpoint"
# Get current group size first
current = w.postgres.get_endpoint(name=endpoint_name)
current_size = current.status.group.max
w.postgres.update_endpoint(
name=endpoint_name,
endpoint=Endpoint(
name=endpoint_name,
spec=EndpointSpec(
endpoint_type=EndpointType.ENDPOINT_TYPE_READ_WRITE,
group=EndpointGroupSpec(
min=current_size,
max=current_size,
enable_readable_secondaries=True # set False to disable
)
)
),
update_mask=FieldMask(field_mask=["spec.group.enable_readable_secondaries"])
).wait()
CLI
# Replace 2 with your current group size
databricks postgres update-endpoint \
projects/my-project/branches/production/endpoints/my-endpoint \
"spec.group.enable_readable_secondaries" \
--json '{
"spec": {
"group": {
"min": 2,
"max": 2,
"enable_readable_secondaries": true
}
}
}'
lockig
# Replace 2 with your current group size
curl -X PATCH "$DATABRICKS_HOST/api/2.0/postgres/projects/my-project/branches/production/endpoints/my-endpoint?update_mask=spec.group.enable_readable_secondaries" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "projects/my-project/branches/production/endpoints/my-endpoint",
"spec": {
"group": {
"min": 2,
"max": 2,
"enable_readable_secondaries": true
}
}
}' | jq
Varning
Med endast one sekundär beräkningsinstans och läsåtkomst aktiverad avbryts all lästrafik på -ro connection string under en redundansväxling tills en ersättning har lagts till. För elastisk läsåtkomst konfigurerar du två eller flera sekundära beräkningsinstanser med läsåtkomst aktiverad.
Ändra antalet sekundära beräkningsinstanser
Användargränssnitt (UI)
- På fliken Beräkning klickar du på Redigera på den primära beräkningen.
- Under Hög tillgänglighet väljer du en ny Beräkningskonfiguration från listrutan (2, 3 eller 4 totala beräkningsinstanser).
- Klicka på Spara.
Anmärkning
Om du vill inaktivera hög tillgänglighet anger du Beräkningstyp tillbaka till Enskild beräkning. Detta tar bort alla sekundära beräkningsinstanser och slutpunkten återgår till en enda beräkningskonfiguration.
Python SDK
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.postgres import (
Endpoint, EndpointSpec, EndpointType, EndpointGroupSpec, FieldMask
)
w = WorkspaceClient()
endpoint_name = "projects/my-project/branches/production/endpoints/my-endpoint"
# Scale to 3 compute instances (1 primary + 2 secondaries)
w.postgres.update_endpoint(
name=endpoint_name,
endpoint=Endpoint(
name=endpoint_name,
spec=EndpointSpec(
endpoint_type=EndpointType.ENDPOINT_TYPE_READ_WRITE,
group=EndpointGroupSpec(min=3, max=3)
)
),
update_mask=FieldMask(field_mask=["spec.group.min", "spec.group.max"])
).wait()
CLI
# Scale to 3 compute instances (1 primary + 2 secondaries)
databricks postgres update-endpoint \
projects/my-project/branches/production/endpoints/my-endpoint \
"spec.group.min,spec.group.max" \
--json '{
"spec": {
"group": { "min": 3, "max": 3 }
}
}'
lockig
curl -X PATCH "$DATABRICKS_HOST/api/2.0/postgres/projects/my-project/branches/production/endpoints/my-endpoint?update_mask=spec.group.min,spec.group.max" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "projects/my-project/branches/production/endpoints/my-endpoint",
"spec": {
"group": { "min": 3, "max": 3 }
}
}' | jq
Visa status och roller för hög tillgänglighet
Fliken Beräkning visar varje beräkningsinstans i konfigurationen för hög tillgänglighet med dess aktuella roll, status och åtkomstnivå.
| Kolumn | Värden |
|---|---|
| Befattning | Primär, sekundär |
| Status | Startar, Aktiv |
| Access | Läs/skriv (primär), Skrivskyddad (sekundär beräkningsinstans med åtkomst aktiverad), Inaktiverad (sekundär beräkningsinstans utan läsåtkomst) |
Det primära beräkningshuvudet visar också slutpunkts-ID, autoskalningsintervall och sekundärt antal (t.ex. 8 ↔ 16 CU · 3 secondaries).
Hämta anslutningssträngar
Användargränssnitt (UI)
Klicka på Anslut på den primära beräkningen för att öppna dialogrutan med anslutningsinformation. Listrutan Compute visar båda anslutningsalternativen för slutpunkten för hög tillgänglighet.
| Beräkningsalternativ | Anslutningssträng | Använd för |
|---|---|---|
Primary (name) ● Active |
{endpoint-id}.database.{region}.databricks.com |
Alla skriv- och läs-/skrivanslutningar |
Secondary (name) ● Active RO |
{endpoint-id}-ro.database.{region}.databricks.com |
Läsa av till sekundära beräkningsinstanser |
-ro connection string är bara tillgängligt när Tillåt åtkomst till skrivskyddade beräkningsinstanser är aktiverat.
Python SDK
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
endpoint = w.postgres.get_endpoint(
name="projects/my-project/branches/production/endpoints/my-endpoint"
)
print(f"Read/write host: {endpoint.status.hosts.host}")
print(f"Read-only host: {endpoint.status.hosts.read_only_host}")
CLI
databricks postgres get-endpoint \
projects/my-project/branches/production/endpoints/my-endpoint \
-o json | jq '{rw_host: .status.hosts.host, ro_host: .status.hosts.read_only_host}'
lockig
curl -X GET "$DATABRICKS_HOST/api/2.0/postgres/projects/my-project/branches/production/endpoints/my-endpoint" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
| jq '{rw_host: .status.hosts.host, ro_host: .status.hosts.read_only_host}'
För fullständig referens av anslutningssträngar, se Anslutningssträngar.
Nästa steg
- Hög tillgänglighet – begrepp, redundansbeteende och metodtips
- Läsrepliker – fristående läsrepliker för ytterligare läskapacitet utan hög tillgänglighet
- Anslutningssträngar