日期:2014-05-16  浏览次数:20567 次

hadoop linux redhat enterprise 5 实现
步骤一:安装java,1.6版本的jdk,否则会导致hadoop无法运行。

步骤二:多机集群ssh配置(实现一台机器可以向其他所有机器ssh无密码登录)

步骤三:安装hadoop
将hadoop-0.21.0.tar.gz解压到andychen用户目录下, 修改其中的conf/hadoop-env.sh文件, 这里主要配置JAVA_HOME环境变量。
在其中设置 JAVA_HOME 环境变量:export JAVA_HOME=”/usr/java/jdk1.6.0_26”
配置hadoop:
1、core-site.xml文件配置如下:
         <property>
                <name>fs.default.name</name>
                <value>hdfs://node1:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/tmp/hadoop/hadoop-${user.name}</value>
        </property>
2、hdfs-site.xml文件配置如下:
        <property>
                <name>dfs.name.dir</name>
                <value>/home/andychen/name</value>
        </property>
        <property>
                <name>dfs.data.dir</name>
                <value>/home/andychen/data</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
其中dfs.name.dir配置namenode节点的目录,dfs.data.dir配置datanode节点的目录。
3、mapred-site.xml文件配置如下:
        <property>
                <name>mapred.job.tracker</name>
                <value>node1:9001</value>
        </property>
配置jobtracker
4、masters文件配置如下:
node1
5、slaves文件配置如下:
node2
node3

完成hadoop的配置之后,将其拷贝到node2和node3的andychen目录中。通过scp命令拷贝。

步骤四:使用hadoop
1、格式化一个分布式文件系统。
在node1节点,进入hadoop根目录,执行如下命令:
bin/hadoop namenode -format
2、启动hadoop。
执行如下命令:
bin/start-all.sh
这样在node1节点用 jps命令可以看到如下三个进程:
namenode、secondary namenode、jobtracker
在node2和node3用 jps命令看到如下两个进程:
datanode和tasktracker
3、拷贝测试数据到hdfs中
首先建立一个test-in目录,将英文文本文件存入其中,可以是多个文本文件。
然后执行如下命令:
bin/hadoop fs -put test-in input
将test-in目录中的文件put到hdfs中的input目录中。
4、执行wordcount例子程序
bin/hadoop jar hadoop-mapred-examples-0.21.0.jar input output
其中hdfs中的input目录中的文件作为程序的输入,计算结果存入在output目录中。
5、查看执行结果
bin/hadoop fs -get output test-out
将hdfs中的output目录拷贝到本地文件系统的test-out目录中。
进入test-out目录,查看part-r-00000 文件即可。

5、补充:hdfs文件系统操作的有用命令:
bin/hadoop fs -ls /
查看hdfs的跟目录
bin/hadoop fs -cat /user/andychen/output/part-r-00000
查看执行结果
bin/hadoop fs -rm /user/