2016.6.13 通过虚拟机安装hadoop完全分布式集群

hadoop完全分布式:3个及以上的实体机或者虚拟机组件的机群。
hadoop伪分布式:一个节点

原文地址

hadoop学习通过虚拟机安装hadoop完全分布式集群

学习笔记

进度:已经将原文看完,并且大部分理解,除了少部分命令有点疑惑之外。如果按照步骤一步步做没有问题,对每一步也能理解,但是还没完全理解这些配置的关系。
操作:只是阅读了教程,并没有实际搭建。
问题:未实际搭建,所以未能验证。
(1)楼下贴出的问题:稍微有点小问题,键入ssh命令之后应该加上用户名+主机名,即ssh zhs-1@node1。如果只键入主机名,是会报出Permission deny 的错误。也许版主处理的小细节我没有抓住,我在自己的机子里是这样解决的。附上一个连接解决SSH登录问题:http://blog.chinaunix.net/uid-22556372-id-1773417.html

环境

CPU:Intel酷睿双核 2.2Ghz
内存: 4G
硬盘: 320G
系统:xp

准备工作

1.安装虚拟机 VMware Workstation

2.在虚拟机上安装linux操作系统
这里在虚拟机上安装的linux操作系统为ubuntu10.04。其实用哪个linux系统都是可以的,比如用centos, redhat, fedora等均可,完全没有问题。

3.准备3个虚拟节点
如果已经完成第2步,那就已经准备好了第一个虚拟节点。准备第二个和第三个虚拟节点有两种方法:
method1:分别安装两遍linux系统,太繁琐,放弃。
method2:在刚安装的第一个虚拟节点,将整个系统目录复制来形成第二个和第三个虚拟节点。
按照hadoop集群的基本要求,其中一个是master节点,用于运行hadoop程序中的namenode,secondorynamenode和jobtracker任务。另外两个节点为slave节点,其中一个用于冗余目的。slave节点用于运行hadoop程序中的datanode和tasktracker任务。所以模拟hadoop集群至少要有3个节点。

4.重命名主机名
因为前面复制粘贴产生的两个节点和第一个节点的主机名一样。
重命名主机名:Vim /etc/hostname
以下是我对三个结点的ubuntu系统主机分别命名为:master, node1, node2
这里写图片描述
这里写图片描述
这里写图片描述

安装

1.配置hosts文件
(1)hosts文件
用于确定每个节点的IP地址,方便后续中master节点能快速查到并访问各个节点。三个虚拟节点上均需要配置此文件
(2)查看和修改ip地址
**查看**ip地址使用ipconfig命令:可以知道是192.168.1.100
这里写图片描述
**更改**ip地址使用sudo ipconfig eth1:
这里写图片描述
(3)hosts文件地址
hosts文件路径为;/etc/hosts,这里hosts文件配置如下:
这里写图片描述

2.建立hadoop运行账号
为hadoop集群专门设置一个用户组和用户。上述3个虚机结点均需要进行以下步骤来完成hadoop运行帐号的建立:
step1:新建hadoop组:sudo groupadd hadoop
step2:增加一个zhm用户,属于上面的hadoop组,且具有admin权限:sudo useradd -s /bin/bash -d /home/zhm -m zhm -g hadoop -G admin
step3:设置zhm用户的登录密码:sudo passwd zhm
step4:切换到zhm用户中:sudo zhm

