zoukankan      html  css  js  c++  java
  • hadoop 02一 hadoop配置

    hadoop配置

    一、首先写两个实用的小脚本

    1、执行命令 :xcall.sh  ls

    则可以在四台机器上循环执行命令 ls(首先需要支持ssh免密登陆)

    #!/bin/bash
    
    params=$@
    i=201
    for (( i=201 ; i <= 204 ; i = $i + 1 )) ; do
    echo ============= s$i $params =============
    ssh s$i "$params"
    done

    2、可以使用命令xscp.sh /soft/download/

    把download下的所有文件传到其他三台服务器对应目录下(首先需要支持ssh免密登陆)

    #!/bin/bash
    
    if [[ $# -lt 1 ]] ; then echo no params ; exit ; fi
    
    p=$1
    #echo p=$p
    dir=`dirname $p`
    #echo dir=$dir
    filename=`basename $p`
    #echo filename=$filename
    cd $dir
    fullpath=`pwd -P .`
    #echo fullpath=$fullpath
    
    user=`whoami`
    for (( i = 202 ; i <= 204 ; i = $i + 1 )) ; do
       echo ======= s$i =======
       rsync -lr $p ${user}@s$i:$fullpath
    done ;

    二、了解hadoop基本配置文件

    找到所有的配置文件
    ----------------------
    1.tar开hadoop-2.7.3.tar.gz
    hadoop-2.7.3sharehadoopcommonhadoop-common-2.7.3.jarcore-default.xml
    hadoop-2.7.3sharehadoophdfshadoop-hdfs-2.7.3.jarhdfs-default.xml
    hadoop-2.7.3sharehadoopmapreducehadoop-mapreduce-client-core-2.7.3.jarmapred-default.xml
    hadoop-2.7.3sharehadoopyarnhadoop-yarn-common-2.7.3.jaryarn-site.xml

    配置hadoop临时目录
    ---------------------
    1.配置[core-site.xml]文件

    <configuration>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://s201/</value>
    </property>
    <!--- 配置新的本地目录 -->
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/centos/hadoop</value>
    </property>
    </configuration>

    //以下属性均由hadoop.tmp.dir决定,在hdfs-site.xml文件中配置。

    dfs.namenode.name.dir=file://${hadoop.tmp.dir}/dfs/name
    dfs.datanode.data.dir=file://${hadoop.tmp.dir}/dfs/data
    dfs.datanode.data.dir=file://${hadoop.tmp.dir}/dfs/data
    
    dfs.namenode.checkpoint.dir=file://${hadoop.tmp.dir}/dfs/namesecondary

    2.分发core-site.xml文件

    $>xscp.sh core-site.xml


    3.格式化文件系统,只对namenode的本地目录进行初始化。
    $>hadoop namenode -format //hdfs namenode -format

    4.启动hadoop
    $>start-all.sh

    配置hadoop的最小blocksize,必须是512的倍数。
    -------------------------------------------
        [hdfs-site.xml]
        dfs.namenode.fs-limits.min-block-size=1024
        write,进行校验,512进行一次教研。
    
    
    单独配置辅助名称节点
    ---------------------
        [hdfs-site.xml]
        dfs.namenode.secondary.http-address=s206:50090
    
    使用oiv命令查询hadoop镜像文件
    ------------------------------
        hdfs oiv -i fsimage -o a.xml -p XML            //查看镜像文件。
    
    
    hdfs dfsadmin管理命令
    ----------------------
        $>hdfs dfsadmin                    //查看帮助
        $>hdfs dfsadmin    -help rollEdits    //查看指定命令的帮助
        $>hdfs dfsadmin -rollEdits        //滚动编辑日志
        
    
    启动hdfs时,镜像文件编辑日志进行融合,编辑日志滚动。
    
    查看hdfs是否在安全模式
    ------------------------
        $>hdfs dfsadmin -safemode  enter        //进入
        $>hdfs dfsadmin -safemode  get            //查看
        $>hdfs dfsadmin -safemode  leave        //退出
        $>hdfs dfsadmin -safemode  wait            //等待
    
    
    hadoop 
    --------------------
        $>hadoop fs                    //hdfs dfs
        $>hadoop checknative        //检查压缩库本地安装情况
        $>hadoop namenode -format    //格式化名称
    
    
    hdfs管理命令
    --------------------
        hdfs dfsadmin                //
    
    保存名字空间,需要进入安全模式
    --------------------------------
        $>hdfs dfsamdin -saveNamespace
    
    hadoop启动命令
    ------------------
        $>start-all.sh        //start-dfs.sh + start-yarn.sh
        $>start-dfs.sh        //hadoop-daemon.sh start namenode
                            //hadoop-daemons.sh start datanode
        $>start-yarn.sh        //yarn-daemon.sh start resourcemanager
                            //yarn-daemons.sh start nodemanager
    
    配额管理(quota)
    -------------------
        [目录配额]
        计算目录下的所有文件的总个数。如果1,表示空目录。
        $>hdfs dfsadmin -setQuota 1 dir1 dir2        //设置目录配额
        $>hdfs dfsadmin -clrQuota 1 dir1 dir2        //清除配额管理
    
        [空间配额]
        计算目录下的所有文件的总大小.包括副本数.
        空间配置至少消耗384M的空间大小(目录本身会占用384M的空间)。
        $>hdfs dfsadmin -setSpaceQuota 3 data
        $>echo -n a > k.txt
        $>hdfs dfs -put k.txt data2
        $>hdfs dfsadmin -clrSpaceQuota dir1            //清除配额管理
    
    
    快照管理
    --------------------
        1.描述
          迅速对文件(夹)进行备份。不产生新文件,使用差值存储。
          默认是禁用快照,先启用。
        2.命令
          $>hdfs dfsadmin -allowSnapShot dir1        //在dir1启用快照
          $>hdfs dfsadmin -disallowSnapShot dir1    //在dir1启用快照
          $>hdfs dfs -createSnapshot dir ss1        //创建快照
          $>hdfs dfs -renameSnapshot dir ss1 ss2    //重命名
          $>hdfs dfs -deleteSnapshot dir ss1        //删除快照

    在window上运行hadoop的mapReduce程序,如果报以下错误:

    java.io.IOException: (null) entry in command string: null chmod 0700 E:d...

    可以通过以下方法解决

    解决方法:
    
    1.下载hadoop.dll文件
    
    2.并拷贝到c:windowssystem32目录中
    
    3.重新运行代码程序即可
  • 相关阅读:
    java中的基本数据类型以及对应的包装类
    JQuery 基础
    题库一
    String、StringBuffer和StringBuilder的区别
    ideal控制台输出乱码
    python进阶
    python基础
    请求一个网页时,web服务做了什么?[以php为例]
    go defer看到你头晕的操作
    计算机基础-数据结构-栈
  • 原文地址:https://www.cnblogs.com/pinghengxing/p/12050402.html
Copyright © 2011-2022 走看看