阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubantu 14.04下Hadoop完全分布式集群安装

185次阅读
没有评论

共计 4074 个字符,预计需要花费 11 分钟才能阅读完成。

本文目的是教大家配置 Hadoop 的完全分布式的集群,除了完全分布式还有两种分别是单节点和伪分布式部署。伪分布式只需要一台虚拟机,配置的东西也相对较少,大多用作代码调试,大家稍微查阅资料,或者对我的配置进行一些删减,就可以实现伪分布式,所以我这里还是使用完全分布式,开了三台虚拟机,都只分配了 1G,1 核的默认内存,跑得无压力,所以你的笔记本大概需要 4G+ 的内存,就可以完成这个实验。

基于 Hadoop 2.x 版本和 1.x 版本的巨大差异,而我更熟悉 1.x 版本,所以本次使用的 Hadoop 版本是 1.2.1,至于 2 的操作和配置,你熟悉了 1 以后一定是手到擒来,再者网上大多资料以及书籍都是基于 1.x 的,这样,即使你遇到了问题,也会更好解决。

至于 Hadoop 下载地址网上多的是,官网也有,大家可以自行获取,我用的 Linux 版本是 Ubantu 14.04,为什么选这个系统呢?因为我用得顺手。如果大家使用 CentOS,有些指令可能略有不同,不过这应该难不倒你,百度谷歌就能告诉你答案。

先行条件:

安装 Hadoop 之前,有两个先行条件,一个是 JAVA 环境的安装,因为 Hadoop 是基于 java 开发的,具体过程我后面会讲;另一个是实现 SSH 互通,这个大家上课做过实验,但是 Ubantu 的设置和 Centos 有所不同!!所以我也会写在下面。

让我们开始把!

注意:1. 本实验全程不要使用 sudo su 操作,那样非常不专业,容易导致很多安全问题的发生。

2. 合理使用 tab 键让你 linux 操作更加顺手。

为了统一,大家点击虚拟机的编辑,选择虚拟网络编辑器。如下配置:

Ubantu 14.04 下 Hadoop 完全分布式集群安装

Ubantu 14.04 下 Hadoop 完全分布式集群安装

打开终端,第一步是修改 hosts 文件,输入:sudo vim /etc/hosts,加上以下三行:

192.168.217.130 master                                                         

192.168.217.201 slave1

192.168.217.202 slave2

Ubantu 14.04 下 Hadoop 完全分布式集群安装

然后要修改 ip 地址,根据上面所填写的三个内容,ip 地址的设置也是不一样的。这里,要注意,Ubantu 不要在终端下修改 ip 地址,不然后果很严重,不吹不黑,大家就用他自带图形界面来修改就好,方便又直观。

Ubantu 14.04 下 Hadoop 完全分布式集群安装

Ubantu 14.04 下 Hadoop 完全分布式集群安装

根据不同的主机,address 不同,其他的一样。

然后要建立一个 hadoop 账户,输入如下指令:

sudo addgroup hadoop

sudo adduser –ingroup hadoop hadoop(前一个 hadoop 为组名,后面才是用户名,用户名可以自己取,我方便起见写了 hadoop,不过我自己的虚拟机不是这样,所以看截图的时候不要太过于纠结。后面会让你输入一个密码,是你登录这个用户时的密码,键入之后,出现任何提示都直接回车表示默认)

sudo gedit /etc/sudoers(不要使用 vim,因为那样子打开文件是只读的,除非你进入 root,修改后,再把权限改为只读,一定要改回只读。但是这个好麻烦,没有 gedit 直接根据提示 apt-get 即可,)

在 root   ALL=(ALL:ALL)  ALL 下面,加上 hadoop  ALL=(ALL:ALL)  ALL

Ubantu 14.04 下 Hadoop 完全分布式集群安装

添加这句话是为了让 hadoop 用户也能使用 sudo。

输入 su hadoop 即可登入该用户

注:三个虚拟机都需要进行上面的操作。(可以先做一份,然后克隆两份,再进行修改,记得登录 hadoop 用户,接下来的配置都在这个用户下进行配置)

接下来,需要进行 ssh 无密码互连的操作。

输入 sudo apt-get install ssh 来获取 ssh。

输入 ls -a /home/u(u 为你的当前用户,即 hadoop)

里面应该可以看到一个.ssh 的隐藏文件夹,如果没有可以手动创建,接下来输入命令:

ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa(这里就不详细解释每个参数的作用了,~ 代表当前用户文件夹,此处是 /home/hadoop)

