Hadoop入门之安装配置(hadoop-0.20.2)
Hadoop,简单理解为HDFS(分布式存储)+Mapreduce(分布式处理),专为离线和大规模数据分析而设计。
Hadoop可以把很多linux的廉价PC组成分布式结点,然后编程人员也不需要知道分布式算法之类的,只需根据mapreduce的规则定义好的接口方法,剩下的就交给hadoop,它会自动把相关的计算分布到各个结点上去,然后得到结果。
比如,有一个1PB的文件,我们要分析其中的有用的数据,首先我们把1PB的数据文件导入到HDFS中,然后编程人员定义好map和reduce函数,也就是把文件的行定义为key,每行内容定义为value,然后进行匹配,匹配成功把结果通过reduce聚合起来,Hadoop就会把这个程序分别到N个结点去并行操作,缩短时间。
环境软件准备:VMware10、Cent6.5、JDK1.8.0_65、hadoop-0.20.2
我们在VMware10上安装三个Cent6.5OS,三个节点,其中一个为服务器master,另外两个为客户机slave(node)
安装的过程可以借助网上的相关文档:http://wenku.baidu.com/link?url=er-Uo_5unEZGIcyg14wzZydaB5cqaUE-yAQddxCC7rS_rBtBBtsFgtVkVETRWZTsmi46_f7d5MBgPVWvnRdoKPMjuwDLLlpcSwAZRBT10m_
安装好CentOS后,即可在每台机器上安装JDK,安装地址参考:http://jingyan.baidu.com/article/c74d60007b85510f6a595dfa.html
Java JDK安装好之后就可以正式开始安装Hadoop了。
第一步:修改主机名称hostname,修改后可以重启CentOS
[root@wy ~]$ vi /ect/sysconfig/network
修改其中的HostName=master,修改后可以重启一下CentOS,以让其生效。
其余两个节点也类似方式,分别将HostName修改为node2、node3
第二步:在三个节点上都配置hosts文件,确定每台CentOS的IP和主机名对应上
[root@master ~]$ ifconfig
查看各个节点的IP地址,然后在hosts文件中输入IP+主机名
[root@master ~]$ vi /etc/hosts
在打开的hosts文件中,输入i,即可编辑文件,输入以下内容后,按ESC,后输入:wq后即可保存退出。
192.168.1.188 master
192.168.1.189 node2
192.168.1.190 node3
第三步:创建hadoop群组和hadoop用户(三个节点都要做如下配置)
[root@master ~]$ groupadd hadoop --创建hadoop组
[root@master ~]$ useradd hadoop -g hadoop --为hadoop组中添加一个用户,用户名为hadoop
[root@master ~]$ passwd hadoop --为hadoop用户指定密码
这样即可完成组和用户的创建,在创建完后,即可开始进行下面的操作了。
第四步:配置ssh免密码连入(三个节点都要做如下配置)
系统默认是root用户登录的,所以首先是要切换到hadoop用户,以及导航到根目录。然后利用命令生成公钥和私钥,生成位置在.ssh目录下,生成后导航到.ssh目录下,利用ls命令即可查看生成出来的文件,最后将公钥文件中的内容复制成authorized_keys文件,具体涉及命令如下:
[root@master ~]$ su hadoop
[hadoop@master ~]$ cd ~
[hadoop@master ~]$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
[hadoop@master ~]$ cd .ssh/
[hadoop@master ~]$ cat id_dsa.pub >> authorized_keys

将公钥复制到authorized_keys文件之后一定要修改权限,否则无法进行下一步操作,就像上图中红色框中的内容.
修改.ssh文件夹以及authorized_keys文件的权限
[hadoop@master ~]$ chmod 700 ~/.ssh
[hadoop@master ~]$ chmod 600 ~/.ssh/authorized_keys
完成以上操作后,可以对各个节点进行自检测
[hadoop@master ~]$ ssh localhost --第一次连接需要输入yes
[hadoop@master ~]$ ssh localhost --第一次连接可直接连接,即表示配置成功
下面开始配置主节点master可以通过ssh免密码登录两个子节点(node2、node3),在未做以下操作前,如果你在命令行输入ssh node2,是需要输入密码的.
为了实现这个功能,两个node节点的公钥文件中必须要包含主节点的公钥信息,这样master就可以顺利安全访问两个node。
首先在node3上做如下操作:(node2和master上也需要做以下操作)

