1. 准备工作
    • 三台虚拟机,强烈推荐vmware + centos6.5
    • 三台虚拟机均设有hadoop用户
    • IP地址设置
      IP地址 hostname
      192.168.11.100 master
      192.168.11.101 slave1
      192.168.11.102 slave2
    • 说明:#开头表示root用户,$开头表示hadoop用户
  2. 配置IP
    • 所有虚拟机可按照以下这个模板根据自己实际情况相应设置

    • #vi /etc/sysconfig/network-scripts/ifcfg-eth0
         BOOTPROTO=static
         ONBOOT=yes
             BROADCAST=192.168.11.255
             IPADDR=192.168.11.100
             NETMASK=255.255.255.0
             NETWORK=192.168.11.0
             GATEWAY=192.168.11.2

  3. 其他重要设置

      • 关闭防火墙:  #service iptables stop

          •  #chkconfig iptables --list   -- 查看各个init模式下,是否开机自动启动的状态
          • #chkconfig iptables off    --关闭各个init模式下,开机不自动启动
      • 禁用SELinux:  #vim  /etc/sysconfig/selinux       设置SELINUX=disabled
      • 修改hostname:  #vi   /etc/sysconfig/network      设置HOSTNAME=master

    修改hosts:           #vi   /etc/hosts      host文件添加如下内容

      •   192.168.11.100      master
      • 192.168.11.101      slave1
      • 192.168.11.102     slave2
    • 说明:以上设置在每个虚拟机中都要进行设置

  4.设置ssh免密码登陆

1.master和slave:
$ssh-keygen -t rsa
$cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
$chmod 644 ~/.ssh/authorized_keys              *********切记好多人都是因为这个折腾了好久,
$ssh localhost 两次,第一次需要yes,第二次不需要,而直接连上,则成功

2.每个slave:
$scp hadoop@master:~/.ssh/id_rsa.pub ./master_rsa.pub
$cat master_rsa.pub >> authorized_keys
3.master:
$ssh slave1 第一次需要yes, 第二次不需要,而直接连上,则成功
$ssh slave2 第一次需要yes, 第二次不需要,而直接连上,则成功

5.安装JDK

1. 下载jdk-6u45-linux-x64.bin,并移动到要安装目录
2. ./jdk-6u45-linux-x64.bin ,相当于解压,得到jdk1.6.0_45
3.  配置环境变量
#vim /etc/profile   添加如下内容:
## JAVA
export JAVA_HOME=/opt/modules/jdk1.6.0_45
export PATH=$PATH:$JAVA_HOME/bin
4. 使配置生效
# source /etc/profile
5. 测试:
# jps   或    #java -version

6.安装hadoop-1.2.1

1.下载hadoop-1.2.1.tar.gz,并移动到要安装目录

2.解压: $tar -zxvf hadoop-1.2.1.tar.gz

3.配置环境变量 #vim /etc/profile

## HADOOP

export HADOOP_HOME=/opt/modules/hadoop-1.2.1

export PATH=$PATH:$HADOOP_HOME/bin

4.使配置生效 # source /etc/profile

5.配置配置文件,在HADOOP_HOME/conf/  下

hadoop-env.sh

export JAVA_HOME=/opt/modules/jdk1.6.0_45

core-site.xml

fs.default.name
Master:9000
The name of the default file system. Either the literal string "local" or a host:port forDFS.
 
hadoop.tmp.dir
/home/hadoop/tmp
A base for other temporary directories.

说明:  fs.default.name是NameNode的URI。hdfs://主机名:端口/

hadoop.tmp.dir :Hadoop的默认临时路径,这个最好配置,需在本地文件系统中创建相应文件夹

如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。

不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。

hdfs-site.xml

dfs.name.dir

/home/hadoop/name1,/home/hadoop/name2

Determines where on the local filesystem the DFS name node should store the name table.

If this is a comma-delimited list of directories then the name table

is replicated in all of the directories, for redundancy.

dfs.data.dir

/home/hadoop/data1, /home/hadoop/data2

Determines where on the local filesystem an DFS data node should store its blocks.

If this is a comma-delimited list of directories, then data will be stored in all named directories,

typically on different devices. Directories that do not exist are ignored.

