和我一起学Hadoop(一):Linux的准备配置之hostname、静态IP配置、SSH免密登陆登陆

来源:互联网 发布:电脑编程c语言书籍 编辑:程序博客网 时间:2024/06/10 04:33
  • 首先集群下,我们的机器一定不是靠IP来区分物理机的。
    所以,我们要为linux机器配置一个hostname
  • IP不能是动态的,否则我们要经常去修改hostname对应的IP地址吗?
    所以要配置静态的IP
  • ssh免密登陆,去掉繁琐的登陆输入密码

(一)修改主机名:hostname
1.使用hostname 可以获取当前的hostname值

[hadoop@hadoop01 ~]$ hostnamehadoop01

2.hostname [主机名称] 修改主机名称

  • 使用后在本次会话中他不会立即显示修改后的主机名,退出本次会话再次登陆可显示
  • 但是机器重启后失效,重启之后恢复原始hostname

永久性修改hostname
修改配置文件:
/etc/sysconfig/network
文件中的HOSTNAME的值

[hadoop@xuxiaobao ~]$ vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=hadoop01

重启后永久生效
(二)静态IP如何配置
修改配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0

[hadoop@xuxiaobao ~]$ vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE="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"

需要配置的有:

  • ONBOOT
  • BOOTPROTO
  • IPADDR
  • NETMASK
  • GATEWAY

文件配置完成,保存退出后,重启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@hadoop02The 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]$ lltotal 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.101The 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)? yesWarning: 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_keysto make sure we haven't added extra keys that you weren't expecting.

3.开心的免密登陆吧
现在对方拥有了我方的公钥,我方就可以快乐的免密登陆了^_^

[hadoop@hadoop02 ~]$ ssh 192.168.100.101Last 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/hosts127.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]

0 0