集群搭建(三)Hadoop搭建HDFS(完全分布式)

Hadoop集群搭建(完全分布式)

  1. 前期准备(4台linux服务器),具体搭建过程可以参考https://www.cnblogs.com/monco/p/9046614.html(克隆虚拟机比较方便)
  2. 新建hadoop用户(这一步可以在克隆机器之前就做好)
  3. 设置4台机器ssh免密登录https://blog.csdn.net/lz_1992/article/details/50523507(百度很多这种文章,很简单的)
  4. jdk安装部署,hadoop安装部署(不想说了,4台虚拟机都设置一样,可以在克隆机器之前做好,我的配置如下)
    HADOOP_HOME=/home/hadoop/apps/hadoop-2.6.4
    JAVA_HOME=/opt/software/java/jdk1.7.0_76
    JRE_HOME=/opt/software/java/jdk1.7.0_76/jre
    CLASS_PATH=.:${JAVA_HOME}/lib:${JAVA_HOME}/lib
    #PATH=${JAVA_HOME}/bin:$PATH
    PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    export HADOOP_HOME
    export JAVA_HOME
    export PATH
  5. hadoop集群需要理解NameNode,DataNode,SecondNameNode的关系,具体参考下篇博客
  6. 修改配置文件 hadoop-env.sh 用来设置java的环境变量 ,此文件在(/home/hadoop/apps/hadoop-2.6.4/etc/hadoop),hadoop安装目录下的etc下的hadoop文件夹中
    # The java implementation to use.
    export JAVA_HOME=/home/hadoop/apps/jdk1.7.0_51
  7. 修改配置文件(core-site.xml)设置NameNode属性(ruixuan.com 是我本机的主机名,可以在/etc/hosts里设置)
    <configuration>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://ruixuan.com:9000</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/HADOOP/apps/hadoop-2.6.1/tmp</value>
    </property>
    </configuration>

    这里设置了NameNode的地址,是在ruixuan.com这台主机上,设置hadoop的临时目录,自己指定。

  8. 修改配置文件(hdfs-site.xml)设置NameNode和DataNode的文件保存路径
    <configuration>
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/hadoop/data/name</value>
    </property>
    <property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/hadoop/data/data</value>
    </property>
    
    <property>
    <name>dfs.replication</name>
    <value>3</value>
    </property>
    
    </configuration>

    replication的是副本数,意思是一个文件需要在HDFS分布式文件系统中保存几分,建议 DataNode的数量应大于等于replication。

  9. 修改配置文件(mapred-site.xml)
    <configuration>
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value><!--默认为local -->
    </property>
    </configuration>
  10. 修改配置文件(yarn-site.xml)
    <configuration>
    <!-- Site specific YARN configuration properties -->
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>ruixuan.com</value>
    </property>
    
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
  11. 添加文件(salves),如果不添加或者不修改此文件,hadoop也可以正常启动,只是不可以使用hadoop的一键启动命令,但是可以一一启动,并不影响hadoop的实际操作
    mini01
    mini02
    mini03

    配置的是主机名

  12. 初始化hadoop路径(bin/hadoop  namenode  -format),在bin目录下执行format操作(关于这个操作,之后会详细讲解,很重要,对于数据恢复,误删等)
  13. 执行启动操作 sbin/start-dfs.sh 启动完成后 jps 会在4台机器上分别查到1个NameNode和3个DataNode,这样Hadoop的HDFS模块就配置完成了。
原文地址:https://www.cnblogs.com/monco/p/9202964.html