dfs.replication

2

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.

dfs.permission

false

说明: dfs.name.dir是NameNode持久存储名字空间及事务日志的本地文件系统路径。

当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。
 dfs.data.dir是DataNode存放块数据的本地文件系统路径,逗号分割的列表。

当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。
  dfs.replication是数据需要备份的数量,默认是3,如果此数大于集群的机器数会出错。
注意:此处的name1、name2、data1、data2目录不能预先创建,

hadoop格式化时会自动创建,如果预先创建反而会有问题。

mapred-site.xml

mapred.job.tracker
Master:9001
The host and port that the MapReduce job tracker runs at. If "local",

then jobs are runin-process as a single map and reduce task.

 
mapred.local.dir
/home/hadoop/tmp

说明:  mapred.job.tracker是JobTracker的主机(或者IP)和端口。主机:端口。

master

master -- 指定SecondaryNameNode的位置

slave

slave1  --指定DataNode和TaskTracker的位置

slave2

说明:注意最好使用主机名,并且保证机器之间通过主机名可以互相访问,每个主机名一行。

配置结束,把配置好的hadoop文件夹拷贝到其他集群的机器中,

并且保证上面的配置对于其他机器而言正确,

也可自己根据具体情况自行配置

参考:如果其他机器的Java安装路径不一样,要修改conf/hadoop-env.sh

$scp -r /home/hadoop/hadoop-1.2.1 Slave1:/home/hadoop/
$scp -r /home/hadoop/hadoop-1.2.1 Slave2:/home/hadoop/
$scp -r /home/hadoop/hadoop-1.2.1 Slave3:/home/hadoop/

7. 启动hadoop

1. 格式化一个新的分布式文件系统

$ hadoop namenode -format

*** 查看输出保证分布式文件系统格式化成功执行完后可以到master机器上

看到/home/hadoop//name1和/home/hadoop/name2两个目录。

在主节点master上面启动hadoop,主节点会启动所有从节点的hadoop。
 2. 启动所有节点

$start-all.sh
*** 执行完后可以到master(Master)和slave(Slave1,Slave2,Slave3)

机器上看到/home/hadoop/hadoopfs/data1和/home/hadoop/data2两个目录。

3.关闭所有节点

从主节点master关闭hadoop,主节点会关闭所有从节点的hadoop。

$ bin/stop-all.sh
Hadoop守护进程的日志写入到 ${HADOOP_LOG_DIR} 目录

(默认是 ${HADOOP_HOME}/logs).

${HADOOP_HOME}就是安装路径.

8.测试

1.用jps检验各后台进程是否成功启动

--在master节点查看后台进程
$ /usr/local/jdk1.6.0_45/bin/jps
3180 Jps
2419 SecondaryNameNode
2236 NameNode
2499 JobTracker
--在slave节点查看后台进程
$ /usr/local/jdk1.6.0_45/bin/jps
2631 Jps
2277 DataNode
2365 TaskTracker
2. 通过用浏览器和http访问NameNode和JobTracker的网络接口:
HDFS管理界面: http://hadoop-master.fuyi.com:50070/
MapReduce管理界面: http://hadoop-master.fuyi.com:50030/
TaskTracker管理界面:http://hadoop-master.fuyi.com:50060/
3. 使用netstat –nat查看端口9000和9001是否正在使用。

