ambari域名显示错误修复(OpenStack)

如果将ambari部署在OpenStack云主机的话,就会发现ambari里面的“Quick Links”点开都会跳转到域名为xxx.novalocal的地址下,如果你尝试修改系统配置来解决问题,那将一无所获,这个问题曾经困扰我很久偶然间才解决,这里分享给遇到同样问题的有缘人。

问题分析

我们先来看一下ambari的数据库信息

select public_host_name, host_name from ambari.hosts

发现public_host_name与host_name列显示不一致,例如:

public_host_namehost_name
nn.novalocalnn.hadoop
snn.novalocalsnn.hadoop
dn0.novalocaldn0.hadoop
dn1.novalocaldn1.hadoop
dn2.novalocaldn2.hadoop

这里的public_host_name显示不符合我们的预期,这个字段正是问题所在

脚本/usr/lib/ambari-agent/lib/ambari_agent/hostname.py是ambari获取hostname的方法

  try:
    handle = urllib2.urlopen('http://169.254.169.254/latest/meta-data/public-hostname', '', 2)
    str = handle.read()
    handle.close()
    cached_public_hostname = str.lower()
    logger.info("Read public hostname '" + cached_public_hostname + "' from http://169.254.169.254/latest/meta-data/public-hostname")
  except:
    cached_public_hostname = socket.getfqdn().lower()
    logger.info("Read public hostname '" + cached_public_hostname + "' using socket.getfqdn()")
  return cached_public_hostname

可以看到它是访问了一个url获取到的public_host_name,我们来测试一下

[root@nn ambari_agent]# curl http://169.254.169.254/latest/meta-data/public-hostname
nn.novalocal

没错,就是这里的问题

解决问题

其实官方已经给了我们解决问题的方式,它允许我们自定义public_hostname,我们修改一下即可:

创建并编译脚本

vim /var/lib/ambari-agent/public_hostname.sh

添加如下内容

#!/bin/sh
echo `hostname -f`

修改脚本执行权限

chmod 755 "/var/lib/ambari-agent/public_hostname.sh"

每台ambari管理的主机上编辑ambari-agent.ini[agent]部分添加如下内容

vim /etc/ambari-agent/conf/ambari-agent.ini

## Added following to customize the public hostname
public_hostname_script=/var/lib/ambari-agent/public_hostname.sh

所有主机上重启ambari-agent

ambari-agent restart

再次访问ambari可以看到,域名地址已经正常

参考

https://community.cloudera.com/t5/Community-Articles/Why-ambari-host-might-have-different-public-host-name-and/ta-p/246662

https://docs.cloudera.com/HDPDocuments/Ambari-2.2.1.1/bk_ambari_reference_guide/content/_how_to_customize_the_name_of_a_host.html

https://blog.csdn.net/u012967763/article/details/116355730

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值