【问题标题】:HDP 2.5 Hortonworks ambari-admin-password-reset missingHDP 2.5 Hortonworks ambari-admin-password-reset 丢失
【发布时间】:2020-10-29 08:45:49
【问题描述】:

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

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

如何强制我从 putty 中看到的内容与我在虚拟盒子控制台中看到的内容相同。

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

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

grep "^passwd" /etc/nsswitch.conf

OUT:密码:文件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

OUT:root:x:0:0:root:/root:/bin/bash

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

docker exec sandbox ls

卡住了。有什么帮助吗?

感谢帮助

【问题讨论】:

  • 您能否在重新启动后重现此行为?如果是这样,请发布grep "^passwd" /etc/nsswitch.confgrep root /etc/passwd(匿名化哈希)和getent passwd root的输出
  • 我已经添加了您要求的相关数据。此输出来自虚拟盒控制台(不是腻子)。如果您需要腻子输出,请告诉我。

标签: linux docker centos hortonworks-sandbox


【解决方案1】:

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

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

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

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

yum 尝试更新内核,但抱怨引导分区空间不足。

所以我把启动分区移到了根分区:

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

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

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

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

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

service docker startdocker start sandbox 之后。容器再次工作,我可以登录到容器,并且在 ambari-server 重新启动后一切都再次工作。

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

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

【讨论】:

  • 似乎找不到命令。运行 unamae -a 结果:Linux sandbox.hortonworks.com 3.10.0-327.28.3.el7.x86_64 #1 SMP Thu Aug 18 19:05:49 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  • 您看到/var/lib/sss/db/ 中的文件了吗?你能删除它们吗,看到这个link
  • 没有这样的路径。 [root@sandbox ~]# cat /etc/redhat-release. OUT:CentOS 6.8 版(最终版)
【解决方案2】:

我遇到了同样的问题。 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 新手,所以可能有更好的方法来处理这个问题。

【讨论】:

    【解决方案3】:

    我想在这里发布 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,您需要在您的 /private/etc/hosts 文件末尾添加“127.0.0.1 sandbox-hdp.hortonworks.com”行马克。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多