`

Hadoop 实践入门

阅读更多

1           实验环境搭建

1.1          准备工作

ubuntu/redhat

JDK/openjdk

Hadoop

Eclipse

vmvare/virtureBox

1.1.1     ubuntu 安装

       下载最新版本ubuntu 11.10。

       安装注意事项:

       1、关闭防火墙:shell命令 sudo ufw disable。不关闭有可能造成master slave 通信失败。出现连接超时,重连错误。可以通过指定iptables 实现端口过滤。

       2、安装ssh(用于master和slave远程登录):sudo apt-get install ssh

1.1.2     安装jdk

       1)解压sun jdk压缩包到指定的文件夹。

              sudo vi /etc/profile 或者 etc nano /etc/profile

        配置/etc/profile,加入:
export JAVA_HOME=/usr/java/jdk1.6.0_22

export JRE_HOME=/usr/java/jdk1.6.0_22/jre

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

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

    2)可以使用openjdk sudo apt-get insall open-jdk-6 或者通过软件中心。

 

验证 shell命令 :java -version 看是否与你的版本号一致

1.1.3 安装hadoop

在每台机器上相同用户的home根目录下解压,hadoop-0.20.2.tar.gz 配置conf/hadoop-env.sh文件。 增加 export JAVA_HOME =/usr/lib/jvm/java-6-openjdk 这里修改为你的jdk的安装位置。

 

1.2          伪分布式搭建

              Hadoop可以在单电商以为分布分布式模式运行,用不同的java进程模拟分布式中的中的各类节点namenode,datanode,jobtracker,tasktracker,secondary namenode

1.2.1     hadoop配置

       hadoop 0.2.0.2之后需要修改core-site.xml\hdfs-site.xml 以及 mapred-site.xml

配置文件如下:

core-site.xml 配置核心内容,其中fs.default.name 为hdfs地址;tmp为hadoop.tnp.dir为临时文件

<configuration>

     <property>

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

         <value>hdfs://localhost:49000</value>

     </property>

<property>

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

 <value>/home/hadooper/hadooptmp</value>

     </property>

</configuration>

注意事项:一定要指定,相同的用户名,并且tmp一定要设置,否则会出现权限问题。导致hadoop启动失败。也可以通过chmod 命令来改变默认tmp的权限。默认tmp路径为:/usr/tmp。推荐第一种方式。

 

hdfs-site.xml 设置 hdfs 参数

<configuration>

     <property>

         <name>dfs.replication</name>

         <value>1</value>

     </property>

</configuration>

这里dfs.replication指块的副本数。副本数具体策略可参加见hadoop官方指南。

 

mapred-site.xml 文件的修改

<configuration>

     <property>

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

         <value>localhost:49001</value>

     </property>

</configuration>

这个设置了jobtracker的端口。

注意端口的选择一定要恰当,尤其是集群的配置。默认的9000和9001很容易被ubuntu中其他进程占用,导致datanode失效,因此选择没有占用的49000 和49001。笔者,曾经就曾困扰与此。集群配置中将再次强调。

 

1.2.2     ssh设置

因为master需要访问datanode因此需要免密码ssh

设置方法:

ssh-keygen -t rsa然后一直按回车

完成后,在home跟目录下会产生隐藏文件夹.ssh

cd .ssh

之后ls 查看文件

cp id_rsa.pub authorized_keys

测试:

ssh localhost发现链接成功,并且无需密码。

1.2.3     hadoop运行

在hadoop安装目录下:

首先 bin/hadoop namenode -format格式化文件系统

然后 bin/start-all.sh 来启动守护进程。

利用java 命令 jps 查看进程。或者通过 网址:localhost:50070 localhost:50030来查看是否成功。

 

1.3          集群搭建

如上所述安装ubuntu 并且拥有相同用户。安装jdk ,安装hadoop。配置jdk路径等。

1.3.1     主机信息:

机器名 IP地址 作用
Node1 192.168.234.128 NameNode、JobTracker
Node2 192.168.234.129 DataNode、TaskTracker
Node3 192.168.234.130 DataNode、TaskTracker

 

修改每台机器上的hosts

sudo vi /etc/hosts

192.168.1.31   node1

192.168.1.32  node2

192.168.1.33   node3

1.3.2     ssh 设置

           把NameNode 上的id_dsa.pub 文件追加到DataNode 的authorized_keys 内:

           a. 拷贝NameNode 的id_dsa.pub 文件:

           $ scp id_dsa.pub  hadooper@node2:/home/hadoop/

           b. 登录node2,执行

                       $ cat id_dsa.pub >> .ssh/authorized_keys

          在所有datanode上执行相同的操作。

          验证:从node1

          ssh node2

          exit

          ssh node3

          exit

          如果全部免密码登录则成功

1.3.3     配置hadoop

配置conf/masters 和conf/slaves 文件

Masters

node1

Slaves

node2

node3

 

core-site mapred-site 和hdfs-site 和伪分布配置基本相同.只是对应地址,localhost换成了namenode的名称,node1。

q            配置conf/core-site.xml

<configuration>

 <property>

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

    <value>hdfs://node1:49000</value>

 </property>

</configuration>

仍然注意端口,在运行时如果datanode连接不上namenode,有可能是由于端口问题。换一个端口

1.3.4     运行hadoop

首先格式化文件系统:$ bin/hadoop namenode –format

启动Hadoop集群:

$ bin/start-all.sh

停止Hadoop集群:

$ bin/stop-all.sh

查看集群状态:$ bin/hadoop dfsadmin -report

Hadoop 的web 方式查看

JobTracker:http://node1:50030

NameNode:http://node1:50070

 

 

1.4          eclipse 插件安装

安装eclipse 只需要把hadoop/contrib/eclipse-plus 下的包考到eclipse的plus里即可。(该方法有问题,因为该插件只能部分支持eclipse3.6,如果需要全部支持安装eclipse3.4以下版本,或修改该插件较复杂)。如果有谁修改了适合3.6以上的插件roymoro@gmail.com .帮我发一份。

更多信息请查看 java进阶网 http://www.javady.com

3
1
分享到:
评论

相关推荐

    hadoop从入门到精通课件pdf

    《Hadoop从入门到精通》课程的PDF课件是一份全面了解和掌握Hadoop技术体系的宝贵资源。这个课程涵盖了从Hadoop的基础概念到高级应用的方方面面,旨在帮助学习者逐步提升对Hadoop的理解和实战能力。以下是根据提供的...

    Hadoop快速入门介绍文档

    ### Hadoop快速入门介绍 #### 一、Hadoop简介 Hadoop是一款开源软件框架,用于分布式存储和处理大型数据集。它能够在廉价的商用硬件上运行,并且具有高可靠性和可扩展性。Hadoop的核心组件包括HDFS(Hadoop ...

    Hadoop_入门实践

    《Hadoop 入门实践》 Hadoop 是一个开源的分布式计算框架,由Apache软件基金会维护,主要用于处理和存储大规模数据。它以其高容错性和可扩展性在大数据处理领域独树一帜,成为了众多企业和机构的核心技术之一。本...

    Hadoop 十分钟快速入门

    在大数据处理领域,Hadoop是不可或缺的关键技术。本快速入门将带你深入了解Hadoop生态系统的...通过阅读“Hadoop快速入门.pdf”和“HDFS简介.pdf”,你可以快速掌握这些基本概念和实践技巧,进一步深入Hadoop的世界。

    分布式计算开源框架hadoop入门实践 高清完整中文版PDF下载

    ### 分布式计算开源框架Hadoop入门实践 #### 一、Hadoop简介及应用场景 **Hadoop** 是一个由 **Apache** 开源基金会维护的分布式计算框架,它为大规模数据处理提供了一种高效且可靠的方法。Hadoop 最初的设计灵感...

    Hadoop开发者入门-带书签文字版

    《Hadoop开发者入门》是一本面向初学者的指南,旨在帮助读者快速掌握Hadoop的核心概念和技术。这本书的特色是带有完整的目录书签,方便查阅,且内容可复制,非常适合学习和参考。Hadoop是一个开源的大数据处理框架,...

    Hadoop入门程序java源码

    通过学习和实践这个入门源码,你可以了解Hadoop基本的编程流程,为后续更深入的Hadoop应用打下坚实的基础。同时,这个源码也可以作为调试和测试Hadoop集群功能的有效工具,确保集群环境的正确配置和运行。在实际项目...

    基于Kubernetes平台部署Hadoop实践.docx

    基于Kubernetes平台部署Hadoop实践 本文介绍了如何在Kubernetes平台上部署Hadoop,解决了Hadoop在Kubernetes上的部署问题。Hadoop和Kubernetes是两个不同的技术领域,former是传统的大数据领域,later是新兴的容器...

    Hadoop入门到精通

    "Hadoop入门到精通"的学习资料旨在帮助初学者掌握这一强大的框架,并逐步晋升为专家。以下是对Hadoop及其相关概念的详细解读。 一、Hadoop概述 Hadoop是由Apache基金会开发的一个开源框架,主要用于处理和存储大...

    hadoop入门教程.docx

    这个入门教程涵盖了从零开始搭建Hadoop环境的基本步骤,通过这些步骤,你可以搭建一个单节点的Hadoop环境,为进一步学习和实践Hadoop打下基础。随着对Hadoop理解的深入,你可能需要扩展到多节点集群,以及更复杂的...

    hadoop入门经典书籍

    Hadoop是一个广泛使用的分布式数据处理框架,特别适合于处理大规模数据集。它最初是作为搜索引擎的核心数据缩减功能,但由于其架构设计为...而《Hadoop入门经典书籍》这类资料,对于新手来说,是非常有价值的入门参考。

    分布式计算开源框架Hadoop入门实践

    ### 分布式计算开源框架Hadoop入门实践 #### 一、Hadoop简介 Hadoop是一个由Apache基金会维护的开源分布式计算框架,它基于Java语言编写,主要由两大核心组件构成:**HDFS(Hadoop Distributed File System)** 和...

    大数据云计算技术系列 Hadoop之Hbase从入门到精通(共243页).pdf

    《大数据云计算技术系列:Hadoop之Hbase从入门到精通》 HBase,全称Hadoop Database,是一款基于Hadoop生态系统的分布式列式存储系统,旨在处理海量结构化数据。它借鉴了Google Bigtable的设计思想,但开源并适应了...

    Hadoop入门学习

    本资源包是针对Hadoop入门学习的综合资料,包括了“Hadoop权威操作指南.pdf”、“Hadoop搭建操作文档(集群、伪分布式)”、“HDFS简单接口实现文档”以及“Hadoop API参考手册”和相关的Java API源码,非常适合初学...

    Hadoop开发者入门专刊

    **Hadoop开发者入门专刊** 本专刊是针对Hadoop初学者的一份宝贵资源,旨在帮助读者快速掌握Hadoop的基础知识,并在Linux和Windows环境下进行配置和测试。Hadoop是大数据处理领域的一个核心框架,由Apache软件基金会...

    hadoop 入门

    【Hadoop 入门】 Hadoop 是一个由Apache基金会开发的开源分布式计算框架,它以其高效、可扩展和容错性著称,是大数据处理领域的重要工具。本篇将从Hadoop的基本流程、应用开发以及集群配置和使用技巧三个方面进行...

    Hadoop的xmind的入门笔记

    总之,Hadoop的xmind入门笔记是一个全面了解和掌握Hadoop的绝佳资源,它覆盖了从基础到实践的各个层面,对于想投身大数据领域或提升大数据处理技能的人来说,是一份宝贵的自学材料。通过逐步学习,你将能够理解和...

    Hadoop入门实战手册 中文版)

    总的来说,《Hadoop入门实战手册》是一本全面介绍Hadoop基础知识和实践技能的书籍,对于希望进入大数据领域的学习者而言,是一份非常宝贵的资源。通过深入阅读和实践,读者能够掌握Hadoop的核心概念,从而在大数据的...

    Hadoop开发者入门专刊.pdf

    针对想要学习Hadoop的开发者,《Hadoop开发者入门专刊》提供了一系列的教程和指南,涵盖了Hadoop的安装配置、编程实践等方面的内容。其中包括但不限于: - **Hadoop源代码eclipse编译教程**:指导如何在Eclipse开发...

    分布式计算开源框架Hadoop入门实践.pdf

    【分布式计算开源框架Hadoop入门实践】 Hadoop是Apache开源组织开发的一款分布式计算框架,它在业界得到了广泛应用,尤其在大型互联网公司如亚马逊、Facebook和Yahoo等中扮演着重要角色。Hadoop的核心设计理念是...

Global site tag (gtag.js) - Google Analytics