Hadoop 集群配置过程及问题总结

标签: hadoop 集群 问题 | 发表时间:2012-01-02 17:41 | 作者:scorpio小蝎
出处:http://www.blogjava.net/

转载请注明:

http://www.blogjava.net/roymoro/archive/2012/01/02/367731.html
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以上的插件[email protected].帮我发一份。

 



scorpio小蝎 2012-01-02 17:41 发表评论

相关 [hadoop 集群 问题] 推荐:

Hadoop 集群配置过程及问题总结

- - BlogJava-首页技术区
1           实验环境搭建. 1.1          准备工作. 1.1.1     ubuntu 安装.        下载最新版本ubuntu 11.10.        安装注意事项:.        1、关闭防火墙:shell命令 sudo ufw disable. 不关闭有可能造成master slave 通信失败.

hadoop中的一次集群任务执行超时问题查找过程

- - 开源软件 - ITeye博客
本次进行一个项目的重构,在某些活动数据量比较大的情况下,会偶尔出现1200s超时的情况,如下:. 而hadoop会不断启动备份任务进行重试,重试也许成功,但失败的概率还是比较大:. 经过分析,hadoop的任务都有个超时时间,使用下面的参数设置,表示1200s后如果没有进展,就会任务该任务超时,将其状态设置为FAILED.

Hadoop集群与Hadoop性能优化

- - 学着站在巨人的肩膀上
本文讲解一下Hadoop集群、Hadoop性能优化、Hadoop机架感知实现、Hadoop配置等,下面是有关这些命令的具体介绍. Hadoop性能优化:Hadoop机架感知实现及配置:分布式的集群通常包含非常多的机器,由于受到机架槽位和交换机网口的限制,通常大型的分布式集群都会跨好几个机架,由多个机架上的机器共同组成一个分布式集群.

[hadoop] 搭建自己的hadoop集群

- - CSDN博客系统运维推荐文章
       a>  五台centos6.2虚拟机,配置主机名、IP地址、yum源、.        b>  准备所需要的软件包. 2> 配置我自己的hadoop 集群.       a>  修改5台机器的hosts文件.       b>  配置master无密码登录slave,在master01和master02上执行以下命令:   .

Hadoop 集群基准测试

- - IT瘾-dev
生产环境中,如何对 Hadoop 集群进行 Benchmark Test. 本文将通过 Hadoop 自带的 Benchmark 测试程序:TestDFSIO 和 TeraSort,简单介绍如何进行 Hadoop 的读写 & 计算性能的压测. 回顾上篇文章: 认识多队列网卡中断绑定. (本文使用 2.6.0 的 hadoop 版本进行测试,基准测试被打包在测试程序 JAR 文件中,通过无参调用 bin/hadoop jar ./share/hadoop/mapreduce/xxx.jar 可以得到其列表 ).

[hadoop] 基于Hadoop集群的HBase集群的配置

- - CSDN博客系统运维推荐文章
       a> 已经配置完成的Hadoop集群.        b> 所需要的软件包. 2>  单独安装的ZooKeeper集群,不基于HBase集群管理.        a> 在master01上解压zookeeper-3.4.4.tar.gz.        b> 修改Zookeeper的配置文件.

hadoop配置常见问题

- - 企业架构 - ITeye博客
收集记录一些Hadoop配置部署过程中遇到的问题. 这种方法解决了运行中的hadoop的safe mode问题,但是下次重启hadoop,还会出现这个问题. 其实这个问题,我猜测可能是由于目录/app/hadoop/tmp/mapred/system被破坏造成. 永久解决,可以删除掉/app/hadoop/tmp/,重新创建,重新format,重启hadoop——如果条件允许的话.

hadoop集群环境的配置

- - ITeye博客
  之前说过,我们的hadoop集群已经搭建起来了,只是具体的步骤还没来得及整理,幸好今天又把流程走了一遍,真的是不做不晓得,一做才发现自己原来什么都忘记得差不多了,在此记录一下搭建hadoop集群的步骤,便于需要的时候看看.   这个配环境的过程真的是比较困难的,我今天搞了一天终于把自己的机器作为datanode连接上了master机器,我还是年前搞过一遍的呢,所以这个还是需要耐心+细心的.

腾讯TDW:大型Hadoop集群应用

- - 服务器运维与网站架构|Linux运维|X研究
PS:TDW是腾讯最大的离线数据处理平台. 本文主要从需求、挑战、方案和未来计划等方面,介绍了TDW在建设单个大规模集群中采取的JobTracker分散化和NameNode高可用两个优化方案. TDW(Tencent distributed Data Warehouse,腾讯分布式数据仓库)基于开源软件Hadoop和Hive进行构建,打破了传统数据仓库不能线性扩展、可控性差的局限,并且根据腾讯数据量大、计算复杂等特定情况进行了大量优化和改造.

Hadoop无法解决的问题

- - 四火的唠叨
文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》. 因为项目的需要,学习使用了Hadoop,和所有过热的技术一样,“大数据”、“海量”这类词语在互联网上满天乱飞. Hadoop是一个非常优秀的分布式编程框架,设计精巧而且目前没有同级别同重量的替代品. 另外也接触到一个内部使用的框架,对于Hadoop做了封装和定制,使得更满足业务需求.