Quindi ora ho avuto il tempo di analizzare la sandbox vm e scriverla per altri utenti. Come hai affermato correttamente nella tua modifica della domanda, è la configurazione del contenitore docker della sandbox, che confonde con due utenti root separati:
-
tramite
ssh [email protected] -p 2222
si entra nel contenitore docker chiamato "sandbox". Questa è una versione CentOS 6.8 (finale), contenente tutti i servizi HDP, in particolare il servizio ambari. La configurazione impone una modifica della password al primo accesso per l'utente root. All'interno di questa VM puoi anche eseguire ilambari-admin-password-reset
e impostare lì una password per l'amministratore ambari. -
tramite console accesso raggiungi l'host docker che esegue un Centos 7.2, qui puoi accedere con la password di root predefinita per la VM come si trova nei documenti HDP.
Venendo alla tua sotto-domanda con l'exec docker sospeso, sembra essere un bug in quella specifica versione docker. Se lo cerchi su Google, troverai problemi che discutono di questo o di problemi simili con la finestra mobile. Quindi ho pensato che sarebbe stata una buona idea aggiornare l'host tramite yum update
. Tuttavia questo si è rivelato un percorso difficile.
yum ha provato ad aggiornare il kernel, ma si è lamentato che non c'è abbastanza spazio nella partizione di avvio.
Quindi ho spostato la partizione di avvio nella partizione di root:
- modifica /etc/fsab e commenta la voce di avvio
- smonta /boot
- mv /boot
- cp -a /boot.org /boot
- grub2-mkconfig -o /boot/grub2/grub.cfg
- grub2-install /dev/sda
- riavvia
Successivamente ho scoperto che la configurazione della finestra mobile è rotta e la finestra mobile non si avvia più. Nei registri di cui si lamentava
"Errore durante l'avvio del daemon:errore durante l'inizializzazione di graphdriver:\"/var/lib/docker\" contiene altri graphdriver:devicemapper; Pulisci o scegli esplicitamente il driver di archiviazione (-s )"
Quindi ho modificato /etc/systemd/system/multi-user.target.wants/docker.service e cambiato l'impostazione di ExecStart in:
ExecStart=/usr/bin/dockerd --storage-driver=overlay
Dopo un service docker start
e un docker start sandbox
. Il contenitore ha funzionato di nuovo e ho potuto accedere al contenitore e dopo un riavvio del server ambari tutto ha funzionato di nuovo.
E ora, con la nuova versione docker 1.12.2, docker exec sandbox ls
funziona di nuovo.
Quindi, per riassumere, il comando docker exec ha un bug in quella specifica versione della sandbox, ma dovresti pensarci due volte se vuoi aggiornare la tua sandbox.