本文是将三台电脑用路由器搭建本地局域网,系统为centos6.5,已经实验验证,搭建成功。

一、设置静态IP&修改主机名&关闭防火墙(all-root)(对三台电脑都需要进行操作)

0.将三台电脑安装centos6.5系统

1.设置静态ip(便于机器之间的通信,防止路由器电脑重启后,ip变化,导致不能通信)

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
BROADCAST=192.168.0.255 #对应的子网广播地址
HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址

在文件最后面添加一下代码

IPADDR=192.168.80.100

NETMASK=255.255.255.0

NETWORK=192.168.0.0
里面的IPADDR地址设置你想要的,我这里是192.168.80.100。
设置好后,需要让IP地址生效,运行下面命令:

service network restart Shutting down interface

然后运行ifconfig就可以看到静态ip是否生效。

2.修改主机名(每台电脑都要修改,建议使用hadoop100,hadoop101,hadoop102,对应于ip地址最后面三位数)

vi /etc/sysconfig/network 

hostname=hadoop100

重启一下网络service network restart

验证reboot -h now 立刻重启  然后hostname

3.关闭防火墙

关闭已经启动的防火墙: service iptables stop (只能关闭当前)

验证:service iptables status

Firewall is not running

关闭防火墙开机自动启动功能:

(1). 先查看 查看: chkconfig --list |grep iptables
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off

(2). 关闭 chkconfig  iptables off

验证:chkconfig --list |grep iptables

4.建立hadoop运行帐号

最好不要使用root操作hadoop,root是超级管理员权限,不推荐各个机器之间使用root访问,

useradd hadoop 增加用户
passwd hadoop 设置密码

二、配置hosts文件(只需要对主机192.168.80.100(hadoop100)进行操作,然后通过scp命令将这些配置分发给其他电脑即可)

操作192.168.80.100机器

vi /etc/hosts 添加下面内容

192.168.80.100 hadoop100
192.168.80.101 hadoop101
192.168.80.102 hadoop102

验证:ping  hadoop100
ping  hadoop101
ping  hadoop102

三、为hadoop账户配置ssh免密码连入

操作hadoop100,hadoop101,hadoop102机器

① ssh-keygen -t rsa会在~/.ssh/文件夹下生成id_rsa  id_rsa.pub两个文件

② 根据ip分别执行(对hadoop100,101,102三台机器分别生成公钥)
cp ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.100
cp ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.101
cp ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.102
③将hadoop101,hadoop102的公钥传输到hadoop100的机器上
scp -r ~/.ssh/id_rsa.pub.101   hadoop@hadoop100:/home/hadoop/.ssh
scp -r ~/.ssh/id_rsa.pub.102   hadoop@hadoop100:/home/hadoop/.ssh
 
④ 把所有机器的公钥,放在hadoop100的一个文件中(在hadoop100的hadoop用户下操作)
 cat ~/.ssh/id_rsa.pub.100 >> ~/.ssh/authorized_keys
 cat ~/.ssh/id_rsa.pub.101 >> ~/.ssh/authorized_keys
 cat ~/.ssh/id_rsa.pub.102 >> ~/.ssh/authorized_keys
 
验证 ssh hadoop101  发现无效,提示还是需要密码。
 
⑤ 修改authorized_keys的权限, 组用户不能有 写(W)权限, 不然ssh 由于安全问题不生效
authorized_keys 权限改为 644 就OK 
 
命令  chmod g-w authorized_keys
 
然后分发给 101和102
scp -r ~/.ssh/authorized_keys   hadoop@hadoop101:/home/hadoop/.ssh
scp -r ~/.ssh/authorized_keys   hadoop@hadoop102:/home/hadoop/.ssh
验证: ssh hadoop101 ...
然后神奇的事情发生了。 3台机器彼此之间可以互联。
 
四、下载并解压jdk(只需对hadoop100操作)
使用root用户进行操作,把jdk解压到/usr/local/ 文件夹中。

[root@hadoop100 local]#  cd /usr/local

[root@hadoop100 local]#  ./jdk-6u30-linux-x64.bin解压jdk后,生成jdk1.6.0_30文件夹

