zoukankan      html  css  js  c++  java
  • Hadoop的配置文件设置(非HDFS HA)

    Hadoop 2.7.4 + HBase 1.2.6 + ZooKeeper 3.4.10 配置

    本文为上述配置的一部分,为方便阅读,故设为独立页面

    在linux中,通过下面命令hadoop

    curl -O https://archive.apache.org/dist/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz

    先将hadoop包解压到目录 : /home/mytestzk/hadoop-2.7.4

    在hadoop目录下创建以下子目录:

      mkdir tmp
      mkdir hdfs
      mkdir hdfs/name
      mkdir hdfs/data

    1:配置

    hadoop 2.x的最大进步在于,引入了yarn,在这个系统中,mapreduce成为了它的一个组件,并且是可替换的组件,比如可以使用spark,所以配置的过程中,需要注意yarn的相关配置文件的使用,具体共有7配置文件:

    • hadoop-env.sh

    该文件是hadoop运行基本环境的配置,需要修改的为java虚拟机的位置。

    故在该文件中修改JAVA_HOME值为本机JDK安装位置,在hadoop2.7.4 中,改为 export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_151

    • yarn-env.sh

    该文件是yarn框架运行环境的配置,同样需要修改java虚拟机的位置。

    在该文件中修改JAVA_HOME值为本机安装位置,在hadoop2.7.4 中,可以看到已经有如下配置:

    • slaves

    该文件里面保存所有slave节点的信息,我这里写的是ip (说明:slaves文件中可以写ip地址,也可以写成/etc/hosts里从机的主机名,任选一种即可)

    slave1
    slave2
    • core-site.xml

    可参见帮助:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml

    这个是hadoop的核心配置文件,这里需要配置的主要两个属性,

    fs.defaultFS配置了hadoop的HDFS系统的命名,位置为主机namenode的9000端口;

    hadoop.tmp.dir配置了hadoop的tmp目录的根位置。需要新建一个tmp目录

    <configuration>
       <property>
          <name>fs.defaultFS</name>
          <value>hdfs://master:9000</value>
       </property>
       <property>
          <name>hadoop.tmp.dir</name>
          <value>/home/mytestzk/hadoop-2.7.4/tmp</value>
       </property>
    </configuration>
    • hdfs-site.xml

    可参见帮助:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

    这个是hdfs的配置文件,dfs.namenode.name.dir配置namenode数据存放位置,dfs.datanode.data.dir配置datanode数据存放位置,

    dfs.replication配置了文件块的副本数,一般不大于从机的个数。

    <configuration>
        <property>
         <name>dfs.namenode.name.dir</name>
            <value>file:/home/mytestzk/hadoop-2.7.4/hdfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/home/mytestzk/hadoop-2.7.4/hdfs/data</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>3</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>master:9001</value>
        </property>
    </configuration>
    • mapred-site.xml

    可参见帮助:http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

    这个是mapreduce任务的配置,由于hadoop2.x使用了yarn框架,所以要实现分布式部署,必须在mapreduce.framework.name属性下配置为yarn。mapred.map.tasks和mapred.reduce.tasks分别为map和reduce的任务数,至于什么是map和reduce,可参考其它资料进行了解。

    其它属性为一些进程的端口配置,均配在主机下。

    <configuration>
       <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
       </property>
    </configuration>

     

    • yarn-site.xml

    可参见帮助:http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

    该文件为yarn框架的配置,主要是一些任务的启动位置

    <configuration>
    <!-- Site specific YARN configuration properties -->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
            <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
            <name>yarn.resourcemanager.scheduler.address</name>
            <value>master:8030</value>
        </property>
        <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
            <value>master:8031</value>
        </property>
        <property>
            <name>yarn.resourcemanager.address</name>
            <value>master:8032</value>
        </property>
        <property>
            <name>yarn.resourcemanager.admin.address</name>
            <value>master:8033</value>
        </property>
        <property>
            <name>yarn.resourcemanager.webapp.address</name>
            <value>master:8088</value>
        </property>
    </configuration>

     

    2:启动:

    格式化(在master上执行):bin/hdfs namenode -format

    启动HDFS(在master上执行):sbin/start-dfs.sh

    3:检查启动结果:

    查看集群状态:hdfs dfsadmin –report

    查看文件块:hdfsfsck / -files -blocks

    查看hdfs:http://master:50070(主机IP)

    查看MapReduce:http://master:8088(主机IP)

    运行jps查看进程:

    HDFS

    NameNode

    DataNode

     

    SecondaryNameNode

     

    YARN

    ResourceManager

    NodeManager

     

    4:测试:

    创建linux 文件目录:                     mkdir ~/hadoopinputfile

    创建hadoop hdfs input目录:     

    bin/hadoop fs -mkdir /input

    查看hdfs :

    bin/hadoop fs -ls /
    bin/hadoop fs -ls /input

    上传文件到hdfs input目录:

    bin/hadoop fs -put ~/hadoopinputfile/* /input

    查看hdfs输出文件内容

    bin/hadoop fs -cat /output/part-r-00000        

    运行hadoop自带的wordcount:   

    bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-example-2.7.4.jar wordcount /input /output

    常用hdfs命令:

    查看当前目录信息 hdfs dfs -ls /input

    上传文件 hdfs dfs -put /本地路径 /hdfs路径

    下载文件到本地 hdfs dfs -get /hdfs路径 /本地路径

    创建文件夹 hdfs dfs -mkdir /input

    创建多级文件夹 hdfs dfs -mkdir -p /input/temp

    移动hdfs文件 hdfs dfs -mv /hdfs路径 /hdfs路径

    复制hdfs文件 hdfs dfs -cp /hdfs路径 /hdfs路径

    删除hdfs文件 hdfs dfs -rm /test.txt

    删除hdfs文件夹 hdfs dfs -rm -r /input

    查看hdfs中的文件

    hdfs dfs -cat /文件

    hdfs dfs -tail -f /文件

    查看文件夹中有多少个文件 hdfs dfs -count /文件夹

    查看hdfs的总空间 hdfs dfs -df / 

    修改副本数 hdfs dfs -setrep 1 /temp.txt

    如果在上传文件到hdfs时遇到权限问题,很有可能与hdfs文件夹的用户组有关系,可以用下面命令来修改hdfs 文件夹的权限和owner

    
    修改hdfs的权限
    sudo hdfs dfs -chmod -R 755 /input
    
    修改hdfs文件的所有者
    sudo hdfs dfs -chown -R {user} /input
    修改文件所属组 hadoop fs -chgrp [-R] {group} /input
  • 相关阅读:
    如何在仪表板中播放视频
    根据条件显示表格背景色
    如何个性化设置柱形图(条形图)柱子粗细、圆角和颜色?
    如何设置报表参数的日期区间?
    妙用这3个函数,实现各种你意想不到的条件格式化
    利用组合图对数据按百分比区间进行对比展示的实例
    报表传参跳转到仪表板的实现过程
    Wyn仪表板中的图表,如何针对每个字段设置自定义颜色
    Wyn仪表板中设置完整数据格式的方法
    Wyn门户及仪表板颜色设置方式汇总
  • 原文地址:https://www.cnblogs.com/benfly/p/8118168.html
Copyright © 2011-2022 走看看