• ubuntu 18.04.1安装hadoop3.1.2


    前提,虚拟机安装 见https://www.cnblogs.com/cxl-blog/p/11363183.html

    一.按照https://blog.csdn.net/MastetHuang/article/details/51867115该步骤进行

    其中有以下几个小问题

    1.注意上述链接中的hadoop-2.6.4需要修改为自己的hadoop版本,同时,hdfs-site.xml和core-site.xml等配置文件的修改中的hadoop-2.6.4也应一并修改

    2.配置文件还需作如下修改

    vim /hadoop-3.1.2/etc/hadoop/core-site.xml
    添加如下:
    <configuration>
        <property> 
            <name>fs.defaultFS</name>
         <value>hdfs://localhost:9000 </value>
      </property>
      <property>   
        <name>hadoop.tmp.dir</name>
         <value>/data/hadoop/tmp </value>
      </property>
      <property> 
    <name>hadoop.native.lib</name>
         <value>true</value>  
      </property>
    <configuration>
    vim /data/hadoop/etc/hadoop/hdfs-site.xml 
    添加如下:
    <configuration>
        <property> 
            <name>dfs.replication</name> 
            <value>1</value> 
        </property> 
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>/data/hadoop/hdfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>/data/hadoop/hdfs/data</value>
        </property>
        <property>
            <name>dfs.permissions</name>
            <value>false</value>
        </property>
    </configuration>
    vim /data/hadoop/etc/hadoop/mapred-site.xml 
    添加如下:
    <configuration>
        <property>
        <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    vim /data/hadoop/etc/hadoop/yarn-site.xml 
    添加如下:
    <configuration>
    <property> 
        <name>yarn.nodemanager.aux-services</name> 
            <value>mapreduce_shuffle</value>  ##注意这里有坑  mapreduce.shuffle 链接符为.的时候有问题
        </property>
    </configuration>
    3.修改JAVA_HOME 时记得把#去掉
    export JAVA_HOME=/usr/local/jdk1.7.0_79

    4.拷贝主机文件(hadoop)到虚拟机  在虚拟机中执行

    scp 192.168.0.119:/home/cxl/Downloads/hadoop-3.1.2.tar.gz /home/cxl/ hadoop-3.1.2

    其中 192.168.0.119为本机IP ,/home/hostname/为自己的路径

    5.编辑profile文件一旦没有写正确,导致在命令行下 ls等命令不能够识别

    在命令行下打入下面这段

    export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

    6.主机无法ssh连接虚拟机,也ping不通

    https://blog.csdn.net/chengqiuming/article/details/83239413 设置好后在主机中执行

    ssh 127.0.0.1 -p 2022

    设置端口转发后主机监听本地2022端口,如果ssh -p 2022,就将ssh到虚拟机,所以是ssh 127.0.0.1

    二.安装完后

    1.创建文件夹(配置文件core-site.xml中hadoop.tmp.dir 设置的就是tmp

    cd /data/hadoop
    mkdir tmp
    cd tmp
    mkdir name data
    chmod -R 777 tmp

    2.格式化

    cd /hadoop-3.1.2/bin
    hdfs namenode -format

    3.启动hadoop

    cd hadoop-3.1.2/sbin/
    ./start-all.sh

     4.操作hdfs

    确保在hadoop的bin目录下

    cd /hadoop3.1.2/bin
    hdfs dfs -mkdir /test

    hadoop fs -mkdir /test

    其他简单操作见https://blog.csdn.net/MESSI_JAMES/article/details/81174908

    详情见官方文档http://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html

    后续:

     1.datanode启动后自动关闭

    解决方法:https://blog.csdn.net/a469142780/article/details/71312143

    问题:Namenode上namespaceID与datanode上namespaceID不一致。
      问题产生原因:每次namenode format会重新创建一个namenodeId,而tmp/dfs/data下包含了上次format下的id,namenode format清空了namenode下的数据,但是没有清空datanode下的数据,所以造成namenode节点上的namespaceID与datanode节点上的namespaceID不一致。启动失败。
    解决方法:
      (1)停掉集群服务
      (2)在出问题的datanode节点上删除data目录,data目录即是在hdfs-site.xml文件中配置的dfs.data.dir目录,本机器上那个是/hadoop/hadoop-2.7.1/hdfs/dfs/data/ (注:在所有的datanode和namenode节点上均执行了该步骤。以防删掉后不成功,可以先把data目录复制一份)。
      (3)格式化namenode.
      (4)重新启动集群。
      问题解决。
    谨记:这种方法带来的一个副作用就是会造成hdfs上的所有数据丢失。

  • 相关阅读:
    python之ConfigParser模块
    python之os模块
    python之cx_oracle模块
    python之zipfile模块
    python之sys模块
    python相关模块链接
    Server.UrlPathEncode和Server.UrlEncode的区别
    设置或者得到CheckBoxList选中了的值
    一些数据格式化-Eval( " ")和DataBinder.Eval(Container.DataItem, " ")的区别及用法
    ADO中数据库连接字符串的几种写法
  • 原文地址:https://www.cnblogs.com/cxl-blog/p/11374163.html
Copyright © 2020-2023  润新知