配置环境变量
[root@hadoop100 local]# vi /etc/profile在最后面加上下面两行
export JAVA_HOME=/usr/local/jdk1.6.0_30
export PATH=.:$JAVA_HOME/bin:$PATH
保存退出
[root@hadoop100 local]# source /etc/profile使新修改的环境变量生效。
 
验证: java -version
五、下载并解压hadoop安装包(仅对hadoop100操作)
 
5.1解压hadoop并重命名
 
使用root用户进行以下操作
tar -zxvf /usr/local/hadoop-1.1.2.tar.gz 
解压后生成文件夹hadoop-1.1.2。
重命名 mv hadoop-1.1.2 hadoop
 
5.2修改权限,使得hadoop用户可以操作hadoop文件夹
 
chown -R hadoop /usr/local/hadoop/
chgrp -R hadoop /usr/local/hadoop/
 
5.3设置hadoop环境变量
 
vi /etc/profile

修改为
export JAVA_HOME=/usr/local/jdk1.6.0_30
export HADOOP_HOME=/usr/local/hadoop

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

保存退出
source /etc/profile
 
验证: hadoop
 
六、设置hadoop参数
进入 usr/local/hadoop/conf 文件夹,即可看到以下文件
6.1配置hadoop-env.sh
 
找到export JAVA_HOME这一行,去除前面的#号注释符。
修改 export JAVA_HOME=/usr/local/jdk1.6.0_30
 
6.2配置core-site.xml
 
<configuration>
    <property>
<name>fs.default.name</name>
<value>hdfs://hadoop100:9000</value>
<description>change your own hostname</description>
    </property>
    <property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
    </property> 
</configuration>
 
6.3配置hdfs-site.xml
 
<configuration>
   <property>
<name>dfs.replication</name>
<value>2</value>
   </property>
</configuration>
 
6.4配置mapred-site.xml
 
<configuration>
    <property>
<name>mapred.job.tracker</name>
<value>hadoop100:9001</value>
<description>change your own hostname</description>
    </property>
</configuration>
 
6.5配置masters文件
 
将masters里的localhost改成hadoop100
 
6.6配置slaves文件
 
将slaves里的localhost改成
hadoop101
hadoop102
 
七、向其他机器复制jdk以及hadoop和一些配置
 
7.1分发hosts到其他机器(root用户)
 
scp -r /etc/hosts root@hadoop101:/etc/
scp -r /etc/hosts root@hadoop102:/etc/
 
7.2 分发java(root用户)
 
scp -r /usr/local/jdk1.6.0_30 root@hadoop101:/usr/local/
scp -r /usr/local/jdk1.6.0_30 root@hadoop102:/usr/local/
 
7.3分发环境变量/etc/profile(root用户)
 
scp -r /etc/profile root@hadoop101:/etc/
scp -r /etc/profile root@hadoop102:/etc/
 
分别通过ssh远程登录其他电脑
执行source /etc/profile 
分别验证: java -version
ping hadoop101
ping hadoop100
 
7.4分发hadoop(root用户)
 
scp -r /usr/local/hadoop/ root@hadoop101:/usr/local/hadoop/
scp -r /usr/local/hadoop/ root@hadoop102:/usr/local/hadoop/
再通过ssh远程登录其他电脑修改hadoop权限,如5.2所示。
再分别验证:hadoop
 
八、格式化hdfs
在hadoop100,hadoop101, hadoop102的hadoop用户下
执行命令 hadoop namenode -format 
 
九、启动hadoop
在hadoop100 上执行 start-all.sh
用jps检验
hadoop100上有

32387 Jps
32283 JobTracker
32198 SecondaryNameNode
32021 NameNode

hadoop101和hadoop102上有

30770 TaskTracker
30866 Jps
30666 DataNode

说明运行成功,。,这时你可以运行个wordcount这个小例子体验一下、。

转:http://www.cnblogs.com/arbitrary/p/3902780.html

