在linux环境下搭建hadoop平台(伪分布式)

一、hadoop之平台搭建篇

1.实验配置:ubuntu-11.04hadoop-0.20.2jdk-1.7.0_04eclipse及插件hadoop-0.20.2-eclipse-plugin,如下图:
图片

准备工作完毕!

硬件环境

安装分布式可以准备多台电脑,组成计算机集群,这里是用单机模仿分布式集群,所以所需的硬件环境只要一台个人电脑就可以了(多台的配置和一台配置差不多,会一台配置,基本上集群也会配了)。

                                  

2.搭建步骤

1. 安装linux系统已发行的linux系统有多种版本,作者用的是ubuntu-11.04采用双系统,没有用虚拟机环境,点击wubi,自行安装linux系统。

2)安装并配置jdk

jdk放在指定的目录下,作者这里放在/usr/java

解压:tar –zxvf jdk-7u4-linux-i586.tar.gz

(不熟悉指令的最好先去看书,mv,cp,rm等随便找一本书查一下就可以了)

安装好后开始配置环境变量:

  (可以再vi编辑器里也可以在gedit里编辑 gedit  /etc/profile

     添加如下语句到/etc/profile :

     export JAVA_HOME=/usr/java/jdk1.7.0_04

     export JRE_HOME=/usr/java/jdk1.7.0_04/jre

    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

     export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

    (注意:如果不能在普通用户下进行各项操作,就切换成root用户,指令为sudo -i

配置好后检查jdk是否配置成功,方法如下:
图片

  (和在windows里是一样的,由于作者在windows下编辑文档,懒得换了,显现如上提示,说明jdk安装成功)

3 实现无密码通信

         1.下载并安装ssh

            $ sudo apt-get install ssh   (如果是root直接敲apt-get install ssh)

              (你可以在指定目录,我安装在默认目录/root/.ssh)

         2. 先实现本机无密码通信

             首先生成密钥:$ ssh-keygen -t dsa -P ''
                (注:两个单引号,另按照提示输入密钥保存文件)

           $ cd  . ssh

             再将id_dsa.pub追加到authorized_keys中去:cat id_dsa.pub >> ~/.ssh/authorized_keys

        3.检查是否成功

            $ ssh localhost如果不需要密码输入,说明OK了,否则重新再弄。。

            退出sshexit

4 关闭防火墙

sudo ufw disable(在配置集群是这一步是必须的,伪分布式不关也没事,可以略过)

5)安装.hadoop

     1. 解压到指定的目录下(作者把他安装在了/usr/local/hadoop:

$ tar –zvxf hadoop-0.20.2.tar.gz

        Hadoop 的安装路径添加到环/etc/profile (方法和配置JDK相同):

        export HADOOP_HOME=/usr/local/hadoop

        export PATH=$HADOOP_HOME/bin:$PATH
       
export HADOOP_HOME_WARN_SUPPRESS=1

     2. 配置 hadoop(很重要)

         hadoop 的主要配置都在 hadoop-0.20.2/conf 下。

       (1) conf/hadoop-env.sh 中配置 Java 环境(namenode datanode 的配置相同):

        $ vi hadoop-env.sh

        在弹出的gedit中找到export JAVA_HOME=将你的java_home路径输入:

    export JAVA_HOME=/usr/java/jdk1.7.0_04

       (2)配置 conf/core-site.xml, conf/hdfs-site.xml conf/mapred-site.xml   core-site.xml

 
/hadoop/conf下 
$ vi conf/core-site.xml

  <configuration>

  <!--- global properties -->

  <property>

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

  <value>/usr/hadoop-0.20.2/tmp</value>

  <description>A base for other temporary directories.</description>

  </property>

  <!-- file system properties -->

  <property>

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

  <value>hdfs://localhost:9000</value>  #注意:9000namenode的监听端口

  </property>

  </configuration>

  hdfs-site.xml:( replication 默认为 3,如果不修改,datanode 少于三台就会报错)

  <configuration>

  <property>

  <name>dfs.replication</name>

  <value>1</value>

  </property>

  </configuration>

mapred-site.xml:

  <configuration>

  <property>

  <name>mapred.job.tracker</name>

  <value>localhost:9001</value>    #注意:9001jobtracker的监听端口

  </property>

  </configuration>

(6). 运行hadoop

    首先格式化文件系统,进入hadoop文件夹,输入下面的命令:

   bin/hadoop namenode -format

    启动 Hadoop:$ bin/start-all.sh

    jps 命令查看进程,NameNode 上的结果如下

    3540 TaskTracker

    3002 DataNode

    3224 SecondaryNameNode

    4987 Jps

    2829 NameNode

3383 JobTracker

TaskTracker\ DataNode\SecondaryNameNode\ NameNode\JobTracker5个都出现说明hadoop安装成功,否则如上步骤看哪里有问题

web方式查看:namenodeweb访问端口是50070,用web方式访问namenode,在浏览器键入地址:http://localhost:50070,出现如下结果。
图片


  9001也是可以用web方式来访问的,由于namenodejobtracker是设置在同一台机器上的,网址是http//localhost50030,出现
图片



二、eclipse之安装配置篇

   1.eclipse安装

     下载eclipse-SDK-3.6.2-linux-gtk.tar.gz解压安装在usr下,和hadoop-0.21.0都在ysr目录下。从csdn上下载hadoop-0.21.0-eclipse-plugin-3.6.jar,然后拷贝到/eclipse/plugin下。运行eclipse

   2.eclipse配置

    打开/usr/eclipse,选择window->Openspective->Other,选择带大象图标的map/reduce,选择OK。选择window->Preferences->Hadoop Map/Reduce,选择OK。选择window->Show View->Other,选中MapReduce Locations,移动到下方的Mapreduce框,编辑localhost,右键“New Hadoop Location”,出现如下:


    在前面的hadoop配置中,可知9000namenode的监听端口,而9001jobtracker的监听端口,在界面上新建DFS location时候,可以看到Map/Reduce Master,这是jobtracker所在机器及监听端口,设置成:host=10.2.137.238,port=9001,而DFS Master中勾选Use M/R Master Host(是否使用与JobTracker相同的主机?)当然是勾上。端口也就是9000了,host=10.2.137.238port=9000

     重新打开eclipse,出现
图片








三、
wordcount之运行调试篇

Hadoop自带一些例子,这里以最简单的wordcount测试,在hadoop目录下建立input文件夹,

$ mkdir input

$cd input

在文件夹下建2个文件,

$echo hello world>text1.txt

$echo   hello hadoop>text2.txt

(建了2txt文件,里面写了2句话,一个4个单词)

然后,

$ cd ..

$ hadoop fs –put input in     #input目录及文件上传到hdfs里并改名为in作为输入

$ hadoop fs  jar hadoop-0.20.2-examples.jar wordcount in out   #调用hadoop提供的java程序完成wordcount并讲结果和日志生成在out目录里

$ hadoop fs –cat out/*           #*代表生成的reduce结果文件

最后就可以看到:

hello 2

world 1

hadoop 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值