• 我用过的linux命令--安装Hadoop



    1. hadoop软件传送给虚拟机

    还是利用WinSCP把hadoop软件安装包,放到linux的Downloads文件夹中。

    2. 选择安装目录

    把hadoop安装包copy到这个安装目录中,这里我们选择CentOS中的/usr/local目录中。

    3. 解压缩安装包

    看到hadoop安装包的后缀是.tar.gz。所以直接用tar命令解压缩

    #tar -zxvf xxx    //解压.tar.gz的文件

    解压完之后会产生一个文件夹,名字为hadoop-1.1.2,这个名字太长了,不好用,重命名一下

    #mv hadoop-1.1.2 hadoop

    4. hadoop设置环境变量

    解压完了之后,hadoop这个目录中肯定有一个目录结构,先不管是什么,肯定有一个bin目录,里面放置了各种的可以执行的命令。所以要把这个bin目录添加到环境变量中去。

    #vi /etc/profile

    在配置文件中加入:

    export HADOOP_HOME=/usr/local/hadoop
    export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH

    使配置文件生效:

    #source /etc/profile

    5. 修改配置文件

    为了适合hadoop的伪分布的安装,这里要修改一些配置文件。hadoop的配置文件的目录是$HADOOP_HOME/conf目录下。要修改的文件是:

    hadoop-enc.sh、core-site.xml、hdfs-site.xml、mapred-site.xml

    为了方便修改,这里我们不用vi修改文件,而是利用WinSCP直接在Windows下修改。

    image

    在WinSCP中找到这个文件,然后编辑这个文件就好了。

    (1)hadoop-env.sh文件修改内容:

    export JAVA_HOME=/usr/local/jdk

    (2)core-site.xml文件修改内容:

    <configuration>
    
        <property>
    
        <name>fs.default.name</name>
    
        <value>hdfs://hadoop:9000</value>
    
        <description>change your own hostname</description>
    
        </property>
    
        <property>
    
        <name>hadoop.tmp.dir</name>
    
        <value>/usr/local/hadoop/tmp</value>
    
        </property>
    
    </configuration>

    注意:这里的fs.default.name的值说明了NameNode的所在主机的IP地址和NameNode使用的端口号码,一般都是选用9000。

    hadoop.tmp.dir说明了Namenode存放临时fsimage和edits的文件路径。

    (3)hdfs-site.xml文件修改内容:

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.data.dir</name>
            <value>/usr/local/hadoop/data</value>
        </property>
        <property>
            <name>dfs.permissions</name>
            <value>false</value>
        </property>
    </configuration>

    注意:dfs.replication的值说明了数据的备份数目,这个备份数目跟dataNode的数目相同。

    dfs.data.dir的值说明了dataNode存储数据的目录。

    (4)mapred-site.xml文件修改内容:

    <configuration>
        <property>
            <name>mapred.job.tracker</name>
            <value>hdfs://hadoop:9001</value>
            <description>change your own hostname</description>
        </property>
    </configuration>

    注意:这里的mapred.job.tracker的值说明了JobTracker的所在主机的IP地址和JobTracker使用的端口号码,一般都是选用9001。

    6. 对Hadoop进行格式化

    对HDFS文件系统重新整理

    #hadoop namenode -format    //格式化hadoop的HDFS文件系统

    7. 启动Hadoop

    启动命令脚本在$HADOOP_HOME/bin目录中,所以可以直接运行

    #start-all.sh

    前面说过hadoop运行的都是一些java的进程,所以启动完hadoop能看到相应的java进程,查看方式:

    #jps    //查看当前运行的java进程

    这个命令不是操作系统的,是位于jdk中的,专门用来查看java进程的

    8. 通过浏览器查看hadoop

    在Linux的浏览器中输入hadoop:50070可以看到namenode,说明NameNode进程是活着的,同时还说明NameNode本身是一个web server。

    在Linux的浏览器中输入hadoop:50030可以看到JobTracker,说明JobTracker进程是活着的,同时还说明JobTracker本身是一个web server。

    同样在Windows宿主机器中通过ip地址:50070、ip地址:50030也能看到相同的内容。如果想通过主机名hadoop访问,要把IP地址和hadoop的主机名绑定:

    在Windows的C:WindowsSystem32driversetchosts这个文件中添加:

    192.168.80.100 hadoop

    然后就能在Windows下通过主机名:端口号的方式访问hadoop了。

    注意:这个能访问,首先要能互相ping通。

    9. 问题纠错

    <1>NameNode进程没有启动成功?

    (1)没有格式化

    (2)配置文件只copy,没有修改主机名

    (3)hostname与ip地址没有绑定

    (4)ssh免密码登陆没有配置成功

    <2>多次格式化hadoop也是错误的?

    解决方法:删除/usr/local/hadoop/tmp文件夹,重新格式化就能解决。

  • 相关阅读:
    [BNUOJ] ACM Battle(贪心)
    [BNUOJ]Training Plan(贪心,dp)
    [BNUOJ]Squared Permutation(线段树,单点更新)
    可以处理重边的求割点(边)模板
    [Python] Spark平台下实现分布式AC自动机(一)
    [HDOJ2222]Keywords Search(AC自动机)
    [GCJ] Qualification Round 2017
    HDU 6298.Maximum Multiple-数学思维题(脑子是个好东西,可惜我没有) (2018 Multi-University Training Contest 1 1001)
    牛客网 牛客小白月赛5 I.区间 (interval)-线段树 or 差分数组?
    牛客网 暑期ACM多校训练营(第二场)J.farm-STL(vector)+二维树状数组区间更新、单点查询 or 大暴力?
  • 原文地址:https://www.cnblogs.com/stemon/p/4315923.html
Copyright © 2020-2023  润新知