准备与配置安装环境

安装虚拟机和linux,虚拟机推荐使用vmware,PC可以使用workstation,服务器可以使用ESXi,在管理上比较方便。ESXi还可以通过拷贝镜像文件复制虚拟机,复制后 自动修改网卡号和ip,非常快捷。如果只是实验用途,硬盘大约预留20-30G空间。
以Centos为例,分区可以选择默认,安装选项选择Desktop Gnome,以及Server、Server GUI即可。其它Linux,注意选项里应包括ssh,vi(用于编辑配置文件),perl 等(有些脚本里包含perl代码需要解析)
到Oracle官网下载java jdk安装包,并且进行安装

三种运行模式

单机模式:安装简单,几乎不用作任何配置,但仅限于调试用途
伪分布模式:在单节点上同时启动namenode、datanode、jobtracker、tasktracker
、secondary namenode等5个进程,模拟分布式运行的各个节点
完全分布式模式:正常的Hadoop集群,由多个各司其职的节点构成

伪分布式模式的安装和配置步骤

下载并解压Hadoop安装包,为了和教材一致,选用了0.20.2版本
进入Hadoop的解压目录,编辑conf/hadoop-env.sh文件(注意0.23版后配置文件的 位置有所变化)
编辑conf目录下core-site.xml、hdfs-site.xml和mapred-site.xml三个核心配置文件
配置ssh,生成密钥,使到ssh可以免密码连接localhost
格式化HDFS
使用bin/start-all.sh启动Hadoop
使用bin/stop-all.sh关闭Hadoop

下载Hadoop

ESXI加入集群失败无法联系主机 esxi做集群_ESXI加入集群失败无法联系主机

解压hadoop

ESXI加入集群失败无法联系主机 esxi做集群_服务器端_02

Hadoop配置有关文件

ESXI加入集群失败无法联系主机 esxi做集群_服务器端_03

修改hadoop-env.sh文件

ESXI加入集群失败无法联系主机 esxi做集群_xml_04


ESXI加入集群失败无法联系主机 esxi做集群_hadoop_05

修改core-site.xml文件

ESXI加入集群失败无法联系主机 esxi做集群_服务器端_06

core-site.xml中常见配置参数

fs.default.name NameNode的IP地址和端口

修改hdfs-site.xml文件

ESXI加入集群失败无法联系主机 esxi做集群_xml_07

hdfs-site.xml文件中常用配置参数

ESXI加入集群失败无法联系主机 esxi做集群_ESXI加入集群失败无法联系主机_08


ESXI加入集群失败无法联系主机 esxi做集群_ESXI加入集群失败无法联系主机_09

修改mapred-site.xml文件

ESXI加入集群失败无法联系主机 esxi做集群_服务器端_10

mapred-site.xml文件中常用配置参数

ESXI加入集群失败无法联系主机 esxi做集群_xml_11

生成ssh密钥对

ESXI加入集群失败无法联系主机 esxi做集群_服务器端_12

ssh原理

客户端向服务器端发出连接请求

服务器端向客户端发出自己的公钥

客户端使用服务器端的公钥加密通讯密钥然后发给服务器端

如果通讯过程被截获,由于窃听者即使获知公钥和经过公钥加密的内容,但不拥有私 钥依然无法解密(RSA算法)

服务器端接收到密文后,用私钥解密,获知通讯密钥

ssh-keygen命令给服务器端产生公私钥密钥对,cp命令将服务器端公钥复制到客户端

(注意在伪分布模式下服务器端和客户端是同一台机器),因此客户端本身就拥有了 服务器端公钥,可以直接进行免密码接入

ESXI加入集群失败无法联系主机 esxi做集群_ESXI加入集群失败无法联系主机_13

完全分布式模式的安装和配置

配置hosts文件
建立hadoop运行账号
配置ssh免密码连入
下载并解压hadoop安装包
配置namenode,修改site文件
配置hadoop-env.sh 配置masters和slaves文件
向各节点复制hadoop
格式化namenode
启动hadoop
用jps检验各后台进程是否成功启动

配置hosts文件

所有的节点都修改/etc/hosts,使彼此之间都能把主机名解析为ip

ESXI加入集群失败无法联系主机 esxi做集群_hadoop_14

建立专门的运行hadoop的用户

在所有的节点上都建立运行hadoop的专用用户grid

ESXI加入集群失败无法联系主机 esxi做集群_xml_15

ssh配置

注意要以grid用户登录,在grid用户的主目录下进行操作!

每个节点作相同操作

ESXI加入集群失败无法联系主机 esxi做集群_ESXI加入集群失败无法联系主机_16


ESXI加入集群失败无法联系主机 esxi做集群_服务器端_17

分发ssh公钥

把各个节点的authorized_keys的内容互相拷贝加入到对方的此文件中,然后就可以免 密码彼此ssh连入

ESXI加入集群失败无法联系主机 esxi做集群_xml_18

下载hadoop压缩包并解压

ESXI加入集群失败无法联系主机 esxi做集群_服务器端_19

在namenode上配置hadoop

按照和伪分布模式相同的方法修改core-site.xml,hdfs-site.xml,mapred-site.xml 等配置文件
修改hadoop-env.sh文件
修改masters和slaves文件,记录集群中各个节点
向各节点分发hadoop
格式化namenode
在namenode上启动守护进程,系统会自动到各个节点启动相应的进程

修改core-site.xml、hdfs-site.xml以及 mapred-site.xml(注意修改localhost)

ESXI加入集群失败无法联系主机 esxi做集群_ESXI加入集群失败无法联系主机_20


ESXI加入集群失败无法联系主机 esxi做集群_xml_21


ESXI加入集群失败无法联系主机 esxi做集群_服务器端_22

修改masters和slaves文件

ESXI加入集群失败无法联系主机 esxi做集群_ESXI加入集群失败无法联系主机_23


ESXI加入集群失败无法联系主机 esxi做集群_服务器端_24

修改hadoop-env.sh

ESXI加入集群失败无法联系主机 esxi做集群_ESXI加入集群失败无法联系主机_25

向各节点复制hadoop

ESXI加入集群失败无法联系主机 esxi做集群_服务器端_26

格式化分布式文件系统

ESXI加入集群失败无法联系主机 esxi做集群_ESXI加入集群失败无法联系主机_27

启动守护进程

ESXI加入集群失败无法联系主机 esxi做集群_hadoop_28

检测守护进程启动情况

ESXI加入集群失败无法联系主机 esxi做集群_hadoop_29


ESXI加入集群失败无法联系主机 esxi做集群_服务器端_30

Windows下也可以装hadoop

下载及安装unix仿真工具cygwin
安装java
修改系统环境变量
启动cygwin,在仿真终端下解压hadoop
配置openssh
后续步骤与linux情形雷同

下载和安装Cygwin

安装时一定要选择vi、openssh、perl等

ESXI加入集群失败无法联系主机 esxi做集群_ESXI加入集群失败无法联系主机_31

编辑系统变量

CYGWIN=ntsec tty

Path:加入c:\cygwin\bin

安装java,并设置JAVA_HOME和CLASSPATH变量,把相关bin目录加进PATH

ESXI加入集群失败无法联系主机 esxi做集群_xml_32

伪分布模式

启动cygwin

解压hadoop包,注意映射的写法

tar xzvf /cygdrive/d/hadoop-0.20.2.tar.gz

ESXI加入集群失败无法联系主机 esxi做集群_服务器端_33

完全分布模式

与linux的情况类似