- 首先集群下,我们的机器一定不是靠IP来区分物理机的。
所以,我们要为linux机器配置一个hostname- IP不能是动态的,否则我们要经常去修改hostname对应的IP地址吗?
所以要配置静态的IP- ssh免密登陆,去掉繁琐的登陆输入密码
(一)修改主机名:hostname
1.使用hostname 可以获取当前的hostname值
[hadoop@hadoop01 ~]$ hostname
hadoop01
2.hostname [主机名称] 修改主机名称
- 使用后在本次会话中他不会立即显示修改后的主机名,退出本次会话再次登陆可显示
- 但是机器重启后失效,重启之后恢复原始hostname
永久性修改hostname
修改配置文件:
/etc/sysconfig/network
文件中的HOSTNAME的值
[hadoop@xuxiaobao ~]$ vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop01
重启后永久生效
(二)静态IP如何配置
修改配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0
[hadoop@xuxiaobao ~]$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:8B:44:97"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="1721480b-0183-40d4-919c-1f5572aeebd4"
IPADDR="192.168.100.101"
NETMASK="255.255.255.0"
GATEWAY="192.168.100.1"
需要配置的有:
文件配置完成,保存退出后,重启network 服务
service network restart
注意:进行网络测试不通时,关掉防火墙试试
(三)SSH免密登陆配置
假设A要ssh免密登陆到B。那么B机器就要知道A机器的公钥。换言之,A的公钥就要保存到B机器上。
1.首先在A机器上生成A机器的公私钥
ssh-keygen -t rsa -P “”
[hadoop@hadoop02 ~]$ ssh-keygen -t rsa -P ""
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory '/home/hadoop/.ssh'.
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
0a:8e:5e:78:4c:b9:27:b3:d3:f0:88:25:8d:17:cd:ba hadoop@hadoop02
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| o |
| ..o |
| o+o S |
| o**o . |
| o=O*o |
| ..oE=o |
| . .. |
+-----------------+
上面写道文件路径:
/home/hadoop/.ssh/,这里保存了该用户hadoop的公私钥
[hadoop@hadoop02 ~]$ cd /home/hadoop/.ssh
[hadoop@hadoop02 .ssh]$ ll
total 8
-rw-------. 1 hadoop hadoop 1675 Dec 31 11:33 id_rsa
-rw-r--r--. 1 hadoop hadoop 397 Dec 31 11:33 id_rsa.pub
[hadoop@hadoop02 .ssh]$
很简单吧,id_rsa.pub。
只要把id_rsa.pub的内容追加到B机器的某用户的home目录/.ssh/authorized_keys文件中就可以了。
前方大坑:如何你要scp可能会有问题,而且这样也比较麻烦,先传文件过去,在追加内容
2.在当前机器(生成公私钥的机器)使用如下命令
ssh-copy-id [username]@[IP地址/主机名]
[hadoop@hadoop02 .ssh]$ ssh-copy-id hadoop@192.168.100.101
The authenticity of host '192.168.100.101 (192.168.100.101)' can't be established.
RSA key fingerprint is 9e:b0:79:c9:e4:d7:22:56:54:ac:46:82:61:bb:62:7c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.101' (RSA) to the list of known hosts.
hadoop@192.168.100.101's password:
Now try logging into the machine, with "ssh 'hadoop@192.168.100.101'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
3.开心的免密登陆吧
现在对方拥有了我方的公钥,我方就可以快乐的免密登陆了^_^
[hadoop@hadoop02 ~]$ ssh 192.168.100.101
Last login: Sat Dec 31 11:59:24 2016 from 192.168.100.1
/etc/hosts
配置主机名(域名)与IP的映射关系
上面我们配置了hostname,但是还没有用到。
ssh连接时使用IP太麻烦了,那岂不是要我们记住每台机器的IP。
所以修改hosts,配置IP与主机的映射关系也是必须的。
[hadoop@hadoop02 ~]$ vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
可以看到开始我们的hosts文件里面只有上述内容,
127.0.0.1 localhost localhost.localdomain ...
说明他们均映射到IP:127.0.0.1
其中localhost.localdomain似乎很熟悉吧,我们的/etc/sysconfig/network中的HOSTNAME的默认参数就是他。
有人说HOSTNAME做了修改这里就要该一下,但是似乎有些牵强!!暂时不改没有觉得有问题。
在这里添加上我们的主机名还IP地址吧,这样我们就可以用
ssh [hostname]