沈阳格力专卖店 发表于 2016-12-7 08:07:19

hadoop安装前准备


1)查看当前机器名称
hostname
   用下面命令进行显示机器名称,如果跟规划的不一致,要按照下面进行修改。
vi /etc/sysconfig/network
2)修改当前机器名称
   假定我们发现我们的机器的主机名不是我们想要的,通过对"/etc/sysconfig/network"文件修改其中"HOSTNAME"后面的值,改成我们规划的名称。
  这个"/etc/sysconfig/network"文件是定义hostname和是否利用网络的不接触网络设备的对系统全体定义的文件。
3)修改当前机器IP
    假定我们的机器连IP在当时安装机器时都没有配置好,那此时我们需要对"ifcfg-eth0"文件进行配置,该文件位于"/etc/sysconfig/network-scripts"文件夹下。
  在这个目录下面,存放的是网络接口(网卡)的制御脚本文件(控制文件),ifcfg- eth0是默认的第一个网络接口,如果机器中有多个网络接口,那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg- eth3,……。
  这里面的文件是相当重要的,涉及到网络能否正常工作。
  设定形式:设定值=值
  设定项目项目如下:
      DEVICE 接口名(设备,网卡)
      BOOTPROTO IP的配置方法(static:固定IP, dhcpHCP, none:手动)
      HWADDR MAC地址
      ONBOOT 系统启动的时候网络接口是否有效(yes/no)
      TYPE 网络类型(通常是Ethemet)
      NETMASK 网络掩码
      IPADDR IP地址
      IPV6INIT IPV6是否有效(yes/no)
       GATEWAY 默认网关IP地址
  查看"/etc/sysconfig/network-scripts/ifcfg-eth0"内容,如果IP不复核,就行修改。
linux保存MAC地址的配置文件为"/etc/udev/rules.d/70-persistent-net.rules"拷贝虚拟机的时候需要修改里面的网卡MAC
    如果修改DNS:
vi /etc/resolv.conf
4 ) 配置Master无密码登录所有Salve
  1)SSH无密码原理
  Master(NameNode | JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode | Tasktracker)上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。当Master通过SSH连接Salve时,Salve就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端Master复制到Slave上。
  2)Master机器上生成密码对
   在Master节点上执行以下命令:
   ssh-keygen -t rsa -P ''
   这条命是生成其无密码密钥对,询问其保存路径时直接回车采用默认路径。生成的密钥对:id_rsa和id_rsa.pub,默认存储在"/home/hadoop/.ssh"目录下。
   查看"/home/hadoop/"下是否有".ssh"文件夹,且".ssh"文件下是否有两个刚生产的无密码密钥对。
   接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
   在验证前,需要做两件事儿。第一件事儿是修改文件"authorized_keys"权限(权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用RSA功能),另一件事儿是用root用户设置"/etc/ssh/sshd_config"的内容。使其无密码登录有效。
  1)修改文件"authorized_keys"
chmod 644 ~/.ssh/authorized_keys
  备注:如果不进行设置,在验证时,扔提示你输入密码,在这里花费了将近半天时间来查找原因。在网上查到了几篇不错的文章,把作为"Hadoop集群_第5期副刊_JDK和SSH无密码配置"来帮助额外学习之用。
    2)设置SSH配置
  用root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容。
    RSAAuthentication yes # 启用 RSA 认证
    PubkeyAuthentication yes # 启用公钥私钥配对认证方式
    AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
  设置完之后记得重启SSH服务,才能使刚才设置有效。
    service sshd restart
  退出root登录,使用hadoop普通用户验证是否成功。
ssh localhost
      配置用户的公钥登陆时,配置完authorized_keys居然一直不生效,发现原来是因为.ssh目录和下面文件的权限问题导致的,因为目录的权限已经超过了sshd的要求权限。
如果希望ssh公钥生效需满足至少下面两个条件:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是644
    3)把公钥复制所有的Slave机器上。
scp -r ~/.ssh 远程用户名@远程服务器IP:~/
5)创建用户和用户组
    1:创建用户组:groupadd hadoop
    2:创建用户:useradd -g hadoop hadoop
    3:修改密码:passwd hadoop
6)关闭所有机器防火墙
chkconfig iptables off
service iptables stop
页: [1]
查看完整版本: hadoop安装前准备