这个命令会在.ssh 文件夹下创建两个文件 id_dsa 及 id_dsa.pub, 相当于现实中的锁和钥匙,把后者追加到授权的 key 中去,输入:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys.

这样就可以实现无密码 ssh 自登陆,可以试试命令:ssh localhost

exit 退出登录

为了实现 master 与 slave 之间互相都能免密码 ssh 登录,这里需要把 id_dsa.pub 发送到每一个主机的 authorized_keys 中,先把 id_dsa.pub 文件通过 scp 命令传输过去。

这里推荐大家进入 slave1 和 slave2,把他们的 id_dsa.pub 发送到 master 上,然后再添加到 master 的 authorized_keys 中,再把 master 中的 authorized_keys 传到 slave1 和 slave2 中即可。

scp ~/.ssh/id_dsa.pub u@master:~/.ssh/id_dsa.pub.slave1(u 处填你 master 的用户,即 hadoop,slave1 用来区别不同主机的公钥)。

然后,输入,cat ~/.ssh/id_dsa.pub.slave1 >> ~/.ssh/authorized_keys

当 slave1 和 slave2 的公钥都传入后,再键入:

scp ~/.ssh/authorized_keys slave1:~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys slave2:~/.ssh/authorized_keys

此时,若在 master 输入 ssh slave1 可以连接到 slave1,那就算配置完成了。

Ubantu 14.04 下 Hadoop 完全分布式集群安装

接下来,下载 hadoop。输入

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz

文件会下载在当前目录,为了方便配置,换到另一个位置

mv hadoop-1.2.1.tar.gz /opt

cd /opt

tar -zxvf hadoop-1.2.1.tar.gz

解压完成后,会生成一个 hadoop-1.2.1 的文件夹。

我们进入,该文件夹。

cd hadoop-1.2.1

ls

Ubantu 14.04 下 Hadoop 完全分布式集群安装

我们要进入其中的 conf 文件夹进行配置。

我们需要配置如下参数,其余的保持默认即可。

Ubantu 14.04 下 Hadoop 完全分布式集群安装

其中每个文件的配置请大家登录我的个人主页进行下载:

http://114.215.84.38/doc/Hadoopconf.rar

然后,我们还需要配置一下 JDK,前面一直忘记说了。汗,不过 JDK 的配置过程十分简单,先去 Oracle 官网获取 JDK1.6 以上的版本。下载下来后解压,解压命令上面写过,记住解压的位置。

然后,配置 profile。输入:vim /etc/profile

Ubantu 14.04 下 Hadoop 完全分布式集群安装

箭头位置分别填入你 jdk 解压后的文件夹路径和 Hadoop 的文件夹路径。

保存后,输入

source /etc/profile

使 profile 立刻生效。

接下来,输入 hadoop 回车,应该可以看见相应的指令提示。

我们要注意,hadoop 的运行脚本是放在 hadoop 的 bin 文件夹下的,我们进入那个文件夹

Ubantu 14.04 下 Hadoop 完全分布式集群安装

其中的 start-all.sh 和 stop-all.sh 是最重要的两个脚本,是用来启动和关闭我们的 hadoop 的,这个操作请在 master 上运行,否则后果很严重。

运行这个指令之前,要先初始化 namenode

hadoop namenode -format

然后就可以准备运行了,在这之前,让我们输入一下 jps 来查看有什么 java 进程正在运行。

Ubantu 14.04 下 Hadoop 完全分布式集群安装

三台机器应该都是只有 jps 一个进程,现在让我们在 master 上输入

start-all.sh

然后再输入 jps

master 的结果应该是:

NameNode

SecondaryNameNode

JobTracker

jps

两个 slave 的结果应该是:

DataNode

TaskTracker

jps

这样就算安装完成了,可以试试

hadoop fs -ls 来查看集群上的文件。

也可以打开浏览器,输入 master:50030 和 master:50070 来查看状态

PS:

为什么最后面的内容没有截图呢!因为我操作的时候,不小心 ssh 了 slave1,然后在这个状况下格式化了 namenode 并启动了,直接就崩了好吧!!遇到这种情况怎么办,其实是有办法的。

Ubantu 14.04 下 Hadoop 完全分布式集群安装

把这四个文件夹全部删除,然后再重新创建就好了。唉,不说了,面壁了。

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 安装和配置 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-04/130722.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4074字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中