hadoop搭建完全分布式

搭建完全分布式具体步骤

一、 安装jdk【可参考上一篇文章 hadoop搭建伪分布模式
二、安装hadoop【同上】
三、 配置环境变量【同上】
四、 设置无密登录【同上】
五、 设置hadoop配置文件【同上】
六、克隆三个虚拟机
【选中虚拟机右键】–> 【管理】–> 【克隆】–> …【创建完整克隆】–> 【设置虚拟机路径】
七、 关闭防火墙
查看是否关闭:chkconfig iptables --list
来关闭防火墙:chkconfig iptables off
八、 修改静态IP+修改主机名【root权限】
  详细参考文章Linux中配置静态ip以及如何修改机器名
  第八步,在操作的时要对每一台虚拟机进行配置和修改
  在修改hosts文件时,我是在slave01中操作的,在远程拷贝时就要scp其他三台

  1. 查看静态IP、网关、子网掩码

  2. 擦查看MAC地址是否与eth0匹配
    命令语句:gedit /etc/udev/rules.d/70-persistent-net.rules
    例:ATTR{address}==“00:0c:29:3b:ea:a5”   NAME=“eth0”

  3. 修改【/etc/sysconfig/network-scripts/ifcfg-eth0】
    命令语句:gedit /etc/sysconfig/network-scripts/ifcfg-eth0
    在这里插入图片描述

  4. 重启机器,再进行验证
    重启命令:reboot
    验证命令:ping 你的主机ip

  5. 修改机器名
    1)命令语句:vi /etc/sysconfig/network
      修改:HOMENAME=slave01 【slave01是你自己取的机器名名字】
    2)并在 /etc/hosts 中追加本机ip
    【因为我克隆出来了三台,所以追加了三台】

    192.168.253.10 master
    192.168.253.11 slave01
    192.168.253.12 slave02
    192.168.253.13 slave03

    3)方便起见,不用再其他虚拟机中重复修改,我们直接复制到其他机器上【跨机器远程拷贝命令scp

    基本语法:scp [-r] 文件/目录 用户名@机器名://路径 #如果拷贝为目录,则-r;
    命令语句:scp /etc/hosts root@master://etc/
         scp /etc/hosts root@slave02://etc/
         scp /etc/hosts root@slave03://etc/

九、 hadoop完全分布式文件配置
   所要修改的文件都在 hadoop安装目录/etc/hadoop/ 下

  1. 修改 core-site.xml 文件
    fs.defaultFS=hdfs://master:9000
    hadoop.tmp.dir=/home/hadoop/tmp
    在这里插入图片描述

  2. 修改 hdfs-site.xml 文件
    dfs.blocksize=128m
    dfs.replication=3
    dfs.namenode.name.dir=file://${hadoop.tmp.dir}/dfs/name
    dfs.datanode.data.dir=file://${hadoop.tmp.dir}/dfs/data

    <property>
    	<name>dfs.replication</name>
    	<value>3</value>
    </property>
    
    <property>
     	<name>dfs.blocksize</name>
      	<value>128m</value>
    </property>
    
    <property>
      	<name>dfs.namenode.name.dir</name>
    	<value>file://${hadoop.tmp.dir}/dfs/name,/home/dragon/tmp/hadoop/dfs/name</value>
    </property>
    
    <property>
      	<name>dfs.datanode.data.dir</name>
      	<value>file://${hadoop.tmp.dir}/dfs/data</value>
    </property>
    
  3. 修改 yarn-site.xml文件

    <property>
        <name>yarn.nodemanager.aux-services</name>	    	
        <value>mapreduce_shuffle</value>
    </property>
    
  4. 修改 mapreduce-site.xml 文件
    先复制一份mapred-site.xml.template文件,命名为mapred-site.xml,再进行修改
    mapreduce.framework.name=yarn

    <property>
      	<name>mapreduce.framework.name</name>
      	<value>yarn</value>
    </property>
    
  5. 修改 slaves 文件
    每行添加机器名,作为datanode节点开启的配置文件
    slave01
    slave02
    slave03

  6. 【注意】
    所有的配置文件修改完后,要远程拷贝要其他机器中
    自己也可以一台一台的进行配置,太过于麻烦
    第九步,我是在mster主机器上进行修改配置的,所以要远程拷贝到其他三台从节点上

    scp -r ~/soft/hadoop/etc/full_hadoop/ dragon@slave01:~/soft/hadoop/etc/
    scp -r ~/soft/hadoop/etc/full_hadoop/ dragon@slave02:~/soft/hadoop/etc/
    scp -r ~/soft/hadoop/etc/full_hadoop/ dragon@slave03:~/soft/hadoop/etc/

  7. 修改hadoop默认配置文件软链接,所有节点上操作以下指令

    cd $HADOOP_HOME/etc
    rm -r hadoop
    ln -s full_hadoop/ hadoop

注意一点
hadoop的默认配置路径【$HADOOP_HOME/etc/hadoop】
建议采用软连接的方式来配置hadoop的默认路径!!!
在这之前我将$HADOOP_HOME/etc/下的hadoop目录重命名为full_hadoop
所以在配置文件修改完毕后我远程拷贝的自建的full_hadoop目录,再创建的软连接

十、格式化
rm -r /home/dragon/tmp/hadoop-hadoop#dragon为用户名,在所有节点上执行
hdfs namenode -format #在master主节点上执行
十一、测试
start-dfs.sh #在master节点上执行
start-yarn.sh #在master节点上执行

查看各个节点的守护进程情况,例如:

  • master:jps
    4933 SecondaryNameNode
    5095 ResourceManager
    4700 NameNode
    5166 Jps
  • slave01:jps
    4021 DataNode
    4262 Jps
    4155 NodeManager
  • slave02:jps
    3752 DataNode
    3866 NodeManager
    3963 Jps
  • slave03:jps
    3748 DataNode
    3865 NodeManager
    3934 Jps
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值