zoukankan      html  css  js  c++  java
  • CentOS安装配置Hadoop 1.2.1(伪分布模式)

    CentOS安装配置Hadoop1.2.1

    1.下载安装文件

    下载2个安装文件

    JAVA环境:jdk-6u21-linux-i586.bin

    Hadoop环境:hadoop-1.2.1.tar.gz

    这里是把jdk安装在/root下,hadoop安装在/etc下面

    2.安装jdk

    这里jdk-6u21-linux-i586.bin放在/root

    添加执行权限,并解包。

    [root@master ~]# cd /root

    [root@master  root]# chmod 777 jdk-6u21-linux-i586.bin

    [root@master  root]# ./ jdk-6u21-linux-i586.bin

    接着

    2)添加环境变量配置(这里连带hadoop的环境变量一起先设好)

    [root@master~]# vi /etc/profile          命令行方式较麻烦

    /etc/profile文件最后加入以下代码,可以直接用文本编辑器打开profile

    请注意自己实际的安装路径和名称

    exportJAVA_HOME=/root/jdk1.6.0_21

    export JRE_HOME=/root/jdk1.6.0_21/jre

    export HADOOP_HOME=/etc/hadoop-1.2.1

    exportHADOOP_HOME_WARN_SUPPRESS=1

    exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$HADOOP_HOME/lib:$CLASSPATH

    exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH

     

    让配置生效:[root@master ~]# source/etc/profile

    可以输入下面命令测试下Java环境是否成功

    [root@master ~]#java –version

    2.1 设置/etc/hosts文件以及/etc/sysconfig/network

     

    进入终端

    [root@master ~]# hostname

    查看hostname是否为network中的值,如果不是

    修改hostname的值

    [root@master ~]# hostname master

     

    3 VM虚拟机建立SSH无密码登录

    使用ssh服务,首先得确保机器已经完整安装,否则可能出现port 22 refused

    之类的情况,当然出现这种情况也可能是防火墙的原因

    搜索并安装(一般是装好的,可以不用)

    [root@master ~]#yum search openssh*

    [root@master ~]#yum install openssh*

     

    生成签名文件

    [root@master~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

    [root@master~]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    [root@master~]# service iptables stop

    测试本地SSH无密码登录

     

    [root@centos1~]# ssh master

    4Hadoop安装

    文件包hadoop-1.2.1.tar.gz放在etc下面

    [root@master ~]# cd /etc

    解包并安装

    [root@master  etc]# tar -zvxf hadoop-1.2.1.tar.gz

    4.1 Hadoop测试

    hadoopbin下的hadoop拷贝到根目录/bin下,根目录下可测试hadoop

    [root@master ~]#hadoopversion

    可以看到hadoop版本信息,若有错误,说明安装过程出现了问题

     

    5Hadoop配置

    配置hadoop安装路径在/conf/core-site.xmlhdfs-site.xmlmapred-site.xml三个文件。

    [root@master conf]# vicore-site.xml

        <property>
            <name>fs.default.name</name>
            <value>hdfs://master:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/usr/local/hadoop/hadooptmp</value>
        </property>

    [root@master conf]# vihdfs-site.xml

        <property>

           <name>fs.default.name</name>

           <value>hdfs://master:9000</value>

        </property>

        <property>

           <name>hadoop.tmp.dir</name>

           <value>/usr/local/hadoop/hadooptmp</value>

        </property>

     [root@master conf]# vi mapred-site.xml

    <property>
    <name>mapred.job.tracker</name>  
    <value>master:9001</value>  
    </property>
      <property>  
         <name>mapred.local.dir</name>  
         <value>/usr/local/hadoop/mapred/local</value>  
      </property>  
      <property>  
         <name>mapred.system.dir</name>  
         <value>/tmp/hadoop/mapred/system</value>  
      </property> 

    继续修改一些配置文件

    [root@master ~]# vi ~/.bashrc

    输入i进入insert模式,移动光标到最后一行,粘贴以下代码(得根据具体的文件名和路径进行修改

    export JAVA_HOME=/root/jdk1.6.0_21

    export JRE_HOME=/root/jdk1.6.0_21/jre

    export HADOOP_HOME=/etc/hadoop-1.2.1

     

    export HADOOP_DEV_HOME=/etc/hadoop-1.2.1

    export HADOOP_COMMON_HOME=/etc/hadoop-1.2.1

    export HADOOP_HDFS_HOME=/etc/hadoop-1.2.1

    export HADOOP_CONF_DIR=/etc/hadoop-1.2.1/conf

     

    按下esc并输入:wq

     [root@centos1 conf]# vi hadoop-env.sh

    打开hadoopconf文件直接文本编辑加入以下代码更快

    export JAVA_HOME=/root/jdk1.6.0_21

    export HADOOP_HOME_WARN_SUPPRESS=1

    export HADOOP_CLASSPATH=/etc/hadoop-1.2.1:/etc/hadoop-1.2.1/lib

     

     

    6、配置节点

    可以直接用文本编辑器打开那个文件,以下可以直接加入以下代码,

     

     [root@master conf]# vi masters(命令行方式)

    127.0.0.1

     

    [root@master conf]# vi slaves  (命令行方式)

    127.0.0.1

     

    7SSH登录测试

    [root@master ~]# ping master

    Ctrl+shift+c终止

    [root@master ~]# ssh master

     

    *注意:service iptables stop 每次启动要执行。

    每台机器都要能通。

     

    8、运行Hadoop

    8、首先执行格式化

    先关闭防火墙

    [root@masterhadoop-1.2.1]# service iptables stop

    再格式化

     [root@master hadoop-1.2.1]# hadoop namenode–format

    每次修改xml配置文件都要格式化。格式化过程仔细查看日志

     

    这里注意查看格式化的时候当中一行的信息是否是host=master/127.0.0.1

    如果不是那可能将造成:运行wordcount示例时候:

    卡在  map 100% reduce 0%  那里不动。

    出现这个问题主要是hostname不一致的原因

     

    9、启动hadoop

    [root@centos1 hadoop-1.1.1]# start-all.sh

    如果出现以下错误

    则分别尝试在bin下和hadoop根目录下运行

    并尝试service iptables stop后再次开启

     

    10、查看进程

    使用jps指令,主机进程,4个。

    [root@master hadoop-1.2.1]# jps

    4001 Jps

    3642 NameNode

    3899 JobTracker

    3805 SecondaryNameNode

     

     [root@master conf]# jps

    3793 Jps

    3621 DataNode

    3722 TaskTracker

     

    11、查看集群状态

    [root@master hadoop-1.1.1]# hadoop dfsadmin  -report

    这里有一个数据节点,可以看到上面是有大小的,如果为0说明一开始hadoop启动失败

     

    注意:如果报错“INFOipc.Client: Retrying connect to server,是因为core-site.xml失效的原因。停止,重启hadoop后,格式化namenode即可。

    另外,每次启动VM都要关闭防火墙。

     

    12、列出HDFS文件系统中存在的目录情况

    [root@redhat1 conf]# hadoopfs -ls

    显示结果:ls: Cannot access .: No such file or directory.

    这是这个目录为空所致。

    可以改为执行 hadoop fs -ls /

    可以看到有一条空结果。

    执行hadoop fs -mkdir hello

    其中hello为文件夹名字,再执行hadoop fs -ls命令,即可看到结果。

    13、测试一下DFS操作

    [root@centos1hadoop-1.2.1]# hadoop dfs -mkdir input

    [root@centos1hadoop-1.2.1]# hadoop dfs -ls

    Found 1 items

    drwxr-xr-x  - root supergroup          02013-01-19 23:24 /user/root/input

     

    14、测试下HDFS文件系统Web浏览器监视

    HDFS文件系统状态NameNodehttp://master:50070/

    15、运行Hadoop自带框架的wordcount示例

    15.1、建立数据源文件

    /root/test建立2个文本文件,在这两个文本文件输入你想输入的单词

    这里随便输入

    15.2、发布数据文件至hadoop集群

    1、在hdfs中建立一个input目录

    [root@master hadoop-1.2.1]#hadoop dfs -mkdir input

    2. /root/test的文本文件上传到刚建立的input文件夹下

    [root@master hadoop-1.2.1]#hadoop dfs –put /root/test/* input

    3、执行wordcount程序

    执行wordcount程序,并确保hdfs上没有output目录,如果已经有,便会有如下问题

     

    output目录则执行[root@masterroot]# hadoop  fs  -rmr putput

     

    [root@master hadoop-1.2.1]#hadoop jar hadoop-examples-1.2.1.jar wordcount input output

    14/09/24 17:37:39 INFO input.FileInputFormat: Total input pathsto process : 4

    14/09/24 17:37:39 INFO util.NativeCodeLoader: Loaded thenative-hadoop library

    14/09/24 17:37:39 WARN snappy.LoadSnappy: Snappy native librarynot loaded

    14/09/24 17:37:39 INFO mapred.JobClient: Running job:job_201409241734_0002

    14/09/24 17:37:41 INFO mapred.JobClient:  map 0% reduce 0%

    14/09/24 17:37:54 INFO mapred.JobClient:  map 50% reduce 0%

    14/09/24 17:37:59 INFO mapred.JobClient:  map 75% reduce 0%

    14/09/24 17:38:00 INFO mapred.JobClient:  map 100% reduce 0%

    14/09/24 17:38:05 INFO mapred.JobClient:  map 100% reduce 100%

    14/09/24 17:38:06 INFO mapred.JobClient: Job complete:job_201409241734_0002

    14/09/24 17:38:06 INFO mapred.JobClient: Counters: 29

    14/09/24 17:38:06 INFO mapred.JobClient:   Job Counters

    14/09/24 17:38:06 INFO mapred.JobClient:     Launched reduce tasks=1

    14/09/24 17:38:06 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=33257

    14/09/24 17:38:06 INFO mapred.JobClient:     Total time spent by all reduces waitingafter reserving slots (ms)=0

    14/09/24 17:38:06 INFO mapred.JobClient:     Total time spent by all maps waiting afterreserving slots (ms)=0

    14/09/24 17:38:06 INFO mapred.JobClient:     Launched map tasks=4

    14/09/24 17:38:06 INFO mapred.JobClient:     Data-local map tasks=2

    14/09/24 17:38:06 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=11496

    14/09/24 17:38:06 INFO mapred.JobClient:   File Output Format Counters

    14/09/24 17:38:06 INFO mapred.JobClient:     Bytes Written=27

    14/09/24 17:38:06 INFO mapred.JobClient:   FileSystemCounters

    14/09/24 17:38:06 INFO mapred.JobClient:     FILE_BYTES_READ=57

    14/09/24 17:38:06 INFO mapred.JobClient:     HDFS_BYTES_READ=442

    14/09/24 17:38:06 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=274717

    14/09/24 17:38:06 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=27

    14/09/24 17:38:06 INFO mapred.JobClient:   File Input Format Counters

    14/09/24 17:38:06 INFO mapred.JobClient:     Bytes Read=28

    14/09/24 17:38:06 INFO mapred.JobClient:   Map-Reduce Framework

    14/09/24 17:38:06 INFO mapred.JobClient:     Map output materialized bytes=75

    14/09/24 17:38:06 INFO mapred.JobClient:     Map input records=2

    14/09/24 17:38:06 INFO mapred.JobClient:     Reduce shuffle bytes=75

    14/09/24 17:38:06 INFO mapred.JobClient:     Spilled Records=8

    14/09/24 17:38:06 INFO mapred.JobClient:     Map output bytes=43

    14/09/24 17:38:06 INFO mapred.JobClient:     CPU time spent (ms)=6560

    14/09/24 17:38:06 INFO mapred.JobClient:     Total committed heap usage(bytes)=569655296

    14/09/24 17:38:06 INFO mapred.JobClient:     Combine input records=4

    14/09/24 17:38:06 INFO mapred.JobClient:     SPLIT_RAW_BYTES=414

    14/09/24 17:38:06 INFO mapred.JobClient:     Reduce input records=4

    14/09/24 17:38:06 INFO mapred.JobClient:     Reduce input groups=3

    14/09/24 17:38:06 INFO mapred.JobClient:     Combine output records=4

    14/09/24 17:38:06 INFO mapred.JobClient:     Physical memory (bytes) snapshot=617246720

    14/09/24 17:38:06 INFO mapred.JobClient:     Reduce output records=3

    14/09/24 17:38:06 INFO mapred.JobClient:     Virtual memory (bytes) snapshot=1871646720

    14/09/24 17:38:06 INFO mapred.JobClient:     Map output records=4

     

    [root@centos1 hadoop-1.1.1]#hadoop dfs -cat output/part-r-00000

    [root@master hadoop-1.2.1]# hadoop dfs -cat output/part-r-00000

    guangzhou       1

    hello           2

    java            1

     

  • 相关阅读:
    JAVA web数据库登录界面
    JAVA web之相关名词大调查
    继承与多态课后
    第六周课后作业 02
    凯撒密文问题
    定义一个类,使用静态和构造随时知道定义了几个变量(第五周课后01)
    NAIPC2018
    [学习笔记]网络流
    Rikka with Prefix Sum
    Traffic Network in Numazu
  • 原文地址:https://www.cnblogs.com/freeopen/p/5483040.html
Copyright © 2011-2022 走看看