Der Beitrag wurde im September 2016 geschrieben
Der eine oder die andere erinnert sich vielleicht noch an meine Manta-Experimente. Nach einem weiteren missglückten Deployment mit fünf Nodes und neuen Erfahrungen beim Abräumen dieses Deployments habe ich jetzt ein möglicherweise funktionsfähiges Setup mit drei Nodes hinbekommen. Dazu habe ich die folgende Konfiguration erstellt:
Zunächst sollte man nach Durchlauf von "manta-deploy-dev
" mit "manta-adm update -y labconfig.json nameservice
" sicherstellen, dass die Nameservice-Zonen ausgerollt werden. Es kann auch sinnvoll sein, mit "manta-adm zk list
" und falls erforderlich mit "manta-adm zk fixup
" die Zookeeper-Konfiguration mit der Realität in Übereinstimmung zu bringen.
Erst danach sollte man dann mit "manta-adm update -y labconfig.json
" die restliche Umgebung ausbringen. Das Ergebnis sieht dann so oder ähnlich aus:
CN lnxp-5700 0f9444b1-878f-11e1-b950-00262d0cb730 10.64.244.42
SERVICE SH ZONENAME
authcache 1 18647eac-d375-44a8-94bb-bedc9f1098b7
jobpuller 1 26d333d0-b3b0-4afb-942f-68c7dccb62dc
jobsupervisor 1 fce8d38f-2369-43d5-ab37-7b939f0e59ba
loadbalancer 1 8210fe4d-013b-410d-87bf-3fc00a35ba67
marlin 1 e51c47f5-ffc5-46ba-8534-ff68f3402996
marlin 1 0bfc558e-495e-4e0f-b97b-82eead87efc6
marlin 1 a9ffe061-490f-46ba-9d87-7fde94fdec50
marlin 1 7d131d9f-5a41-4c68-b0a0-93af674e6bec
marlin 1 7c77447d-dc9f-48c4-be54-26c85cb6b40a
marlin 1 547dc0b2-b239-4c6e-a85f-f404473d32ec
marlin-dashboard 1 c6adca62-c0c9-4dde-a847-1a79db4e9b5d
medusa 1 2660e9a8-a0f9-462e-b41c-31fdc41c6d01
moray 3 8b1b8181-4bc4-48a1-bc10-04e702b67d50
moray 1 6032b670-bd17-4aac-80af-3583c03a71da
moray 2 1c79edad-02ff-4c93-97f4-728b19d3dd68
nameservice 1 144c8552-832a-4bba-8d76-7758b1c5fe67
postgres 3 c93a5e15-a451-467e-baaf-be4c62022155
postgres 1 27799592-b941-46f5-9d86-26c15582657b
postgres 2 f90a7671-b20b-4f41-8946-d2516633dbb4
storage 1 2f17df85-a762-413a-9540-fe01a9a39aa5
webapi 1 b134e0be-68bf-4996-b3d0-f149f7d499a6
CN lnxp-6104 30a200bb-6af0-4ac1-83a8-75b4c147c4ce 10.64.244.45
SERVICE SH ZONENAME
authcache 1 3dfd2489-ca4d-45e2-91c0-fcb2125a17aa
electric-moray 1 c7417140-b43f-422a-9dbb-317fd843f6b2
jobpuller 1 f5cd32ef-f199-4437-b714-c578c9b1b1e0
jobsupervisor 1 ee3c7c4f-c932-4905-8e6f-36a25d42db81
loadbalancer 1 f0603a53-daa9-4bff-901a-2b17a4051318
marlin 1 3188f665-601a-4e63-859d-202fce40b00d
marlin 1 c9e8f1a9-8a02-4e76-8e46-72a4018c2bf7
marlin 1 9af9aba8-bfac-4530-a911-d072d5e15292
marlin 1 9060cc74-3940-4b06-8f9e-993629c7b4b1
marlin 1 0cdaa375-3bc3-4620-9495-f4e195b317b0
marlin 1 0548e76b-b5f6-4651-8a17-00cf122f1ce2
moray 2 cd757049-988f-4854-8562-9844db191f09
moray 1 00e76b92-122f-4969-b2a3-68abbf86b6b0
moray 3 ebf98fee-3367-49c3-841b-460f4cf8942c
nameservice 1 f3b06cdf-530d-48b3-adf9-467852190eaa
ops 1 1135581c-d535-4895-bd84-1600a9d4ecd1
postgres 1 913269a9-4989-40db-9b43-c53a0d4d6325
postgres 2 44c6bafa-3e67-4e61-8876-2af1c2ed2b52
postgres 3 9622df0f-9905-46e0-b2f8-a01f16b858b0
storage 1 95c70a88-5060-4769-805b-75fe3144ae61
webapi 1 96cc22ad-38c3-4eb6-8fd6-ddad373768e6
CN lnxp-6105 6f13d529-4d2d-4afe-a81d-5fdc3a4a55ab 10.64.244.46
SERVICE SH ZONENAME
authcache 1 3395765f-d433-4ce0-8fb3-90ffaf9d9097
jobpuller 1 d5cb2409-173b-4b41-a995-75c51f2cac23
jobsupervisor 1 6c24b0d5-5304-412d-9f19-af60a26f54ec
loadbalancer 1 b780202f-f876-4549-a1d5-b5f5dcc1fdbc
madtom 1 7a7d38f5-7336-4ee8-b2cc-192094b12688
marlin 1 a4b6c5b0-5f9c-4bdf-9939-c4e17be4fd62
marlin 1 aa7611a8-4b18-414d-b23f-1d301b696b06
marlin 1 d30d4a5f-4a20-42ad-9ec0-1659be32adfd
marlin 1 9e790316-df88-4bff-920d-94c5668fca60
marlin 1 ad17445d-1b2a-4ef4-a788-e5081687b09f
marlin 1 f4efcc0f-997f-4cd6-afb3-55957e812956
moray 3 e621643f-02aa-423b-b854-adbb99a3bf90
moray 1 b797b49b-d64c-42ea-bb6f-03ee098aae77
moray 2 925d70c2-1489-4d74-b0ca-e548d0ed11a7
nameservice 1 47ecb807-cc6a-456f-a31b-a0d8238fea89
postgres 1 45c55c41-014f-4287-8d55-77c2f5069469
postgres 3 3055550e-4965-416d-8bdb-34662f30b0f7
postgres 2 784ae69f-38a0-4e62-b78c-942b019be03c
storage 1 5f68bfec-a4cc-4ecb-aacd-06c3c9a4e354
webapi 1 bd4c6059-e0d0-4e0b-b3a5-cdb2ae1b97e7
Wie in Sample 3-Node Lab Manta Config for TESTING or DEV beschrieben, ist es übrigens durchaus sinnvoll, den Speicherverbrauch der Zonen einmal mit zonememstat zu überprüfen. Auf den drei Manta-Nodes sah das so aus:
[root@headnode (de-gt-1) ~]# sdc-oneachnode -n lnxp-5700 "zonememstat -a"
=== Output from 0f9444b1-878f-11e1-b950-00262d0cb730 (lnxp-5700):
ZONE ALIAS RSS(MB) CAP(MB) NOVER POUT(MB)
global - 667 - - -
134cce30-134b-40da-9387-cd35b3fb95af tb_couchbase_1 1344 4096 0 0
ccfa7a23-6b2b-4b8a-a5e1-485331f243c4 hostvolume-lnxp-5700 28 4096 0 0
f3376e4b-7f78-4eeb-9d99-6a615c404f28 binder1 267 1024 0 0
144c8552-832a-4bba-8d76-7758b1c5fe67 nameservice.de-gt.tgos.de-144c8552 247 512 0 0
27799592-b941-46f5-9d86-26c15582657b 1.postgres.de-gt.tgos.de-27799592 845 2048 0 0
f90a7671-b20b-4f41-8946-d2516633dbb4 2.postgres.de-gt.tgos.de-f90a7671 1289 2048 0 0
c93a5e15-a451-467e-baaf-be4c62022155 3.postgres.de-gt.tgos.de-c93a5e15 906 2048 0 0
6032b670-bd17-4aac-80af-3583c03a71da 1.moray.de-gt.tgos.de-6032b670 320 8192 16442 7450
1c79edad-02ff-4c93-97f4-728b19d3dd68 2.moray.de-gt.tgos.de-1c79edad 290 8192 466 310
8b1b8181-4bc4-48a1-bc10-04e702b67d50 3.moray.de-gt.tgos.de-8b1b8181 283 8192 7 9
2f17df85-a762-413a-9540-fe01a9a39aa5 storage.de-gt.tgos.de-2f17df85 223 256 0 0
18647eac-d375-44a8-94bb-bedc9f1098b7 authcache.de-gt.tgos.de-18647eac 333 1024 0 0
b134e0be-68bf-4996-b3d0-f149f7d499a6 webapi.de-gt.tgos.de-b134e0be 758 768 0 0
8210fe4d-013b-410d-87bf-3fc00a35ba67 loadbalancer.de-gt.tgos.de-8210fe4d 274 512 0 0
fce8d38f-2369-43d5-ab37-7b939f0e59ba jobsupervisor.de-gt.tgos.de-fce8d38f 232 256 0 0
26d333d0-b3b0-4afb-942f-68c7dccb62dc jobpuller.de-gt.tgos.de-26d333d0 227 256 0 0
2660e9a8-a0f9-462e-b41c-31fdc41c6d01 medusa.de-gt.tgos.de-2660e9a8 243 512 0 0
c6adca62-c0c9-4dde-a847-1a79db4e9b5d marlin-dashboard.de-gt.tgos.de-c6adca62 205 256 0 0
7d131d9f-5a41-4c68-b0a0-93af674e6bec marlin.de-gt.tgos.de-7d131d9f 22 256 0 0
0bfc558e-495e-4e0f-b97b-82eead87efc6 marlin.de-gt.tgos.de-0bfc558e 22 256 0 0
e51c47f5-ffc5-46ba-8534-ff68f3402996 marlin.de-gt.tgos.de-e51c47f5 22 256 0 0
547dc0b2-b239-4c6e-a85f-f404473d32ec marlin.de-gt.tgos.de-547dc0b2 22 256 0 0
7c77447d-dc9f-48c4-be54-26c85cb6b40a marlin.de-gt.tgos.de-7c77447d 22 256 0 0
a9ffe061-490f-46ba-9d87-7fde94fdec50 marlin.de-gt.tgos.de-a9ffe061 22 256 0 0
Der Hinweis, die Moray-Zonen mit mehr Speicher zu versorgen, war/ist also durchaus angebracht.
Madtom - das Dashboard, aus welchem die "Systemgesundheit" der verschiedenen Manta-Komponenten hervorgeht - sieht so aus:

Jetzt ist natürlich interessant, wie man überhaupt auf Manta zugreift. Hierzu lohnt sich ein Blick in die API-Dokumentation von Joyent. Nach Installation von manta, json und bunyan (via npm
), müssen die erforderlichen Umgebungsvariablen für Manta gesetzt werden. Dabei kann man $MANTA_USER
und $MANTA_KEY_ID
direkt von den SDC-Variablen $SDC_ACCOUNT
und $SDC_KEY_ID
übernehmen. Hinzu kommt noch die $MANTA_URL
. Wichtig dabei ist, dass Manta offenbar noch nicht in den Container Name Service integriert ist und deshalb auch nicht dessen Namensschema verwendet. Die verwendete Domain kann man ja in der Übersicht oben sehen. Im DNS, auf dem Loadbalancer oder (in meinem Fall) in der /etc/hosts
, trägt man deshalb die externen IP-Adressen der Zonen ein, die den Loadbalancer-Dienst beherbergen. Da bei einer "on premise" Installation zunächst selbstsignierte Zertifikate eingespielt sind, ist es wichtig, auch noch die Variable $MANTA_TLS_INSECURE=1
zu setzen, da man sich sonst nicht verbinden kann:
root@ec057038-51aa-ed39-ffc9-dd88a5a20198:~# mls /hbloed/jobs
mls: AssertionError: undefined (object) is required
root@ec057038-51aa-ed39-ffc9-dd88a5a20198:~# mlogin
* ERROR: DEPTH_ZERO_SELF_SIGNED_CERT
* cleaning up resources...
mlogin: AssertionError: undefined (object) is required
root@ec057038-51aa-ed39-ffc9-dd88a5a20198:~# export MANTA_TLS_INSECURE=1
root@ec057038-51aa-ed39-ffc9-dd88a5a20198:~# mls /hbloed/
jobs/
public/
reports/
stor/