这时候,在master中用ssh连接node2就不需要输入密码了,即表示配置成功。
第五步:下载安装hadoop
将下载的hadoop文件放在/home/hadoop用户的根目录下,接着开始解压
[hadoop@master ~]$ tar xzvf /root/hadoop-0.20.2.tar.gz
解压后文件会是/home/hadoop/hadoop-0.20.2,此时为了以后操作方便,修改了文件的名称,将hadoop-0.20.0修改为hadoop(这步操作其实完全可以不需要做)。
解压后需要在/etc/porfile文件中配置hadoop的环境变量
[hadoop@master ~]$ vi /etc/profile
export HADOOP_INSTALL=/home/hadoop/hadoop --第一个hadoop是用户名,第二个是刚才修改的文件名称
export PATH=$PATH:$HADOOP_INSTALL/bin
接着,就可以修改hadoop的配置文件了,分别是core.site.xml、hdfs-site.xml、mapred-site.xml、hadoop-env.sh、masters、slaves文件(在mater主节点中配置)
core.site.xml
<configuration>
<property>
<!-- 用于设置Hadoop的文件系统,由URI指定 -->
<name>fs.default.name</name>
<value>hdfs://mater:9000</value>
</property>
<property>
<!-- 配置Hadoop的临时目录,默认在/tmp目录下,但是/tmp上面可能会被系统自动清理掉。-->
<name>hadoop.tmp.dir</name>
<!-- 目录如果不存在,需要手动创建 -->
<value>/home/hadoop/hadoop/tmp</value>
<description>A base for other temperary directory</description>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/hadoop/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/hadoop/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<!-- 主节点IP-->
<value>192.168.1.188:9001</value>
</property>
</configuration>
hadoop-env.sh
<!--在该文件中去掉export JAVA_HOME前面的#,然后根据自己的JDK路径实际配置-->
export JAVA_HOME=/usr/java/jdk1.8.0_65
masters
master
slaves
node2
node3
在主节点中完成以上配置后,就可以将hadoop复制到node2、node3节点中,这样子节点也就安装好hadoop。
[hadoop@master ~]$ scp -r ./hadoop node2:~
[hadoop@master ~]$ scp -r ./hadoop node3:~
第六步:关闭防火墙,启动hadoop
在启动hadoop之前要先关闭防火墙,否则会失败。

关闭完防火墙,在启动hadoop之前,要再做一部格式化主节点master上的namenode(只需要在主节点上操作,子节点中对应只有datanode)

格式化中出现上图标示的successfully formatted 后即可启动hadoop。

启动后,可用JPS命令查看各个节点的各个进程是否启动成功。(在三个节点都做以下操作)

在node2、node3用JPS输入后显示的是:
Jps
DataNode
TaskTracker
这样,安装和配置环节终于完成,最后通过web方式验证hadoop是否安装成功。
在主节点的centos中打开浏览器,默认是火狐,在url地址栏分别输入以下两个命令
http://192.168.1.188:50030/jobtracker.jsp
http://192.168.1.188:50070
分别出现以下页面,即表示安装成功:
http://192.168.1.188:50030/jobtracker.jsp

http://192.168.1.188:50070

