本文旨在介绍通过两台物理节点,实现完全分布式hadoop程序的部署

writen by Bob Pan@20140609

环境介绍:

主机名

机器IP

用途

描述

Hadoop0

192.168.80.101

Namenode

secondaryNamenode

jobTracker

CentOS6.4

jdk-6u24-linux-i586

hadoop-1.1.2

Hadoop1

192.168.80.102

Datanode

taskTracker

CentOS6.4

jdk-6u24-linux-i586

hadoop-1.1.2

1、 安装JDK

a)         把 jdk 移动到/usr/local 目录下。进入到/usr/local 目录下,通过“.”解压文件

i.              ./jdk-6u24-linux-i586.bin

b)         将解压后的目录jdk1.6.0_24重命名为jdk

i.              mv jdk1.6.0_24/ jdk

c)         将jdk配置到环境变量中,设置全局环境变量,文件“/etc/profile”后添加:

i.              export JAVA_HOME=/usr/local/jdk

ii.              export PATH=.:$PATH:$JAVA_HOME/bin

d)         执行Source命令

i.              #source /etc/profile

e)         “export”是关键字,用于设置环境变量。我们设置了两个环境变量,一个是 JAVA_HOME,一个是 PATH。对于环境变量的引用,使用“$”,多个环境变量之间的连接,使用“:”。大家在设置环境变量的时候,一定与 windows 下的操作区分开,不要混淆。命令“source”是为了让文件中的设置立刻生效。

f)          执行java –version命令

2、 关闭防火墙

a)         执行Setup命令

b)         选择“Firewall configuration”,然后按回车;

c)         关闭防火墙,只需要按一下空格键,符号“*”就会消失。最后使用“tab”键移动到“OK”,回车,一步步退出就行了。

d)         检查防火墙是否关闭命令“service iptables status”

3、 设置DNS解析

a)         打开etc/sysconfig/network

b)         修改为“HOSTNAME=hadoop0”(hadoop1)

c)         reboot

4、 Hadoop0设置SSH免密码登录

a)         ssh-keygen –t rsa

b)         三次回车

c)         cd .ssh/

d)         ls –l

e)         cp id_rsa.pub authorized_keys

f)          ssh localhost验证

5、 Hadoop1设置SSH免密码登录

a)         同上

6、 配置hadoop0和hadoop1的/etc/hosts

a)         每个节点均添加了所有节点的 ip 与主机名映射

b)         192.168.80.101      hadoop0

c)         192.168.80.102        hadoop1

7、 集群间SSH免密码登录

a)         在hadoop0执行命令:ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop1

b)         在hadoop1执行命令:ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop0

8、 Hadoop压缩包上传至hadoop0节点的/usr/local目录下

9、 Hadoop0节点解压缩hadoop

a)         tar -xzvf hadoop-1.1.2.tar.gz

10、Hadoop0节点解压缩后的文件夹重命名

a)         #mv hadoop-1.1.2 hadoop

11、 设置Hadoop0节点的环境变量

alias cdha=’cd /usr/local/hadoop’

export JAVA_HOME=/usr/local/jdk

export HADOOP_HOME=/usr/local/hadoop

export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

12、修改hadoop0节点的Hadoop配置文件

a)         修改hadoop-env.sh

第9行改为:export JAVA_HOME=/usr/local/jdk(去掉前面的#)

b)         修改hadoop核心配置文件core-site.xml

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop0:9000</value>
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>

c)         修改hdfs配置文件hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

d)         修改MapReduce 配置文件 mapred-site.xml

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop0:9001</value>
<description>change your own hostname</description>
</property>
</configuration>

13、在hadoop0节点执行命令,将hadoop0节点的hadoop文件夹复制到hadoop1节点

a)         scp -rq /usr/local/hadoop hadoop1:/usr/local

b)         scp -rq /etc/profile hadoop1:/etc

c)         ssh hadoop1

d)         exit

14、配置hadoop0节点的集群核心文件slaves

a)         打开/conf/slaves文件后,修改为hadoop1.

b)         修改后,意味着在节点 hadoop1运行datanode和tasktracker节点.

15、格式化文件系统

a)         hadoop namenode –format

16、启动集群

a)         在节点 hadoop0 中执行命令:start-all.sh

17、Hadoop0节点jps验证,SecondaryNameNode、NameNode、JobTracker,处于运行状态。

18、Hadoop1节点jps验证,DataNode、TaskTracker,处于运行状态。

 

