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

5 篇文章 0 订阅
4 篇文章 0 订阅
  • 首先集群下,我们的机器一定不是靠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]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值