/**/

一、前言

就是我们需要集群部署hadoop,Flink时,写ip地址太长了,然后大家想的就是能不能用比如:node1,node2,node3去代替IP地址,在一个局域网中,每台机器都有一个主机名,便于主机与主机之间的区分,因此为每台机器设置主机名,以容易记忆的方法来相互访问。比如我们在局域网中可以为根据每台机器的功用来为其命名,也可以通过各个节点来命名。

二、三种方式给linux主机系统改名

在linux系统中,设置主机名我知道的有三种不同的方式,下面我们来看看这几种方式之间的区别。

1、通过hostname 新名字

命令格式:hostname newhostname

#1.修改主机名为node3
[root@node1 apps]# hostname node3
#2.退出系统,重新登录
[root@node1 apps]# logout
Last login: Wed Apr 13 10:52:37 2022 from 192.168.43.1
#3.node已经改为node3了
[root@node3 ~]# 

file

可以看到,修改后,看到的主机名并没有改变,但是当我们打开新的命令查看或者重新登录后连接,主机名就生效了。说明该方式是暂时修改主机名,用logout命令登出并重新登录即可生效。但不是永久生效。

2、通过修改配置文件

修改配置文件/etc/sysconfig/network也可以对主机名进行修改,linux主机名在下次重启之后开始生效,如需立即永久生效,需配合hostname命令即可。

[root@node3 ~]# vi /etc/sysconfig/network
# 1.设置主机名
NETWORKING=yes
HOSTNAME=node2

file

#2.查看是否设置成功
[root@node3 ~]# cat /etc/sysconfig/network

file

这样,修改后重新登录或者打开新的连接就生效了,重启的话会自动调用配置文件的设置,自动使主机名生效。

file

PS:对于在Ubuntu系统中,主机名存放在/etc/hostname文件中,修改主机名时,编辑hostname文件,在文件中输入新的主机名并保存该文件即可。

[root@localhost~]# vi /etc/hostsname
[root@localhost ~]# cat /etc/hostsname
node2
[root@localhost ~]#

3、使用 hostnamectl 来改变主机名

hostnamectl 命令允许在 Linux 中设置三类主机名,它们的细节如下:

1. 静态: 这是静态主机名,由系统管理员添加。
 
2. 瞬时/动态: 这个由 DHCP 或者 DNS 服务器在运行时赋予。
 
3. 易读形式: 它可以由系统管理员赋予。这个是自由形式的主机名,以一种易读形式来表示服务器,
   例如 “JBOSS UAT Server” 这样的名字。

设置命令格式: hostnamectl set-hostname主机名

[root@node3 ~]# hostnamectl set-hostname node4
[root@node3 ~]# hostnamectl status
[root@node3 ~]# cat /etc/hostname

file

注意:这些需要重启启动就可以生效了!并且是永久生效哟!

该方式设置后,会自动将设置信息写入到配置文件中,无需额外编辑,属于立即生效,永久生效的,重启也会生效。

4、总结

最后总结一下,三种方式都能够临时或永久的修改主机名,如果是希望永久性修改主机名还是推荐使用第三种hostnamectl 命令的方式去修改,修改后即可永久生效,无需去修改配置额外的文件,非常方便。

作者:|萌褚|,原文链接: http://www.imooc.com/article/325448

文章推荐

Python数据分析--Numpy常用函数介绍(5)--Numpy中的相关性函...

数仓血缘关系数据的存储与读写

如何简单、高效的进行留存和漏斗分析

Docker 与 K8S学习笔记(二十三)—— Kubernetes集群搭建

一文学完Linux常用命令

一文讲透为Power Automate for Desktop (PAD) 实现自定义模...

CSAPP 之 ShellLab 详解

如何快速引入SDK

一文带你了解 「图数据库」Nebula 的存储设计和思考

Golang:将日志以Json格式输出到Kafka

Redis 做接口限流,一个注解的事!

api网关介绍