本文是将三台电脑用路由器搭建本地局域网,系统为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. 知问前端——对话框UI(一)

    对话框(dialog),是jQuery UI非常重要的一个功能.它彻底的代替了JavaScript的alert().prompt()等方法,也避免了新窗口或页面的繁杂冗余. 开启多个dialog 我们 ...

  2. java获取系统当前时间

    SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");//设置日期格式 System.out.print(df. ...

  3. shell脚本替换文件中字符

    1.将当前目录下包含jack串的文件中,jack字符串替换为tom sed -i "s/jack/tom/g" `grep "jack" -rl ./` 2.将 ...

  4. win7系统中任务计划程序的使用与查询

    任务计划程序是电脑中的一个好工具,用好了,会让我们使用电脑变的很便捷,具体经验教程如下所示: 工具/原料 装有win7系统的电脑 方法/步骤 在桌面找到“我的电脑”,右击,弹出窗口,找到“管理”,如下 ...

  5. Spring框架学习之第8节

    <bean id=”foo” class=”…Foo”> <property name=”属性”> <!—第一方法引用--> <ref bean=”bean对 ...

  6. CentOS防火墙操作实例(启动、停止、开、闭端口)

    注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service   iptables status<回车>   停止防火墙: [root@localh ...

  7. struts2与struts1整合,java.lang.InstantiationException, Exception occurred during processing request: null

    做了2个action,其中一个运行没有问题,另一个报错,看下面的报错信息,再看了看struts.xml,因为没有给GetBooks这个action配置actionform,所以就导致报null.下面是 ...

  8. windows服务异常值framework版本

    sc query WCService | find /i "state"if %errorlevel% == 0 ( net start "WCService" ...

  9. Android内存管理(5)*官方教程:Logcat内存日志各字段含义,查看当前内存快照,跟踪记录内存分配,用adb查看内存情况时各行列的含义,捕获内存快照的3种方法,如何让程序暴漏内存泄漏的方法

    Investigating Your RAM Usage In this document Interpreting Log Messages                 内存分析日志中各消息的含 ...

  10. BZOJ 2956 模积和

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2956 题意:给出n和m.计算: 思路: i64 n,m; i64 cal(i64 m,i ...