hadoop完全分布式模式的安装和配置的更多相关文章

  1. 在Hadoop伪分布式模式下安装Hive(derby,mysql)

    我的Hadoop版本是1.2.0,mysql版本是5.6.12. 先介绍一下嵌入式derby模式: 1.下载/解压 在hive官网上选择要下载的版本,我选择的版本是hive-0.10.0. 下载好解压 ...

  2. 在Hadoop伪分布式模式下安装Hbase

    安装环境:Hadoop 1.2.0, Java 1.7.0_21 1.下载/解压 在hbase官网上选择自己要下的hbase版本,我选择的是hbase-0.94.8. 下载后解压到/usr/local ...

  3. 安装部署Apache Hadoop (完全分布式模式并且实现NameNode HA和ResourceManager HA)

    本节内容: 环境规划 配置集群各节点hosts文件 安装JDK1.7 安装依赖包ssh和rsync 各节点时间同步 安装Zookeeper集群 添加Hadoop运行用户 配置主节点登录自己和其他节点不 ...

  4. Hadoop完全分布式模式安装部署

    在Linux上搭建Hadoop系列:1.Hadoop环境搭建流程图2.搭建Hadoop单机模式3.搭建Hadoop伪分布式模式4.搭建Hadoop完全分布式模式 注:此教程皆是以范例讲述的,当然你可以 ...

  5. Hbase入门教程--单节点伪分布式模式的安装与使用

    Hbase入门简介 HBase是一个分布式的.面向列的开源数据库,该技术来源于 FayChang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像 ...

  6. Hadoop伪分布式模式部署

    Hadoop的安装有三种执行模式: 单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置.Hadoop执行在一个Java进程中.使用本地文件系统.不使用HDFS, ...

  7. Hadoop伪分布式模式搭建

    title: Hadoop伪分布式模式搭建 Quitters never win and winners never quit. 运行环境: Ubuntu18.10-server版镜像:ubuntu- ...

  8. Mac OSX系统中Hadoop / Hive 与 spark 的安装与配置 环境搭建 记录

    Mac OSX系统中Hadoop / Hive 与 spark 的安装与配置 环境搭建 记录     Hadoop 2.6 的安装与配置(伪分布式) 下载并解压缩 配置 .bash_profile : ...

  9. Hadoop全分布式模式安装

    一.准备 1.准备至少三台linux服务器,并安装JDK 关闭防火墙如下 systemctl stop firewalld.service systemctl disable firewalld.se ...

随机推荐

  1. Understanding node.js

    Node.js has generally caused two reactions in people I've introduced it to. Basically people either ...

  2. x64 结构体系下的内存寻址

    欢迎转载,转载请注明出处:http://www.cnblogs.com/lanrenxinxin/p/4735027.html 在阅读NewBluePill源码的时候,看内存的那一块简直头疼,全是x6 ...

  3. interviewbit :Min Steps in Infinite GridBookmark Suggest Edit

    You are in an infinite 2D grid where you can move in any of the 8 directions : (x,y) to (x+1, y), (x ...

  4. lintcode :同构字符串

    Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...

  5. Tail-chaining(末尾连锁)中断说明

    [转载]http://lxdawn.blog.163.com/blog/static/173620990201273111337204/ Tail-chaining是指一个中断退出至下一个中断进入这段 ...

  6. java异步操作实例

    1.异步操作过程实例: A.开启一个线程一直执行耗时操作 B.通过每隔多长多件轮询线程是否实行完毕,thread.isCompleted() C.执行完毕后,通过回调函数返回真实信息 一个调用者在调用 ...

  7. 使用 Nginx 和 GeoIP 模块来处理不同国家的访问

    安装 Nginx因为要用到 http_geoip_module 模块,系统自带的 nginx 一般不带这个模块,所以要下载 nginx 源代码后自行编译: # wget http://nginx.or ...

  8. Java-马士兵设计模式学习笔记-观察者模式-OOD 线程 改进

    1.概述 由于上一个文章<Java OOD 线程>中的线程是父类主动监听childe,比较耗资源,现改进为childe类醒来后主动联系父类 2.代码 Test.java class Chi ...

  9. C++:四种必须使用初始化列表情况

    [c++]必须在类初始化列表中初始化的几种情况   1. 类成员为const类型   2. 类成员为引用类型   复制代码 #include <iostream> using namesp ...

  10. opencv 金字塔图像分割

    我所知的opencv中分割函数:watershed(只是看看效果,不能返回每类pixel类属),cvsegmentImage,cvPyrSegmentation(返回pixel类属) 金字塔分割原理篇 ...