准备与配置安装环境
安装虚拟机和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
解压hadoop
Hadoop配置有关文件
修改hadoop-env.sh文件
修改core-site.xml文件
core-site.xml中常见配置参数
fs.default.name NameNode的IP地址和端口
修改hdfs-site.xml文件
hdfs-site.xml文件中常用配置参数
修改mapred-site.xml文件
mapred-site.xml文件中常用配置参数
生成ssh密钥对
ssh原理
客户端向服务器端发出连接请求
服务器端向客户端发出自己的公钥
客户端使用服务器端的公钥加密通讯密钥然后发给服务器端
如果通讯过程被截获,由于窃听者即使获知公钥和经过公钥加密的内容,但不拥有私 钥依然无法解密(RSA算法)
服务器端接收到密文后,用私钥解密,获知通讯密钥
ssh-keygen命令给服务器端产生公私钥密钥对,cp命令将服务器端公钥复制到客户端
(注意在伪分布模式下服务器端和客户端是同一台机器),因此客户端本身就拥有了 服务器端公钥,可以直接进行免密码接入
完全分布式模式的安装和配置
配置hosts文件
建立hadoop运行账号
配置ssh免密码连入
下载并解压hadoop安装包
配置namenode,修改site文件
配置hadoop-env.sh
配置masters和slaves文件
向各节点复制hadoop
格式化namenode
启动hadoop
用jps检验各后台进程是否成功启动
配置hosts文件
所有的节点都修改/etc/hosts,使彼此之间都能把主机名解析为ip
建立专门的运行hadoop的用户
在所有的节点上都建立运行hadoop的专用用户grid
ssh配置
注意要以grid用户登录,在grid用户的主目录下进行操作!
每个节点作相同操作
分发ssh公钥
把各个节点的authorized_keys的内容互相拷贝加入到对方的此文件中,然后就可以免 密码彼此ssh连入
下载hadoop压缩包并解压
在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)
修改masters和slaves文件
修改hadoop-env.sh
向各节点复制hadoop
格式化分布式文件系统
启动守护进程
检测守护进程启动情况
Windows下也可以装hadoop
下载及安装unix仿真工具cygwin
安装java
修改系统环境变量
启动cygwin,在仿真终端下解压hadoop
配置openssh
后续步骤与linux情形雷同
下载和安装Cygwin
安装时一定要选择vi、openssh、perl等
编辑系统变量
CYGWIN=ntsec tty
Path:加入c:\cygwin\bin
安装java,并设置JAVA_HOME和CLASSPATH变量,把相关bin目录加进PATH
伪分布模式
启动cygwin
解压hadoop包,注意映射的写法
tar xzvf /cygdrive/d/hadoop-0.20.2.tar.gz
完全分布模式
与linux的情况类似