最近研究一个东西,参考别人的文章搭建一套大数据环境。文章写的非常详细也非常好,跟着文章一步步进行实践,基本都没有问题,但是到了最后一步进行试验时,CentOS7总是报错:
INFO metrics.MetricsUtil:Unable to obtain hostName
java.net.UnkownHostException:#localhost.localdomain
bigdata-02.*****.com:#localhost.localdomain
bigdata-02.*****.com
很是郁闷,明明是一步步照着人家来的,就是不行。于是用hostname命令查看主机名,显示的结果是
#localhost.localdomain
bigdata-02.*****.com
只能继续百度,到底应该如何设置主机的hostname值,看大家的说法基本都是:如果要永久修改hostname的值,那么就需要修改/etc/sysconfig/network的内容。可是无论我怎么修改这个文件的内容,修改之后重启多少遍,hostname命令执行后的结果仍然是跟上面提到的结果一样,完全不会变。
抱着死马当活马医的心态,又修改了/etc/hosts文件,重启系统后仍然无效。简直要崩溃呀。
还好,无意中找到了一篇文章,这篇文章说CentOS7版本由于与之前版本变化比较大,修改主机名的方式已经变了,除了前面说到的两步之外,还需要额外添加一步:修改/etc/hostname文件的内容,具体做法是将文件原有内容全部删除,然后写上自己心的主机名,比如:bigdata-02.*****.com,然后保存退出就可以了。
为了验证到底/etc/sysconfig/network文件对hostname到底起不起作用,特意将该文件中的HOSTNAME值与/etc/hostname文件中的内容设置的不一致,前者设置为BigData02,后者设置为BigData_02.*****.com。设置完之后重启系统,确保读取到最新的配置内容,重启后执行hostname,得到的结果是:BigData_02.*****.com
所以结论是:在CentOS7中要修改主机名称(hostname)只能修改/etc/hostname文件内容来进行,修改/etc/sysconfig/network文件根本不起作用。希望大家不要继续入坑了。