完全分布式 Hadoop 配置

针对使用虚拟机来配置Hadoop集群,首先安装好一台Centos虚拟机,然后再克隆两台。克隆之后,需要对三台 Centos 的 IP/Host 进行配置。

IP mac映射,方便ssh操作

MAC:/etc/udev/rules.d/70-persistent-net.rules
     删除eth-0 复制mac地址,将eth-1 改成eth-0 (此为当前的mac地址)

    /etc/sysconfig/network-scripts/ifcfg-eth0
    修改mac, ifconfig查看
    
重启网络。

hostname 在 /etc/hosts 与IP进行关联。在每台Centos上三台Centos的IP与Centos都关联上。
/etc/sysconfig/network 中修改hostname。


同时还要记住,禁用 selinux 和关闭防火墙

SSH免密远程登陆

   将公钥存储到远程主机,方便远程主机可以免密登陆当前主机     ssh ip/hostname

  • 在用户主目录找到  ".ssh" 目录,并删除之。
  • 运行命令
ssh-keygen -t rsa //-t rsa 使用rsa加密 
#直接多次回车,直到生成完毕
  • 拷贝公钥到 authrized_keys,并发送到目标主机。如果有三台Centos,那么需要进行9次该操作。对自己也要如此操作。
ssh-copy-id ip/hostname
  • 验证 
ssh ip/hostname
//对本机也使用该操作来进行验证,否则后面配置会有问题。

机器规划

1号机 datanode nodemanager namenode historyserver
# 192.168.47.135 bigdata.001.com        
2号机 datanode nodemanager resoucemanager
# 192.168.47.133 bigdata.002.com
3号机 datanode nodemanager secondaryname
# 192.168.47.132 bigdata.003.com

搭建过程

  • 与伪分布式配置类似
与伪分布式相似的过程
    1. 安装java环境
    2. 制定java的安装路径,配置 hadoop-env.sh, maperd-env.sh, yarn-env.sh
       export JAVA_HOME=/opt/moduels/jdk1.7.0_67
  • 配置salves文件
# slaves文件里面记录的是集群里所有DataNode的主机名
   bigdata.001.com
   bigdata.002.com
   bigdata.003.com
  • 修改 core-site.xml
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.47.135:8020</value> <!--第一台主机的ip/hostname-->
    </property>

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/app/hadoop-2.5.0/data/tmp</value>
    </property>
  • 修改 hdfs-site.xml
   <property>
       <name>dfs.permissions.enabled</name> <!--关闭权限-->
        <value>false</value>
  </property>
 
  <property>
       <name>dfs.namenode.secondary.http-address</name>
       <value>192.168.47.132:50090</value> <!--secondary node 配置在第三台主机上-->
  </property>
  • 修改yarn-site.xml
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
     </property>

    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>192.168.47.133</value> <!--资源主机配置在第二台主机上-->
    </property>
   
   <property>
      <name>yarn.log-aggregation-enable</name> <!--log日志开启,可以在web上查看-->
      <value>true</value>
   </property>

   <property>
      <name>yarn.log-aggregation.retain-seconds</name>
      <value>106800</value>  <!--设置log日志保存的时间-->
   </property>
  • 修改 mapred-site.xml
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>

    <property>
       <name>mapreduce.jobhistory.address</name>
       <value>192.168.47.135:10020</value>  <!--第一台主机-->
    </property>

    <property>
       <name>mapreduce.jobhistory.webapp.address</name>
       <value>192.168.47.135:19888</value>  <!--第一台主机-->
    </property>
  • 配置完成一台主机后,可以使用ssh来分发
scp -r hadoop-2.5.0/ 192.168.47.133:/opt/app/
scp -r hadoop-2.5.0/ 192.168.47.132:/opt/app/
  • 格式化 namenode
//namenode主机进行格式化,即我们配置的135主机
bin/hdfs namenode -format
  • 验证
启动集群
   sbin/start-all.sh

关闭集群
   sbin/stop-all.sh

   jps
   检查所有服务是否开启

#打开 http://192.168.47.135:50070/, 依据namenode来打开。
core-site.xml
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.47.135:8020</value> <!--第一台主机的ip/hostname-->
    </property>


# 打开http://192.168.47.133:8088/,依据resourcemanager来打开。
yarn-sits.xml
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>192.168.47.133</value> <!--资源主机配置在第二台主机上-->
    </property>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值