分布式Hadoop安装(一)的更多相关文章

  1. 分布式Hadoop安装(二)

    二.集群环境安装Zookeeper 1.         hadoop0,namenode机器下,配置zookeeper,先解压安装包. 使用命令:tar -zxvf zookeeper-3.4.4. ...

  2. VMwareWorkstation 平台 Ubuntu14 下安装配置 伪分布式 hadoop

    VMwareWorkstation平台Ubuntu14下安装配置伪分布式hadoop 安装VmwareStation 内含注册机. 链接:https://pan.baidu.com/s/1j-vKgD ...

  3. 转载:Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    原文 http://www.powerxing.com/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单,书上有写到, ...

  4. Hadoop 在windows 上伪分布式的安装过程

    第一部分:Hadoop 在windows 上伪分布式的安装过程 安装JDK 1.下载JDK        http://www.oracle.com/technetwork/java/javaee/d ...

  5. Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    摘自: http://www.cnblogs.com/kinglau/p/3796164.html http://www.powerxing.com/install-hadoop/ 当开始着手实践 H ...

  6. Hadoop安装教程_单机/伪分布式配置

    环境 本教程使用 CentOS 6.4 32位 作为系统环境,请自行安装系统(可参考使用VirtualBox安装CentOS).如果用的是 Ubuntu 系统,请查看相应的 Ubuntu安装Hadoo ...

  7. Hadoop:Hadoop单机伪分布式的安装和配置

    http://blog.csdn.net/pipisorry/article/details/51623195 因为lz的linux系统已经安装好了很多开发环境,可能下面的步骤有遗漏. 之前是在doc ...

  8. 新手推荐:Hadoop安装教程_单机/伪分布式配置_Hadoop-2.7.1/Ubuntu14.04

    下述教程本人在最新版的-jre openjdk-7-jdk OpenJDK 默认的安装位置为: /usr/lib/jvm/java-7-openjdk-amd64 (32位系统则是 /usr/lib/ ...

  9. 高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南

    原文:http://my.oschina.net/wstone/blog/365010#OSC_h3_13 (WJW)高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南 [X] ...

随机推荐

  1. python学习之路-day4-装饰器&json&pickle

    本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 一.生成器 1.列表生成式 >>> L = [x * x for x in range(10 ...

  2. [php-src]理解Php内核中的函数与INI

    内容均以php-5.6.14为例. 一. 函数结构 内核中定义一个php函数使用 PHP_FUNCTION 宏 包装,扩展也不例外,该宏在 ./main/php.h:343 有着一系列类似以 PHP ...

  3. Problem 2136 取糖果---FUOJ (线段树+维护)

    http://acm.fzu.edu.cn/problem.php?pid=2136 题目大意: 给你n个袋子每个袋子里都装有糖果,然后呢你可以每次抽取一个连续的一个区间的袋子,然后带走里面最多糖果数 ...

  4. Unity5的AssetBundle的一点使用心得

    昨天一位朋友在我这里留言,想让我写点Unity5的AssetBundle心得.于是我就看了相关的介绍,和自己确切的做了一次.下面来谈谈所谓的心得. 如果你觉得自己对AssetBundle不熟悉,建议先 ...

  5. 10. Software, Software Engineering, water fall (瀑布模型),Code Complete等名词的来源

    ①.Software-软件”一词是20世纪60年代才出现的,软件Software——1958年由贝尔实验室的著名统计学家John Tukey 提出软件与硬件一起构成完整的计算机系统,它们是相互依存,缺 ...

  6. 4.2.2 网络编程之Socket

    1基于TCP协议的Socket 服务器端首先声明一个ServerSocket对象并且指定端口号,然后调用Serversocket的accept()方法接收客户端的数据.Accept()方法在没有数据进 ...

  7. 黑马程序员+Winform基础(上)

    黑马程序员+Winform基础 ---------------<a href="http://edu.csdn.net"target="blank"> ...

  8. jsonp与ajax

    jsonp思维导图:1.定义2.为什么用3.json原理4.优缺点何为跨域?何为JSONP?JSONP技术能实现什么?是否有必要使用JSONP技术? JSON和JSONP??虽然只有一个字母的差别,但 ...

  9. QT中QProcess调用命令行的痛苦经历

    在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了 ...

  10. 使用ODP.NET查询数据参数顺序问题及莫名ORA-01722错误提示

    最近由于项目需要,必须使用C#配合Oracle来进行开发,在开发的过程中,发现有些查询无法正确获取数据.例如: Select * From tabParam Where ParamCode = :Pa ...