Hadoop入门之安装配置(hadoop-0.20.2)的更多相关文章
- hadoop入门手册1:hadoop【2.7.1】【多节点】集群配置【必知配置知识1】
问题导读 1.说说你对集群配置的认识?2.集群配置的配置项你了解多少?3.下面内容让你对集群的配置有了什么新的认识? 目的 目的1:这个文档描述了如何安装配置hadoop集群,从几个节点到上千节点.为 ...
- Hadoop集群安装配置
一.准备工作 1.首先准备好七台虚拟机,并确保都已经安装配置好jdk. 2.Hadoop3.2.0+jdk1.8自行到官网下载 3.修改好相称的主机名,并在hosts文件中相互添加. ######注意 ...
- 集群安装配置Hadoop具体图解
集群安装配置Hadoop 集群节点:node4.node5.node6.node7.node8. 详细架构: node4 Namenode,secondnamenode,jobtracker node ...
- Linux中安装配置hadoop集群
一. 简介 参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功.下面就把详细的安装步骤叙述一下.我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择 ...
- hadoop入门手册2:hadoop【2.7.1】【多节点】集群配置【必知配置知识2】
问题导读 1.如何实现检测NodeManagers健康?2.配置ssh互信的作用是什么?3.启动.停止hdfs有哪些方式? 上篇: hadoop[2.7.1][多节点]集群配置[必知配置知识1]htt ...
- 虚拟机Ubuntu(18.04.2)下安装配置Hadoop(2.9.2)(伪分布式+Java8)
[本文结构] [1]安装Hadoop前的准备工作 [1.1] 创建新用户 [1.2] 更新APT [1.3] 安装SSH [1.4] 安装Java环境 [2]安装和配置hadoop [2.1] Had ...
- hadoop入门手册5:Hadoop【2.7.1】初级入门之命令:文件系统shell2
问题导读 1.改变hdfs文件的权限,需要修改哪个配置文件?2.获取一个文件的或则目录的权限,哪个命令可以实现?3.哪个命令可以实现设置访问控制列表(ACL)的文件和目录? 接上篇:Hadoop[2. ...
- hadoop入门手册4:Hadoop【2.7.1】初级入门之命令:文件系统shell1
问题导读1.Hadoop文件系统shell与Linux shell有哪些相似之处?2.如何改变文件所属组?3.如何改变hdfs的文件权限?4.如何查找hdfs文件,并且不区分大小写? 概述文件系统 ( ...
- hadoop入门手册3:Hadoop【2.7.1】初级入门之命令指南
问题导读1.hadoop daemonlog管理员命令的作用是什么?2.hadoop如何运行一个类,如何运行一个jar包?3.hadoop archive的作用是什么? 概述 hadoop命令被bin ...
随机推荐
- mxnet安装
本来不想写这些玩意,但是老是纠缠安装环境,索性自己记一下. 我是在别人的基础上增加的,所以比较全. 裸机开始安装: 1.基本依赖的安装 sudo apt-get update sudo apt-get ...
- php sleep()的实时输出打印,清除ob缓冲区
@ini_set('implicit_flush',1);ob_implicit_flush(1);@ob_end_clean(); echo 1;//echo str_repeat('', 1024 ...
- 使用hex6x 进行十六进制转换
接触DSP两年多,虽然烧写Flash的操作都没问题,但是要是问起来为什么这么做的,就有点自惭形秽了.所以花些时间,查阅一下资料,整理一下. 1.先看看BurnFlash都需要什么东西. XXX.out ...
- unity3d游戏开发git环境配置
http://dmayance.com/git-and-unity-projects/ 主要是将2进制的项目文件设置成文本模式,这样便于比较修改. 部署了一个gitignore,忽略了不需要同步的项目 ...
- BZOJ1801:[Ahoi2009]chess 中国象棋
Time Limit: 10 Sec Memory Limit: 64 MB Description 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置 ...
- 三表联查,这是我目前写过的最长的sql语句,嗯嗯,果然遇到问题才能让我更快成长,更复杂的语句也有了一些心得了
select sum(amount),sum(card_number) from sy_user inner join sy_admin on sy_user.customer_id=sy_admin ...
- JCCLIENT IP GET UDP
##通道##110.52.233.5:18427## ##通道##112.95.251.214:18427## ##通道##119.29.192.206:18427## ##通道##123.207.1 ...
- Direct3D学习笔记 - 浅析HDR Lighting Sample
一.HDR简介 HDR(High Dynamic Range,高动态范围)是一种图像后处理技术,是一种表达超过了显示器所能表现的亮度范围的图像映射技术.高动态范围技术能够很好地再现现实生活中丰富的亮度 ...
- MVC 微信扫码支付
微信扫码支付有两种模式, 模式一和模式二, 两者具体的区别可参考官网文档:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_4 微 ...
- 第四十三章 微服务CICD(5)- gitlab + jenkins + docker + dockerregsitry
一.总体流程 部署: 开发机(mac) ip:11.11.11.11 docker:1.12.1 部署机(centos7) ip:10.211.55.4 docker:1.12.3 生产机(cento ...