3.配置ssh免密码连入
(1)可靠性验证
hadoop集群的各个节点之间需要进行数据访问,因此被访问的节点对于访问该节点的用户节点必须进行可靠性验证。hadoop采取是ssh的方法,通过秘钥验证及数据加密进行远程安全登录操作。
(2)ssh
ssh通过RSA算法来产生公钥和秘钥,在数据传输过程中对数据进行加密来保障数据的可靠与安全。公钥部分为公共,网络任意节点均可以访问。私钥部分用于对数据加密。
(3)免密码连入
注意下面输入下面这些命令时,一定要看清节点名和所在目录等前提条件
如果hadoop对每一个节点的访问都进行验证,将大大降低效率,所以可以配置SSH免密连入。
step1:每个节点分别产生公钥和密钥(这里的命令没看懂)。
这里写图片描述
产生目录在用户主目录下的.ssh目录中,id_dsa为公钥,id_dsa.pub为私钥。
cd .ssh/ 到达此目录下
ls 列出该目录下所有文件
这里写图片描述
step2:将公钥文件复制成authorized_keys文件,这个步骤是必须的。
cat id_dsa.pub >> authorized_keys
这里写图片描述
step3 : 将step1~step2在另外两个节点重复完成。
step4:单机回环ssh免密码登录测试
即在单机节点上用ssh登录,检测是否成功。成功后注销退出。
注意标红圈的指示,有以上信息表示操作成功,单点回环SSH登录及注销成功:ssh localhost yes 查看登录成功信息 exit
这里写图片描述
step5:将step4在另外两个节点重复完成。
**step6:**master节点通过ssh免密登录两个slave节点
为了实现这个功能,两个slave结点的公钥文件中必须要包含主结点的公钥信息,这样master就可以顺利安全地访问这两个slave结点。
如下过程显示了node1结点通过scp命令远程登录master结点,并复制master的公钥文件到当前的目录下,这一过程需要密码验证。接着,将master结点的公钥文件追加至authorized_keys文件中
scp zhm@master:~/ .ssh/id_dsa.pub ./master_dsa.pub (注意,前面是node1哦!ps这个命令没看懂
cat master_dsa.pub >> authorized_keys
这里写图片描述
step7 : 将step6在另一个slave节点中重复完成。
**step8:**master通过ssh远程免密码连接slave测试
ssh node1 yes(首次连接需要) exit
这里写图片描述
再执行一遍ssh node1,如果没有yes出现,就表示成功了。
这里写图片描述
step9 : 将step8在另一个slave节点中重复完成。
**step10 : **master自身进行ssh免密登录测试
这里写图片描述
这里写图片描述

4.下载并安装hadoop安装包
目前我使用的版本为hadoop-0.20.2,因为《hadoop权威指南》这本书也是针对这个版本介绍的。
解压后hadoop软件目录在/home/zhm/hadoop下

5.配置namenode,修改site文件
(1)准备工作:安装jdk
下载的版本:jdk1.7.0_09
解压位置:/opt/jdk1.7.0_09
step1:在profile文件(路径:/etc/profile)中添加如下代码:
这里写图片描述
step2:执行如下代码:
这里写图片描述
step3:将step1~step2对另外两个节点重复完成。
(2)修改core-site.xml、hdfs-site.xml、mapred-site.xml这三个文件
site文件是hadoop的配置文件,存放在/hadoop/conf下。
配置如下(因为并没有实际操作,所以不知道他修改了哪些地方,待研究???):
core-site.xml
core-site.xml
hdfs-site.xml
hdfs-site.xml
mapred-site.xml
mapred-site.xml

6.配置hadoop-env.sh文件
根据实际情况配置
这里写图片描述

7.配置masters和slaves文件
之前设置过masters主节点名为master,slaves节点的主机名为node1和node2,所以分别在masters文件和slaves文件中填入:

这里写图片描述

8.向各节点复制hadoop
node1和node2复制hadoop,使node1和node2也安装好hadoop。
zhm@master:~ scpr./hadoopnode1: zhm@master:  scp -r ./hadoop node2:~

9.格式化namenode
主节点上操作,出现“successfully formatted”就表示成功了。
zhm@master:~$ hadoop namenode -format
这里写图片描述

10.启动hadoop
主节点上操作: zhm@master:~$ start -all.sh

11.用ips检验各后台进程是否成功启动
step1:主节点上操作,查看namenode,jobtracker,secondarynamenode进程是否启动: zhm@master:~$ jps
这里写图片描述
step2:node1和node2上操作,查看tasktracker和datanode进程是否启动这里多出来的/hadoop/data和/hadoop/tmp是为什么???
zhm@node1:~**/hadoop/data** jpszhm@node2: /hadoop/tmp jps
这里写图片描述

这里写图片描述

12.通过网站查看集群情况这里的50070和50030是哪里来的???
在浏览器中输入:http://192.168.1.100:50030,网址为master结点所对应的IP:
这里写图片描述

在浏览器中输入:http://192.168.1.100:50070,网址为master结点所对应的IP:
这里写图片描述

至此,hadoop的完全分布式集群安装已经全部完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值