• Hadoop环境搭配


    前面是环境搭建,最后面是我在搭建过程遇到的问题!

     小弟不才,只能总结出这份资料。


    网络配置环境:/etc/sysconfig/network-scripts

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=6ebbf8d9-7be0-42fe-8818-47ccccf2bd4a
    DEVICE=ens33
    ONBOOT=yes

     

    IPADDR=192.168.201.123
    NETMASK=255.255.255.0
    GATEWAY=192.168.201.2

    DNS1=8.8.8.8
    DNS2=223.5.5.5

    重启网卡:service network restart


     搜索安装包:yum search 。。。。。

    安装:yum -y install 。。。。。


     配置Java需要配置到bin目录下

    Hadoop 需要配置到bin和sbin

    修改主机名路径:/etc/hosts(改完之后需要重启)

    环境配置:/etc/profile

    刷新环境变量:source /etc/profile


    hadoop配置: hadoop下的etc文件


    core-site.xml

    <property>

       <name>hadoop.tmp.dir</name>

       <value>file:/home/hadoop/hadoop/tmp</value>#路径

    </property>

    <property>

       <name>fs.defaultFS</name>

       <value>hdfs://IP地址或用户名:9000</value>

    </property>  


     

     hdfs-site.xml

    <property>

    <name>dfs.permissions.enabled</name>

    <value>false</value>

    </property>

    <property>

    <name>dfs.replication</name>

    <value>3</value>

    </property>

    <property>

    <name>dfs.name.dir</name>

    <value>/home/hadoop/hadoop/hdfs/name</value>#存放的路径,按需求改

    </property>

    <property>

    <name>dfs.data.dir</name>

    <value>/home/hadoop/hadoop/hdfs/data</value>#存放的路径按需求改

    </property>


    mapred-site.xml 

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

    <property>

        <name>mapred.job.tracker</name>

        <value>192.168.92.35:9001</value>#改ip

    </property>


      yarn-site.xml

    <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

    </property>

    <property>

    <name>yarn.resourcemanager.hostname</name>

    <value>0.0.0.0</value> 

    </property>


     slave:去掉主机名,加上子节点机名


    hadoop-env.sh中的环境变量  

    export JAVA_HOME=加上JAVA_HOME的路径


    免密操作:ssh-keygen -t rsa

    传密钥:sh-copy-id root@用户名(或IP地址)


     给其他主机传文件:

    scp 文件 root@目的机名:路径

    传目录: scp -r 目录 root@目的机:/路径


    防火墙(分布式需要全部关闭防火墙)

    启动: systemctl start firewalld

    关闭: systemctl stop firewalld


     格式化:hdfs namenode -format 


     服务:

    启动:start-all.sh

    关闭:stop-all.sh


    给Hadoop传文件:hdfs dfs -put a.txt /

    hdfs dfs -put 文件 Hadoop目标位置


    使用jar包命令:hadoop jar aa.jar wordcount /a.txt /out

    解释:hadoop jar jar包 类名(如果有包则要加 包名.  ) 输入文件 输出目的位置

    查看结果:hdfs dfs -cat /out/part-r-00000

    解释:hdfs dfs -cat 目录/part-r-00000


    在完全分布式中,wordcount任务可能会停在: INFO mapreduce.Job: Running job: job_1609081522418_0002

    可以尝试修改成以下配置:

    1、hadoop/etc/capacity-scheduler.xml       将0.1改成0.5

    <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
        <value>0.1</value>

    <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>

      <value>0.5</value>

    2、capacity-scheduler.xml中添加以下配置:

    <property>
    <name>yarn.resourcemanager.address</name>
    <value>master:8032</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>

    3、重启系统


    如果子节点上缺少datenode 可以尝试将/hadoop/hdfs删除


    如果自己导的wordcount包报代码错误,可以用官方的jar包使用(谨考试急用)

    位置:/user/hadoop-2.7.7/share/hadoop/mapreduce 的 hadoop-mapreduce-examples-2.7.7.jar


    报错:

    WARNING: An illegal reflective access operation has occurred
    WARNING: Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil (file:/user/hadoop-2.7.7/share/hadoop/common/lib/hadoop-auth-2.7.7.jar) to method sun.security.krb5.Config.getInstance()
    WARNING: Please consider reporting this to the maintainers of org.apache.hadoop.security.authentication.util.KerberosUtil
    WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
    WARNING: All illegal access operations will be denied in a future release

    可能是因为我jdk版本太高导致的问题,暂时不影响使用。(如果有如果的大神知道的话,希望可以告诉我怎么回事,谢谢!!)

  • 相关阅读:
    [LeetCode] 21. 合并两个有序链表
    [LeetCode] 5081. 步进数
    [LeetCode] 104. 二叉树的最大深度
    [LeetCode] 70. 爬楼梯
    Java开发手册1.5读书笔记
    [LeetCode] 509. 斐波那契数
    设计模式之UML类图以及类间关系
    [LeetCode] 50. Pow(x, n)
    [LeetCode] 206. 反转链表
    [LeetCode] 119. 杨辉三角 II
  • 原文地址:https://www.cnblogs.com/mi-9/p/14188192.html
Copyright © 2020-2023  润新知