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下修改。

hadoop fs 命令怎么解压 hadoop 解压缩命令_配置文件

在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:\Windows\System32\drivers\etc\hosts这个文件中添加:

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文件夹,重新格式化就能解决。