hadoop安装详解
1.hadoop简介
Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。
对于Hadoop的集群来讲,可以分成两大类角色:Master和Salve。一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件系统的访问操作;集群中的DataNode管理存储的数据。MapReduce框架是由一个单独运行在主节点上的JobTracker和运行在每个集群从节点的TaskTracker共同组成的。主节点负责调度构成一个作业的所有任务,这些任务分布在不同的从节点上。主节点监控它们的执行情况,并且重新执行之前的失败任务;从节点仅负责由主节点指派的任务。当一个Job被提交时,JobTracker接收到提交作业和配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控TaskTracker的执行。
从上面的介绍可以看出,HDFS和MapReduce共同组成了Hadoop分布式系统体系结构的核心。HDFS在集群上实现分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理。HDFS在MapReduce任务处理过程中提供了文件操作和存储等支持,MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成了Hadoop分布式集群的主要任务。
1.2.环境说明
192.168.253.139 master.hadoop
192.168.253.140 slave.hadoop
两个节点均是centos系统,并且有一个相同的用户hadoop,master机器主要配置namenode和jobtracker的角色,负责总管分布式数据和分解任务的执行,1个slave机器配置datanode和tasktracker的角色,负责分布式数据存储以及任务的执行。还应该有对master做高可用。
1.3 网络配置
可以配置其master主机名名字为master.hadoop,ip为192.168.253.139
配置slave服务器的名字为slave.hadoop,ip为192.168.253.140.(为防止两个服务器连接问题,暂时关闭防火墙 service iptables stop)
1.4下载所需要的软件(见附件)
2.ssh无密码验证设置
hadoop运行过程中需要管理远端hadoop守护程序,在hadoop启动以后,namenode是通过ssh来启动和停止各个datanode的各种守护进程,这就必须在节点之间执行指令的时候是不需要输入密码的形式,故我们需要配置SSH运用无密码公钥认证的形式,这样NameNode使用SSH无密码登录并启动DataName进程,同样原理,DataNode上也能使用SSH无密码登录到NameNode。
2.1 安装和启动ssh协议,实现两个服务器的双机互信
|
1
2
3
4
5
6
|
192.168.253.139[root@master ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''[root@master ~]# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.253.140 192.168.253.140[root@slave ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''[root@slave ~]# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.253.139 |
在192.168.253.139主机上测试,可以实现无密码登录192.168.253.140,同样的方法测试slave服务器
3.java环境安装
所有的机器都要安装JDK,现在现在master服务器上安装,然后其他服务器按照步骤重复进行即可,安装jdk配置环境变量,需要以root身份进行,
3.1安装JDK
使JDK获得可执行权限,并进行如下步骤,进行安装(下载JDK文件到/usr/src)
|
1
2
3
|
[root@master ~]# cd /usr/src[root@master ~]# chmod +x jdk-6u31-linux-x64-rpm.bin[root@master ~]# ./jdk-6u31-linux-x64-rpm.bin |
3.2添加java环境变量
在"/etc/profile"加入如下行
|
1
2
3
|
export JAVA_HOME=/usr/java/jdk1.6.0_31export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin |
使定义生效
source /etc/profile
3.3 验证安装成功
配置完毕并且生效后,通过下面命令判断是否成功

3.4 使用此种方法安装剩余的slave机器,
4.hadoop集群安装
所有的机器都要安装hadoop,先从master服务器安装,
4.1 安装hadoop
|
1
2
3
4
5
6
7
8
|
[root@master ~]# useradd hadoop[root@master ~]# passwd hadoop hadoop[root@master ~]# cd /usr/src/[root@master src]# tar xf hadoop-1.0.0.tar.gz[root@master src]# mv hadoop-1.0.0 hadoop[root@master src]#mv hadoop /usr/[root@master usr]# chown -R hadoop:hadoop hadoop |
建立hadoop环境变量
vim /etc/profile
|
1
2
|
export HADOOP_HOME=/usr/hadoopexport PATH=$PATH:$HADOOP_HOME/bin |
使环境变量生效
source /etc/profile
4.2配置hadoop
hadoop配置文件位于/usr/hadoop/conf
1.配置hadoop-env.sh文件,在末尾添加如下两行
|
1
2
|
# set java environmentexport JAVA_HOME=/usr/java/jdk1.6.0_31 |
Hadoop配置文件在conf目录下,之前的版本的配置文件主要是Hadoop-default.xml和Hadoop-site.xml。由于Hadoop发展迅速,代码量急剧增加,代码开发分为了core,hdfs和map/reduce三部分,配置文件也被分成了三个core-site.xml、hdfs-site.xml、mapred-site.xml。core-site.xml和hdfs-site.xml是站在HDFS角度上配置文件;core-site.xml和mapred-site.xml是站在MapReduce角度上配置文件。
配置core-site.xml文件,这里配置的是HDFS的地址和端口号

如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错。
配置hdfs-site.xml文件,HDFS的配置,配置的备份方式默认为3

replication是数据副本数量,默认为3,slave少于三台会报错,此例是1
配置mapred-site.xml文件,配置的JobTracker的地址和端口

配置master文件
去掉localhost,加入192.168.253.139(master服务器)的ip地址
配置slave文件
去掉localhost,加入192.168.253.140(slave服务器)的ip地址
4.3启动及验证
格式化HDFS文件系统
在格式化文件系统时,使用普通用户进行操作
hadoop namenode -format
使用下面命令启动
/usr/hadoop/bin/start-all.sh
可以通过以下启动日志看出,首先启动namenode 接着启动datanode1,datanode2,…,然后启动secondarynamenode。再启动jobtracker,然后启动tasktracker1,tasktracker2,…。
启动 hadoop成功后,在 Master 中的 tmp 文件夹中生成了 dfs 文件夹,在Slave 中的 tmp 文件夹中均生成了 dfs 文件夹和 mapred 文件夹。


参考文章:http://developer.51cto.com/art/201206/344046_1.htm
hadoop安装详解的更多相关文章
- Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作
一.前言 目前Hadoop发行版非常多,所有这些发行版均是基于Apache Hadoop衍生出来的,之所以有这么多的版本,完全是由Apache Hadoop的开源协议决定的:任何人可以对其进行修改,并 ...
- Hadoop 发行版本 Hortonworks 安装详解(二) 安装Ambari
一.通过yum安装ambari-server 由于上一步我们搭建了本地源,实际上yum是通过本地源安装的ambari-server,虽然也可以直接通过官方源在线安装,不过体积巨大比较费时. 这里我选择 ...
- hadoop 0.20.2伪分布式安装详解
adoop 0.20.2伪分布式安装详解 hadoop有三种运行模式: 伪分布式不需要安装虚拟机,在同一台机器上同时启动5个进程,模拟分布式. 完全分布式至少有3个节点,其中一个做master,运行名 ...
- Phoenix和SQuirrel安装详解
Phoenix安装详解 描述 现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等.今天的主角是Phoenix. phoenix,中文译为“凤凰” ...
- Python API 操作Hadoop hdfs详解
1:安装 由于是windows环境(linux其实也一样),只要有pip或者setup_install安装起来都是很方便的 >pip install hdfs 2:Client——创建集群连接 ...
- Hadoop Pipeline详解[摘抄]
最近使用公司内部的一个框架写map reduce发现没有封装hadoop streaming这些东西,查了下pipeline相关的东西 Hadoop Pipeline详解 20. Aug / had ...
- Linux ssh登录和软件安装详解
阿哲Style Linux第一天 ssh登录和软件安装详解 Linux学习第一天 操作环境: Ubuntu 16.04 Win10系统,使用putty_V0.63 本身学习Linux就是想在服务器 ...
- 【转】Linux下Android ADB驱动安装详解
原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比 ...
- scribefire 多博客管理利器 安装详解
scribefire 多博客管理利器 安装详解 一.ScribeFire介绍 ScribeFire 是 Firefox (火狐浏览器)上著名的博客写作工具,目前已跨平台支持多浏览器(Firefox,C ...
随机推荐
- bzoj3211,bzoj3038
线段树的裸题: 但是操作很奇怪,开方是不能lazy tag的 看来只能暴力修改了 但注意,开放开到1的时候就不用开,立一个flag就可以了 这可以大大的优化: 其实我是来复习线段树的 ..] of i ...
- vijos p1071新年趣事之打牌
描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道:“这副牌少了几张!”众人一数,果然是少了.于是 ...
- POJ 2391 Ombrophobic Bovines ★(Floyd+二分+拆点+最大流)
[题意]有n块草地,一些奶牛在草地上吃草,草地间有m条路,一些草地上有避雨点,每个避雨点能容纳的奶牛是有限的,给出通过每条路的时间,问最少需要多少时间能让所有奶牛进入一个避雨点. 和POJ2112很类 ...
- JXL解析Excel表格内容到数据库
java中常用的解析Excel表格的工具一种是POI一种是JXL,POI功能强大,相比JXL稍嫌复杂,对表格样式的处理非常好:而JXL解析简单方便,对中文支持比较好. 工作中解析Excel内容上传到数 ...
- 【转】Android异步消息处理机制完全解析,带你从源码的角度彻底理解
原文网址:http://blog.csdn.net/guolin_blog/article/details/9991569 转载请注明出处:http://blog.csdn.net/guolin_bl ...
- 在ASP.NET中各种跳转控制
在ASP.NET中各种跳转控制 分类: 我的资料2012-03-16 15:01 76人阅读 评论(0) 收藏 举报 asp.netjavascripturlmenu Respose.Write(&q ...
- ListView属性
1. 背景色: listView设置背景色android:background="@drawable/bg",拖动或者点击list空白位置的时候发现ListItem都变成黑色. 因 ...
- 明修栈道,暗渡陈仓----之私募一哥徐翔新玩法 z
前言:去年以来,因徐翔和宁电突然举牌资质平平的 000692 惠天热电,引起本人的兴趣,陆陆续续花了比较多的时间和精力去研究和跟踪000692惠天热电,期间也两次亲自去沈阳调研,从一些台前幕后人士那里 ...
- delphi通过OLE对word进行单元格合并操作
uses comobj, word2000procedure TForm1.Button2Click(Sender: TObject);var WordApp, WordDoc,table: OleV ...
- Git 基础 - Git Aliases
$ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global ...