Hadoop完全分布式集群安装

转载请注明原地址,谢谢!

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

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

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

先行条件:

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

让我们开始把!

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

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

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

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

192.168.217.130 master

192.168.217.201 slave1

192.168.217.202 slave2

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

根据不同的主机,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

添加这句话是为了让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 [email protected]:~/.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,那就算配置完成了。

接下来,下载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

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

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

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

http://114.215.84.38/doc/Hadoopconf.rar

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

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

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

保存后,输入

source /etc/profile

使profile立刻生效。

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

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

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

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

hadoop namenode -format

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

三台机器应该都是只有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并启动了,直接就崩了好吧!!遇到这种情况怎么办,其实是有办法的。

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

转自:http://www.cnblogs.com/qjkobe/p/5330159.html

时间: 2024-08-03 00:56:06

Hadoop完全分布式集群安装的相关文章

Hadoop之——分布式集群安装过程简化版

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46352315 1.hadoop的分布式安装过程 1.1 分布结构 主节点(1个,是hadoop0):NameNode.JobTracker.SecondaryNameNode 从节点(2个,是hadoop1.hadoop2):DataNode.TaskTracker 1.2 各节点重新产生ssh加密文件 ssh-keygen -t rsa    一路回车 进入/root/.ssh

Hadoop之——分布式集群安装过程

转载请注明出处http://blog.csdn.net/l1028386804/article/details/46316051 集群的概念 计算机集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作. 集群系统中的单个计算机通常称为节点,通常通过局域网连接. 集群技术的特点: 1.通过多台计算机完成同一个工作.达到更高的效率 2.两机或多机内容.工作过程等完全一样.如果一台死机,另一台可以起作用 集群模式安装步骤       (在伪分布模式下继续)

(转)ZooKeeper伪分布式集群安装及使用

转自:http://blog.fens.me/hadoop-zookeeper-intro/ 前言 ZooKeeper是Hadoop家族的一款高性能的分布式协作的产品.在单机中,系统协作大都是进程级的操作.分布式系统中,服务协作都是跨服务器才能完成的.在ZooKeeper之前,我们对于协作服务大都使用消息中间件,随着分布式系统的普及,用消息中间件完成协作,会有大量的程序开发.ZooKeeper直接面向于分布式系统,可以减少我们自己的开发,帮助我们更好完成分布式系统的数据管理问题. 目录 zook

ubuntu12.04+kafka2.9.2+zookeeper3.4.5的分布式集群安装和demo(java api)测试

博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1&do=blog&id=547 转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作! --------------------------------------- 目录: 一.什么是kafka? 二.kafka的官方网站在哪里? 三.在哪里下载?需要哪些组件的支持? 四.如何安装? 五.FAQ 六.扩展阅读 一.什么是kafka? ka

kafka2.9.2的分布式集群安装和demo(java api)测试

目录: 一.什么是kafka? 二.kafka的官方网站在哪里? 三.在哪里下载?需要哪些组件的支持? 四.如何安装? 五.FAQ 六.扩展阅读   一.什么是kafka? kafka是LinkedIn开发并开源的一个分布式MQ系统,现在是Apache的一个孵化项目.在它的主页描述kafka为一个高吞吐量的分布式(能将消息分散到不同的节点上)MQ.Kafka仅仅由7000行Scala编写,据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB). kafka目

ZooKeeper伪分布式集群安装及使用

前言 ZooKeeper是Hadoop家族的一款高性能的分布式协作的产品.在单机中,系统协作大都是进程级的操作.分布式系统中,服务协作都是跨服务器才能完成的.在ZooKeeper之前,我们对于协作服务大都使用消息中间件,随着分布式系统的普及,用消息中间件完成协作,会有大量的程序开发.ZooKeeper直接面向于分布式系统,可以减少我们自己的开发,帮助我们更好完成分布式系统的数据管理问题. 目录 zookeeper介绍 zookeeper单节点安装 zookeeper伪分布式集群安装 zookee

Hadoop伪分布式集群搭建总结

Hadoop伪分布式集群搭建总结 一.所需软件VMware15!CentOS6.5JDK1.8Hadoop2.7.3二.安装注意:对文件进行编辑:输入a,表示对该文件进行编辑,最后保存该文件,操作为:点击键盘上的Esc按钮,然后输入英文的:字符,再输入wq,点击回车,完成文件的保存.1.关闭防火墙和禁用SELINUX(1).永久关闭防火墙,重启Linux系统(2) .禁用SELINUX:修改文件参数 重启Linux使其生效(3).检查防火墙是否运行,显示下图即为关闭2.配置hostname与IP

Hadoop完全分布式集群搭建

Hadoop的运行模式 Hadoop一般有三种运行模式,分别是: 单机模式(Standalone Mode),默认情况下,Hadoop即处于该模式,使用本地文件系统,而不是分布式文件系统.,用于开发和调试. 伪分布式模式(Pseudo Distrubuted Mode),使用的是分布式文件系统,守护进程运行在本机机器,模拟一个小规模的集群,在一台主机模拟多主机,适合模拟集群学习. 完全分布式集群模式(Full Distributed Mode),Hadoop的守护进程运行在由多台主机搭建的集群上

CentOS7+Hadoop2.7.2(HA高可用+Federation联邦)+Hive1.2.1+Spark2.1.0 完全分布式集群安装

1       VM网络配置... 3 2       CentOS配置... 5 2.1             下载地址... 5 2.2             激活网卡... 5 2.3             SecureCRT. 5 2.4             修改主机名... 6 2.5             yum代理上网... 7 2.6             安装ifconfig. 8 2.7             wget安装与代理... 8 2.8