zoukankan      html  css  js  c++  java
  • hadoop 3.x 单机集群配置/启动时的问题处理

    一.修改配置文件(hadoop目录/etc/hadoop/配置文件)

    1.修改hadoop-env.sh,指定JAVA_HOME

    修改完毕后

    2.修改core-site.xml

     1 <configuration>
     2 <!-- 指定hadoop运行时产生的临时文件存储目录 -->    
     3 <property>
     4   <name>hadoop.tmp.dir</name>
     5   <value>/opt/module/hadoop-3.1.1/data/tmp</value>
     6 </property>
     7 
     8 <!-- 指定hfds namenode的缺省路径,可以是主机/ip :端口 -->    
     9     <property>
    10     <name>fs.defaultFS</name>
    11     <value>hdfs://hadoop002:9000</value>
    12 </property>
    13 </configuration>

    3.修改hdfs-site.xml

     1 <configuration>
     2     <!-- 指定HDFS副本的数量 -->
     3     <property>
     4         <name>dfs.replication</name>
     5         <value>1</value>
     6     </property>
     7     <!--配置namenode的web界面-->
     8     <property>
     9         <name>dfs.namenode.http-address</name>
    10         <value>hadoop002:50070</value>
    11 </property>
    12 </configuration>

    到这启动hadoop的基本配置已经完成了(配置完这些已经可以启动hadoop了),下面配置yarn相关的文件

    4.修改mapred-site.xml(此配置文件中尽量不要使用中文注释,否则启动的时候会有一个java.lang.RuntimeException: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 start byte 0xb5 (at char #672, byte #20))

    1 <configuration>
    2 <!-- 使用yarn框架 -->
    3     <property>
    4         <name>mapreduce.framework.name</name>
    5         <value>yarn</value>
    6     </property>
    7 </configuration>

    5.修改yarn-site.xml(此配置文件中尽量不要使用中文注释,否则启动的时候会有一个java.lang.RuntimeException: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 start byte 0xb5 (at char #672, byte #20))

     1 <configuration>
     2 <!-- Site specific YARN configuration properties -->
     3     <!--resourcemanager address-->
     4 <property>
     5 <name>yarn.resourcemanager.hostname</name>
     6 <value>localhost</value>
     7 </property>
     8  
     9 <!--reduce-->
    10 <property>
    11 <name>yarn.nodemanager.aux-services</name>
    12 <value>mapreduce_shuffle</value>
    13 </property>
    14 </configuration>

    6.启动

    6.1按照官方文档,第一步先检查ssh能否免密登录如果不能免密登录需要执行以下命令

       ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
       cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
       chmod 0600 ~/.ssh/authorized_keys
    如果不能免密且没有执行这三个命令,那么启动时会有Permission Dennied
    如果出现
    ssh connect to host xxx port 22:Connection timed out,ifconfig查看自己的ip与 /etc/hosts下的映射中的ip是否一致
    
    

    6.2执行hdfs namenode -format格式化namenode,第一次启动时执行即可,今后不再需要

    6.3执行start-dfs.sh

    6.4执行start-yarn.sh

    或者直接执行stop-all.sh

    6.5jps查看进程


    可以在/tmp/下查看*.pid文件,其内容为上图的进程号

    6.6停止的话使用对应的stop-xxx.sh(或者stop-all.sh)即可

    到这hadoop已经成功启动了,官方文档:http://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-common/SingleCluster.html

    6.7无法停止hadoop

    此时虽然已经可以正常启动了,但为了维护方便建议修改pid的路径 ,因为默认把pid文件存储在/tmp/下,而linux会定期清理/tmp/路径一旦pid文件被清理到,此时想执行stop-all.sh后再次jps发现hadoop依然在运行,这个时候想关闭hadoop就只能手动的kill了因此要修改pid的存储路径,打开hadoop目录/etc/hadoop/hadoop-env.sh,找到HADOOP_PID_DIR,修改路径为你自定义的路径即可接下来通过实验证明以上结论

    先执行jps,证明此时hadoop并未启动,然后再启动hadoop

    成功启动后查看pid文件后然后删除

    执行stop-all.sh,发现hadoop依然在运行

    此时重新启动hadoop,发现进程号没有改变,虽然重新生成了pid

    到这说明,一旦hadoop的pid文件被删除想要停止hadoop就只能手动kill,而且如果hadoop没有停止掉,又重新启动了hadoop,此时虽然会生成新的pid,但从进程号上来看依旧是之前没有被停止掉的hadoop

    6.8初始化时出现Cannot remove/create xxxx

     打开你的core-site.xml,如果是在"/"下创建目录最好手动去创建 并且修改属主与组为你启动hadoop的用户

    sudo mkdir -p /hadoop/tmp 

    sudo chown -R tele:tele /hadoop/

    创建并且修改完成后重新初始化即可,如果不是在"/"直接创建文件夹,那么就可以交给hadoop自动创建属主为启动hadoop的用户的文件夹了初始化之后如果启动hadoop,发现没有datanode,在你指定的tmp路径/dfs/name目录下找到一个current/VERSION文件,记录clusterID并复制。然后dfs/data目录下找到一个current/VERSION文件,将其中clustreID的值替换成刚刚复制的clusterID的值后重新启动即可

     

  • 相关阅读:
    2019-2020-2 网络对抗技术 20175318 Exp0 kali Linux系统的安装(雾
    手动编译 TCP BBR v2 Alpha/Preview 内核
    Adobe Flash Player解除限制版
    ABBYY FineReader 15.0.18.1494 Corporate Multilingual破解
    易语言5.9精简学习增强版
    Debian9 快速开启 TCP BBR 实现高效单边加速
    ucosii-2(选做)
    Ubuntu 18.04/18.10快速开启Google BBR的方法
    基于 Nginx 的 v2+websocket+tls 域名伪装
    Google TCP升级版加速:BBR 2.0对比BBR Plus
  • 原文地址:https://www.cnblogs.com/tele-share/p/9495578.html
Copyright © 2011-2022 走看看