• eclipse下安装hadoop伪分布式集群


    1、下载JDK,最好是1.6版本之上的,下载jdk-6u38-linux-i586.bin后运行./jdk-6u38-linux-i586.bin,生成/home/download/jdk1.6.0_38

    2、配置java环境变量,打开sudo vim /etc/profile文件,加入如下变量

          export JAVA_HOME=/home/download/jdk1.6.0_38
          export JRE_HOME=/home/download/jdk1.6.0_38/jre
          export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
          export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

      保存后使用java -version验证版本是否安装成功

    3、安装配置SSH,使其能够自动登录无需密码

      (1)下载安装SSH:同样在命令行输入下面命令安装SSH
          sudo apt-get install ssh
      (2)配置无密码登录本机:在命令行输入下面两条命令
         $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
             直接回车,完成后会在~/.ssh/生成两个文件:id_rsa和id_rsa.pub;这两个成对出现,类似钥匙和锁。
            
             再把id_rsa.pub追加到授权key里面(当前并没有authorized_keys文件)
             $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
       

      (3)验证SSH是否安装成功
           输入 ssh localhost 。如果显示本机登录成功就表明安装成功。

    4、关闭防火墙
         sudo ufw disable
       注意:这步非常重要,如果不关闭,会出现找不到datanode的问题

    3、下载hadoop到/home/download,并解压tar -zxvf hadoop-0.20.2.tar.gz,生成/home/download/hadoop-0.20.2

       单节点配置:
       安装单节点的Hadoop无需配置,在这种方式下,Hadoop被认作为一个单独的Java进程。

       伪分布配置:
       伪分布的Hadoop是只有一个节点的集群。在这个集群中,计算机既是master也是slave,即使 namenode也是datanode,既是jobtracker也是tasktracker。

      (1) 更改在hadoop中添加环境变量,打开hadoop-env.sh文件并添加

      #insert the environment
      export JAVA_HOME=/home/download/jdk1.6.0_38
      export HADOOP_HOME=/home/download/hadoop-0.20.2
      export PATH=$PATH:$HADOOP_HOME/bin

      (2)设置core-site.xml

      //指定namenode的主机名和端口(伪分布式就是本机)

      <configuration>
             <property>
                    <name>fs.default.name</name>
                <value>hdfs://localhost:9000/</value>
             </property>
            <property>
                   <name>hadoop.tmp.dir</name>
               <value>/home/download/hadoop-0.20.2/tmpdir</value>
             </property>
       </configuration>

             (3)设置hdfs-site.xml

        设置复制块的个数,一般默认为3个,但是在伪分布式下设置为1个(少于三台机器默认3都会出错)

             设置namenode和datanode存储位置

       <configuration>
              <property>
                     <name>dfs.replication</name>
                <value>1</value>
           </property> 
              <property>
                <name>dfs.name.dir</name>
                <value>/home/download/hadoop-0.20.2/tmpdir/hdfs/name</value>
              </property>
              <property>
                <name>dfs.data.dir</name>
                <value>/home/download/hadoop-0.20.2/tmpdir/hdfs/data</value>
            </property>
       </configuration>

              (4) 设置mapred-site.xml

               主要是设置jobTracker的主机名、mapreduce零时存放文件的地方、系统路径

              <configuration>
              <property>
                 <name>mapred.job.tracker</name>
                  <value>localhost:9001</value>
            </property>
            <property>
                 <name>mapred.local.dir</name>
                 <value>/home/download/hadoop-0.20.2/tmpdir/mapred/local</value>
            </property>
            <property>
                        <name>mapred.system.dir</name>
                  <value>/home/download/hadoop-0.20.2/tmpdir/mapred/system</value>
                       </property>
        </configuration>

    4、格式化namenode、datanode并启动hadoop 

      a、格式化Hadoop文件系统,在命令行输入命令:
      bin/hadoop namenode -format
      b、启动Hadoop,在命令行输入命令:
      bin/start-all.sh  (关闭时使用stop-all.sh)
      c、验证Hadoop是否安装成功,在浏览器中输入下面网址,如果正常打开说明安装成功。
      http://localhost:50030 (mapreduce的web页面)
      http://localhost:50070 (hdfs的web页面)

    5、查看hadoop进程启动情况

      输入 $ jps  正常情况下应该有NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker
    6、运行wordcount实例
       (1)先在/home/download/test建立两个输入文件  file01和file02
       $echo "Hello World Bye World" > file01
       $echo "Hello Hadoop Goodbye Hadoop" > file02
      
       (2)在hdfs中建立一个input目录:$hadoop fs -mkdir input

     (3)将
       (3)将file01和file02拷贝到hdfs中:
          $hadoop fs -copyFromLocal /home/download/test/file* input
       (4)执行wordcount:
          $hadoop jar hadoop-0.20.2-examples.jar wordcount input output
       (5)完成之后,查看结果
          $hadoop fs -cat output/*

  • 相关阅读:
    CentOS7中安装Mysql5.7
    CentOS7安装JDK
    设计模式之策略模式
    jmeter:文件下载连接请求保存文件
    pytest框架
    jmeter:设置全局默认请求
    jmeter:全局设置变量参数
    Badboy报错:不支持XXX属性、方法
    jmeter配置元器件:CSV Data Set Config
    jmeter报错:java.lang.IllegalArgumentException: Filename must not be null or empty
  • 原文地址:https://www.cnblogs.com/jeromesunny/p/3180872.html
Copyright © 2020-2023  润新知