• 大数据之路- Hadoop环境搭建(Linux)


    前期部署

    1.JDK

    2.上传HADOOP安装包

    2.1官网:http://hadoop.apache.org/

    2.2下载hadoop-2.6.1的这个tar.gz文件,官网:

    https://archive.apache.org/dist/hadoop/common/hadoop-2.6.1/

    下载成功后,把这个tar.gz包上传到服务器上,命令:

    通过SecureCRT软件alt+p打开SFTP,然后把这个文件上传

    上传成后,解压

    tar -xvzf hadoop-2.6.1.tar.gz

    然后把解压后的文件移动到/usr下,改名为hadoop

    命令: 

    mv hadoop-2.6.1 /usr/hadoop

    然后开始把hadoop的命令加到环境变量里面去

     

    然后记得source一下

    然后再修改配置文件,配置文件查看查看官网:

    http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/SingleCluster.html

     最简化配置如下:(在/usr/hadoop/etc/hadoop)

    主要配置文件
    /usr/hadoop/etc/hadoop/
     
    hadoop-env.sh 环境变量
    运行时配置
    core-site.xml 核心公共配置
    hdfs-site.xml
    mapred-site.xml
    yarn-site.xml
     
    slaves
     
    vim core-site.xml
    <configuration>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hdp-node-01:9000</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>                      //指定进程工作目录,数据存放目录
    <value>/home/HADOOP/apps/hadoop-2.6.1/tmp</value>
    </property>
    core-site.xml里面可以设置垃圾回收属性 fs.trash,interval ,默认在core-default问件里,默认7天
     
    vim hdfs-site.xml
    //设置保留副本的数量,即备份的数量,默认是3。客户端把文件交给fds之后,fds保留的副本数量
    <property>
    <name>dfs.replication</name>
    <value>2</value>
    </property>
    vim  mapre-site.xml
    mapreduce要放在一个资源调度平台上面跑,所以需要指定资源调度平台yarn,默认是local,不是在集群上运行
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    vim yarn-site.xml
    //指定集群节点老大,不然提交程序运行时不知道找谁
    <configuration>
     
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>svr01</value> //主机名
    </property>
     
     
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
     
    </configuration>
     
    vim slaves  //记录本集群的datenode,用来自动化统一管理datenode
     
    192.168.1.88     srv01
    192.168.1.89     srv02
    192.168.1.90     srv03
    配置ssh。(前提先配置好/etc/hosts文件)
    ssh-keygen -t rsa 四个回车
    ssh-copy-id srv01 //首先是自己
    ssh-copy-id srv02
    ssh-copy-id srv03
     
    格式化后分发hadoop文件 /usr/hadoop 和环境变量文件 /etc/profile 到所有的集群服务器。
    scp  /etc/profile srv02:/etc/          //记得到srv02去source它的profile文件
    scp  /etc/profile srv03:/etc/          //记得到srv02去source它的profile文件
    scp -R /usr/hadoop srv02:/usr/hadoop
    scp -R /usr/hadoop  srv03:/usr/hadoop

     hadoop格式化是为了生成fsimage文件。

    hdfs namenode -format

    hadoop要先格式化才能开启。他是一个架设在linux上的文件系统,并不是格式化linux的文件系统。
    hadoop启动命令/sbin/start-dfs.sh
    yarn启动命令/sbin/start-yarn.sh
    或者:直接启动hdfs+yarn服务:sbin/start-all.sh
     
    检查dfs的进程,jps,下图代表hdfs正常启动

    可以在浏览器上看到hadoop集群状态

    namenode的ip加上50070端口

    http://192.168.1.88:50070/

    配置HDFS垃圾回收

    fs.trash.interval

    描述:检查点被删除的分钟数。如果为零,垃圾功能将被禁用。可以在服务器和客户端上配置此选项。如果垃圾桶被禁用服务器端,则客户端配置被检查。如果在服务器端启用垃圾箱,则使用服务器上配置的值,并忽略客户端配置值。

    例子:7天后自动清理

    <property>
        <name>fs.trash.interval</name>
        <value>7 * 24 * 60</value>
    </property>
    

     NameNode启动过程详解

    namenode的数据存放在两个地方,一个是内存,一个是磁盘(edits,fsimage)

    第一次启动HDFS

    1.format : 格式化hdfs

    2.make image : 生成image文件

    3.start NameNode:read fsimage

    4.start Datenode : datanode 向 NameNdoe 注册,汇报 block report ,

    5.create dir /user/xxx/temp  :写入edits文件

    6.put files /user/xxx/tmp(*=site,xml) :写入edites文件

    7.delete file /user/xxx/tmp/(core-site.xml):写入edits文件

    对dfs的操作都会记录到edits里面

     第二次启动hdfs:


    1.启动NameNode,读取fsimage里面的镜像文件,读取edits文件,因为edits记录着上一次hdfs的操作,写入一个新的fsimage,创建一个新的edits记录操作

    2.start Datenode : datanode 向 NameNdoe 注册,汇报 block report ,

    3.create dir /user/xxx/temp  :写入edits文件

    4.put files /user/xxx/tmp(*=site,xml) :写入edites文件

    5.delete file /user/xxx/tmp/(core-site.xml):写入edits文件

    6.Secondly NameNode定期将edits文件和fsimage文件合并成一个新的fsimage文件替换掉NameNode上面的fsimage

    另:手动编译hadoop记得要联网,因为它是用maven管理的,很多依赖需要下载

  • 相关阅读:
    vue2.0装jquery
    js new运算符
    Ajax请求Spring Mvc 时总是返回 302 Moved Temporarily
    工作笔记 --->新疆统计分析添加市场管理员相关功能笔记
    第十章:避免活跃性危险——Java并发编程实战
    第八章:线程池的使用——Java并发编程实战
    中介者模式——HeadFirst设计模式学习笔记
    解释器模式——HeadFirst设计模式学习笔记
    第七章:取消与关闭——Java并发编程实战
    蝇量模式——HeadFirst设计模式学习笔记
  • 原文地址:https://www.cnblogs.com/RzCong/p/7323864.html
Copyright © 2020-2023  润新知