不再折腾-----hadoop-1.2.1完全分布式安装的更多相关文章

  1. Hadoop生态圈-hbase介绍-伪分布式安装

    Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...

  2. hadoop 2.7.3伪分布式安装

    hadoop 2.7.3伪分布式安装 hadoop集群的伪分布式部署由于只需要一台服务器,在测试,开发过程中还是很方便实用的,有必要将搭建伪分布式的过程记录下来,好记性不如烂笔头. hadoop 2. ...

  3. centos 7下Hadoop 2.7.2 伪分布式安装

    centos 7 下Hadoop 2.7.2 伪分布式安装,安装jdk,免密匙登录,配置mapreduce,配置YARN.详细步骤如下: 1.0 安装JDK 1.1 查看是否安装了openjdk [l ...

  4. hadoop 0.20.2伪分布式安装详解

    adoop 0.20.2伪分布式安装详解 hadoop有三种运行模式: 伪分布式不需要安装虚拟机,在同一台机器上同时启动5个进程,模拟分布式. 完全分布式至少有3个节点,其中一个做master,运行名 ...

  5. Hadoop + Hive + HBase + Kylin伪分布式安装

    问题导读 1. Centos7如何安装配置? 2. linux网络配置如何进行? 3. linux环境下java 如何安装? 4. linux环境下SSH免密码登录如何配置? 5. linux环境下H ...

  6. Hadoop开发第4期---分布式安装

    一.复制虚拟机 由于Hadoop的集群安装需要多台机器,由于条件有限,我是用虚拟机通过克隆来模拟多台机器,克隆方式如下图所示

  7. Hadoop、Zookeeper、Hbase分布式安装教程

    参考: Hadoop安装教程_伪分布式配置_CentOS6.4/Hadoop2.6.0   Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS ZooKeeper-3.3 ...

  8. Centos 6.5 hadoop 2.2.0 全分布式安装

    hadoop 2.2.0 cluster setup 环境: 操作系统:Centos 6.5 jdk:jdk1.7.0_51 hadoop版本:2.2.0 hostname    ip master ...

  9. hadoop备战:hbase的分布式安装经验

    配置HBase时,首先考虑的肯定是Hbase版本号与你所装的hadoop版本号是否匹配.这一点我在之前 的博客中已经说明清楚,hadoop版本号与hbase版本号的匹配度,那是官方提供的.以下的实验就 ...

  10. Hadoop简介与分布式安装

    Hadoop的基本概念和分布式安装: Hadoop 简介 Hadoop 是Apache Lucene创始人道格·卡丁(Doug Cutting)创建的,Lucene是一个应用广泛的文本搜索库,Hado ...

随机推荐

  1. DevExpress中的ASPxTreeView 递归显示checknodes并获得选中值

    aspx代码 <dx:ASPxTreeView ID="ASPxTreeView1" runat="server"> </dx:ASPxTre ...

  2. github 或者gitlab 设置添加SSH, 避免每次提交重复输入用户名

    克隆项目二种方式: 1. 使用https url克隆,   复制https url 然后到 git clone https-url 2.使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH ...

  3. jQuery源代码学习之五——jQuery.when

    jQuery.when提供了基于一个或多个对象的状态来执行回调函数的功能,通常是基于具有异步事件的异步队列. 如果传入多个异步队列,jQuery.when会返回一个新的主异步队列的只读副本(promi ...

  4. MVC_表单和HTML辅助方法

    表单的使用 action特性告知Web浏览器信息发往哪里. method特性告知浏览器使用HTTP POST 还是 HTTP GET. GET请求用于读操作, POST请求用于写操作 HTML辅助方法 ...

  5. Java基础必备 -- 堆栈、引用传值、垃圾回收等

     在Java中,对象作为函数参数的传递方式是值传递还是引用传递?String str = "abc" 与 String str = new String("abc&quo ...

  6. startup.c

    在Startup.s文件中包含一个startup的入口函数,该函数为EBOOT的最开始的入口.在系统上电或者冷启动的时候,这是第一个被执行的函数.该函数都是由汇编语言编写的,完成基于硬件平台的最初的初 ...

  7. Oracle 正则表达式函数-REGEXP_LIKE 使用例子

    原文在这 戳 REGEXP_LIKE 3个参数 第一个是输入的字符串 第二个是正则表达式 第三个是取值范围: i:大小写不敏感: c:大小写敏感: n:点号 . 不匹配换行符号: m:多行模式: x: ...

  8. Stylish: http://bbs.csdn.net/topics/

    [id^=google_ads_], [id^=bd_ad_], #cpro_u2392825, [id^=BAIDU_SSP_], .bbs_top_ad, .csdn-toolbar, #topi ...

  9. Ajax中dataType数据类型

    今天项目中使用Ajax向后台保存数据,其中dataType为'json';当请求成功后,没有走success回调,反而走了error:数据库已经成功保存数据了. 后来搞半天才知道原来dataType指 ...

  10. 异步加载JS的4种方式(详解)

    方案1:$(document).ready <!DOCTYPE html> <html> <head> <script src="http://co ...