ubuntu下hadoop全分布安装

标签: ubuntu hadoop 布安 | 发表时间:2013-10-25 21:47 | 作者:minglaihan
出处:http://blog.csdn.net

个人历时3天遭遇各种问题才安装好,虽然网上很多教程,但是还是自己写一个总结一下

转载请注明出处: http://hanlaiming.freetzi.com/?p=77

1.实验环境

Ubuntu12.04

Hadoop1.2.1

Java1.6.0_13

 

2.实验准备

1.在所有机器上安装ubuntu12.04,过程不赘述。

在安装过程中命名所有的用户名是hadoop,机器名分别为minglaihan,node1,node2,其中minglaihan作为主节点,其他两个是从节点。

2.在所有机器上执行:

sudo gedit etc/hosts

添加如下地址:

192.168.1.104 minglaihan

192.168.1.109 node1

192.168.1.110 node2

3.保证你的用户拥有root级别

用gedit或者vim,

sudo gedit etc/sudoers

在root   ALL=(ALL:ALL)   ALL下添加hadoop   ALL=(ALL:ALL)  ALL。

 

3.安装过程

  1. 安装java

三台机器上都执行:

指令:cd ~/java

unzip jdk-6u13-linux-i586.zip

chmod +x jdk-6u13-linux-i586.bin

sudo ./ jdk-6u13-linux-i586.bin

接下来按Enter以及yes就可以了

Java安装好之后,在bash.bashrc里添加java路径

sudo gedit etc/bash.bashrc

添加:export JAVA_HOME=/home/hadoop/java/jdk1.6.0_13

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

然后就可以查看java –version。

 

  1. 安装ssh

三台机器上都执行:

sudo apt-get install ssh

安装完成后执行ssh localhost即可登录自身的ssh,

exit退出

 

  1. 配置ssh无密码登陆

Ssh的一个重要特点就是可以远程访问,接下来我们实现相互访问不需要密码。

在所有机器上执行:

cd ~/.ssh

ssh-keygen -t rsa -P “”之后一直按回车,然后可以看见提示生成密钥。

将id_rsa.pub追加到authorized_keys授权文件中

cat id_rsa.pub >> authorized_keys

然后在主节点minglaihan上执行:

进入/home/hadoop/.ssh目录中,复制authorized_keys到node1的.ssh文件夹中

scp authorized_keys hadoop@node1:/home/hadoop/.ssh

scp authorized_keys hadoop@node2:/home/hadoop/.ssh

接下来使用ssh node1和ssh node2就可以无密码访问了

 

  1. 安装hadoop

首先在所有机器上执行解压缩操作

tar zxvf hadoop-1.2.1.tar.gz

然后开始修改hadoop/conf里面的配置文件

①  core-sie.xml

<configuration>

<property>

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

<value>/home/hadoop/hadoop-1.2.1/tmp</value>

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

</property>

 

<property>

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

<value>hdfs://minglaihan:9000</value>

<description>

The name of the default file system. A URI whose scheme and authority determine the FileSystem implementation. The uri’s scheme determines the config property (fs.SCHEME.impl) naming the FileSystem implementation class. The uri’s authority is used to determine the host, port, etc. for a filesystem.

</description>

</property>

 

</configuration>

②  hadoop-env.sh

添加:export JAVA_HOME=/home/hadoop/java/jdk1.6.0_13

③  hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>3</value>

<description>

Default block replication. The actual number of replications can be specified when the file is created. The default is used if replication is not specified in create time.

</description>

</property>

<property>

<name>dfs.name.dir</name>

<value>/home/hadoop/hadoop-1.2.1/hdfs/name</value>

<description>

</description>

</property>

<property>

<name>dfs.data.dir</name>

<value>/home/hadoop/hadoop-1.2.1/hdfs/data</value>

<description>

</description>

</property>

</configuration>

④  mapred-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>3</value>

<description>

Default block replication. The actual number of replications can be specified when the file is created. The default is used if replication is not specified in create time.

</description>

</property>

<property>

<name>dfs.name.dir</name>

<value>/home/hadoop/hadoop-1.2.1/hdfs/name</value>

<description>

</description>

</property>

<property>

<name>dfs.data.dir</name>

<value>/home/hadoop/hadoop-1.2.1/hdfs/data</value>

<description>

</description>

</property>

</configuration>

⑤  master

minglaihan

⑥  slaves

node1

node2

  1. 启动hadoop

cd ~/hadoop-1.2.1

首先格式化namenode

bin/hadoop namenode –format

然后启动所有节点

bin/start-all.sh

用jps查看当前hadoop启动的进程

jps

如果如果有Namenode,SecondaryNameNode,TaskTracker,DataNode,JobTracker,Jps六个进程表示已经启动成功。

当然我在这一步卡了很久,始终有各种各样的问题,在这个过程中也会学到很多,所以遇到有namenode或者datanode没启动,主要的处理方法就是清除tmp和logs文件夹,然后每次格式化后查看logs,根据报错查找问题。

stop-all.sh停止所有进程

