在使用hadoop中遇到的一些有关linux的问题

0.关于虚拟机

在用的VMWare(centos 6.2),装系统并没有什么难度,难(折腾)点在于网络设置。
VMWare有三种网络模式:Host-only,桥接,NAT。其中Host-only和NAT不用特别配置,装好以后网络和控制中心就会出现两个虚拟网卡:

右键看它们的IP地址、DNS、子网掩码、网关,然后抄到linux系统的/etc/sysconfig/network-scripts/ifcfg-eth[x]文件里就可以了

然而因为host-only只能跟主机通信,不能访问外网;NAT使用的是主机的网络,无法把两台虚拟机设置在一个集群;所以只能用桥接模式:
桥接模式相当于和主机在同一个局域网里的虚拟主机,需要设置和主机在同一个ip地址段、同样的DNS、子网掩码和网关,在本机cmd运行ipconfig命令得到需要的信息,修改ifcfg-eth0文件即可
改完了以后重启一下网络
service network restart
然后运行ifconfig看一下网卡设置



1.关于ssh

通过ps -e | grep ssh命令查看本机有没有装openssh,没有就用apt-get install装一下:
<span style="font-family:Microsoft YaHei;font-size:12px;">apt-get install openssh-server</span>

SSH要求服务端和客户端各有两个密钥,为:

服务端私钥/公钥

客户端私钥/公钥

认证过程分为两个步骤:

1)获得会话密钥

客户端请求连接,服务端接到请求后将自己的公钥和一个会话ID发送给客户端,客户端根据会话ID生成会话密钥,然后用服务端的公钥加密后发回给服务端,服务端用自己的私钥解密,得到会话密钥。至此服务端和客户端之间的数据传输都将被会话密钥加密。

2)服务端生成一个随机数,并用客户端的公钥加密后发送给客户端,客户端用自己的私钥解密得到这个随机数,然后用这个随机数和上个步骤的会话密钥经过MD5算法后发到服务器端,服务器端也用MD5算法处理这两个数据,得到客户端发来的结果后与之对比,相同则认证成功。

由于Hadoop集群之间的通信要通过SSH,所以需要设置SSH免密码登录(就是把服务端的公钥放到客户端上):

1)先在客户端和服务端各自生成其公钥和私钥:

ssh-keygen -t rsa   #-type 采用rsa加密算法

执行命令以后,在~/.ssh文件夹下会有两个文件:id_rsa(私钥),id_rsa.pub(公钥),至于已认证文件authorized_keys需要自行创建。

PS:这两个文件是隐藏文件,所以应该给ls加上-a参数来查看。

cat id_rsa.pub >> authorized_keys  
2)确保master和slaver的~/.ssh文件夹下都有这三个文件以后,把master的authorized_keys通过scp命令复制到slaver的~./ssh目录下:

scp authorized user@hostname:~/.ssh


3)权限问题

过高的权限不能通过ssh-add命令,过低的权限无法实现免密码登录。

之前由于没有把ssh文件夹的权限设置成711,导致authorized_keys都设置正确也无法免密码登录。

./ssh的权限设置为711authorized_keys的权限设为644

参考:http://blog.sina.com.cn/s/blog_72827fb101018wsn.html ←感谢作者~

PS:在/etc/hosts文件设置一下DNS解析,把ip地址映射到主机名会比较方便一点,也能防止更改master/slaver服务器要重新设置hadoop配置文件的情况



2.关于linux命令

1. scp not a regular file错误
传文件夹 用-r参数 否则有 not a regular file错误
scp -r bdump oraprod@192.168.0.188:bdump
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值