10

我已经从 hortonworks (Centos OS) 下载了沙盒,然后尝试按照教程进行操作。似乎 ambari-admin-password-reset 命令不存在并且丢失了。我也尝试使用 putty 登录,控制台要求我更改密码,所以我这样做了。 现在似乎命令在那里,但我有不同的控制台密码和一个用于同一用户的腻子密码。

我试图寻找为什么对于同一个用户“root”我有 2 个不同的密码(一个用于虚拟盒控制台,一个用于 putty)我可以登录。我在每个盒子上看到不同的命令。不仅如此,当我共享文件夹时,我只能在虚拟盒控制台上看到它,而不能在腻子控制台上看到它),这真的很令人沮丧。

我怎样才能强制我从腻子中看到的内容与我从虚拟盒控制台中看到的内容相同。

我认为它与 TTY 有某种关系,但我不确定。

编辑:从虚拟机输出运行命令:

grep "^passwd" /etc/nsswitch.conf

输出:密码:文件 sss

grep root /etc/passwd

OUT : rppt"x"0"0"root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin

getent passwd root

输出:root:x:0:0:root:/root:/bin/bash

编辑: 我认为这都是关于 docker 容器的。似乎机器 2222 端口是 hdp 2.5 容器的 ssh 端口,而不是主机的 ssh 端口。现在我遇到了另一个问题。跑步时

docker exec sandbox ls

它卡住了。有什么帮助吗?

感谢帮助者

4

3 回答 3

4

所以现在我有时间分析沙盒虚拟机,并为其他用户编写它。正如您在问题编辑中正确说明的那样,它是沙箱的 docker 容器设置,它与两个单独的 root 用户混淆:

  • 通过ssh root@127.0.0.1 -p 2222您进入名为“沙箱”的 docker 容器。这是一个 CentOS 版本 6.8 (Final),包含所有 HDP 服务,尤其是 ambari 服务。该配置在 root 用户首次登录时强制更改密码。在此 VM 中,您还可以执行ambari-admin-password-resetambari 管理员并在其中设置密码。

  • 通过控制台访问,您可以访问运行 Centos 7.2 的 docker 主机,在这里您可以使用 HDP 文档中的 VM 的默认 root 密码登录。

使用挂起的 docker exec 来解决您的子问题,这似乎是该特定 docker 版本中的一个错误。如果你用谷歌搜索,你会发现与 docker 讨论这个或类似问题的问题。所以我认为通过yum update. 然而,这被证明是一条艰难的道路。

yum 尝试更新内核,但抱怨引导分区上没有足够的空间。

所以我将引导分区移动到根分区:

  1. 编辑 /etc/fsab 并注释掉启动项
  2. 卸载/启动
  3. MV /启动
  4. cp -a /boot.org /boot
  5. grub2-mkconfig -o /boot/grub2/grub.cfg
  6. grub2-安装 /dev/sda
  7. 重启

之后,我发现 docker 配置已损坏,docker 不再启动。在它抱怨的日志中

“启动守护程序时出错:初始化图形驱动程序时出错:\”/var/lib/docker\”包含其他图形驱动程序:devicemapper;请清理或显式选择存储驱动程序(-s)”

所以我编辑了 /etc/systemd/system/multi-user.target.wants/docker.service 并将 ExecStart 设置更改为:

ExecStart=/usr/bin/dockerd  --storage-driver=overlay

在 aservice docker start和 a之后docker start sandbox。容器再次工作,我可以登录到容器,并且在 ambari-server 重新启动后一切正常。

现在 - 使用新的 docker 版本 1.12.2,docker exec sandbox ls再次工作。

所以总结一下 docker exec 命令在那个特定版本的沙箱中有一个错误,但是如果你想升级你的沙箱,你应该三思而后行。

于 2016-10-06T13:37:01.053 回答
0

我遇到了同样的问题。HDP 2.5 沙箱在一个 docker 容器中运行它的所有组件,但是类似docker exec -it sandbox /bin/bashdocker attach sandbox卡住的命令。

当我运行一个简单的命令时ps aux,我发现了几个/usr/bin/docker-proxy看起来像这样的命令: /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 60000 -container-ip 172.17.0.2 -container-port 60000

他们可能会转发 HDP 组件的各种 UI 的 HTTP 端口。

我可以使用 root/hadoop ssh 进入容器 ip(此处为 172.17.0.2)进行身份验证。从那里,我可以使用所有“缺失”的命令,如 ambari-admin-password-reset。

$ ssh root@172.17.0.2 ... # change password $ ambari-admin-password-reset

注意:我是 docker 新手,所以可能有更好的方法来处理这个问题。

于 2016-11-02T16:35:19.837 回答
0

我想在这里发布 3.0.1 的说明。

我在这里按照安装 hortonworks 3.0.1 版的说明进行操作:https ://youtu.be/5TJMudSNn9c

运行 docker 容器后,转到浏览器并输入“localhost:4200”,这将带您进入容器的浏览器终端,该终端托管 ambari。登录时输入“root”,密码输入“hadoop”,更改root密码,然后输入“ambari-admin-password-reset”以重置ambari密码。

为了能够使用 sandbox-hdp.hortonworks.com,您需要在 Mac 上的 /private/etc/hosts 文件末尾添加“127.0.0.1 sandbox-hdp.hortonworks.com”行。

于 2020-10-29T00:39:58.197 回答