此时在浏览器中查看minglaihan:50030,可以看到hadoop的mapreduce管理界面

 

  1. wordcount测试

在home主目录下创建一个装有无数单词的文本,例如test.txt

将test.txt传输到hdfs系统的input里,

bin/hadoop fs -copyFromLocal home/hadoop/test.txt input

在hadoop文件夹下执行:

hadoop jar hadoop-examples-1.2.1.jar wordcount input output

将输出结果传到output里

此时mapreduce会显示执行信息,执行完毕后,用指令查看

hadoop fs –cat output/part-r-00000

显示计算单词结果

 

 

至此,hadoop环境基本安装,期间遇到各种问题不要放弃。。。

作者:minglaihan 发表于2013-10-25 21:47:44 原文链接
阅读:97 评论:0 查看评论

相关 [ubuntu hadoop 布安] 推荐:

ubuntu下hadoop全分布安装

- - CSDN博客云计算推荐文章
个人历时3天遭遇各种问题才安装好,虽然网上很多教程,但是还是自己写一个总结一下. 转载请注明出处: http://hanlaiming.freetzi.com/?p=77. 1.在所有机器上安装ubuntu12.04,过程不赘述. 在安装过程中命名所有的用户名是hadoop,机器名分别为minglaihan,node1,node2,其中minglaihan作为主节点,其他两个是从节点.

Ubuntu 速查表

- 威 - Linux爱好者
曾经,FOSSwire 制作了一张 Unix/Linux 命令速查表,为 Unix/Linux 用户带来了方便. 现在,他们又专门针对 Ubuntu 制作了一张速查表,其中包含权限、显示、系统服务、包管理、网络、防火墙、系统等方面的常用命令介绍. 此外,该速查表也介绍了一些特殊的 Ubuntu 包及应用程序名称.

Ubuntu 7 岁了

- Lee Jia - cnBeta.COM
就在7年前的今日,Mark Shuttleworth 和他的团队宣布了第一个Ubuntu 发行版本“Warty Warthog(疣猪)”. Ubuntu 4.10 标志着一个新时代的开始,它是第一个Ubuntu 发行版本. 基于Debian,致力于给用户简单易用、无障碍的Linxu体验. 该版本也开创了免费海运为用户提供Ubuntu CD安装盘模式.

Ubuntu 11.10发布

- 李龑 - Solidot
51开源社区 写道 "代号为Oneiric Ocelot的 Ubuntu 11.10 正式版如期发布. 默认搭载Firefox 7.0.1、Ubuntu One云存储、Banshee 音乐播放器、备份工具Deja Dup、Thunderbird 邮件客户端、LibreOffice3.4.3、Gwibber 3.1.4,基于云的Juju包管理器,Xen虚拟机.

Hadoop Streaming 编程

- - 学着站在巨人的肩膀上
Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如:. 采用shell脚本语言中的一些命令作为mapper和reducer(cat作为mapper,wc作为reducer). 本文安排如下,第二节介绍Hadoop Streaming的原理,第三节介绍Hadoop Streaming的使用方法,第四节介绍Hadoop Streaming的程序编写方法,在这一节中,用C++、C、shell脚本 和python实现了WordCount作业,第五节总结了常见的问题.

Hadoop使用(一)

- Pei - 博客园-首页原创精华区
Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成. 其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上.

Hadoop MapReduce技巧

- - 简单文本
我在使用Hadoop编写MapReduce程序时,遇到了一些问题,通过在Google上查询资料,并结合自己对Hadoop的理解,逐一解决了这些问题. Hadoop对MapReduce中Key与Value的类型是有要求的,简单说来,这些类型必须支持Hadoop的序列化. 为了提高序列化的性能,Hadoop还为Java中常见的基本类型提供了相应地支持序列化的类型,如IntWritable,LongWritable,并为String类型提供了Text类型.

Hadoop TaskScheduler浅析

- - kouu&#39;s home
TaskScheduler,顾名思义,就是MapReduce中的任务调度器. 在MapReduce中,JobTracker接收JobClient提交的Job,将它们按InputFormat的划分以及其他相关配置,生成若干个Map和Reduce任务. 然后,当一个TaskTracker通过心跳告知JobTracker自己还有空闲的任务Slot时,JobTracker就会向其分派任务.

HADOOP安装

- - OracleDBA Blog---三少个人自留地
最近有时间看看hadoop的一些东西,而且在测试的环境上做了一些搭建的工作. 首先,安装前需要做一些准备工作. 使用一台pcserver作为测试服务器,同时使用Oracle VM VirtualBox来作为虚拟机的服务器. 新建了三个虚拟机以后,安装linux,我安装的linux的版本是redhat linux 5.4 x64版本.

Hadoop Corona介绍

- - 董的博客
Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明. 网址: http://dongxicheng.org/hadoop-corona/hadoop-corona/. Hadoop Corona是facebook开源的下一代MapReduce框架. 其基本设计动机和Apache的YARN一致,在此不再重复,读者可参考我的这篇文章 “下一代Apache Hadoop MapReduce框架的架构”.