Hadoop学习笔记1-如何简单布署hadoop
企业机型配置:
选型标准:普通的,廉价的,标准的(容易替换的),工业化大规模生产的
CPU:支持多核CPU,如2个4核CPU
内存:16G以上,内存越大,常用数据都缓存在内存,提高速度
硬盘:不需RAID,也不需使用SCSI、SAS、SSD硬盘,只需普通SATA硬盘即可,只要容量足够。
网络:建议千兆网和高带宽交换机,hadoop对各节点服务器的数据通讯量极为重要。Infinband可以不用考虑。
网络拓扑设计:
使用局域网布署,尽量不使用低速率的跨数据中心连接。
hadoop支持机架感知机制。
操作系统选择:
主流操作系统:Linux,只要是最新版即可,例:CentOs, Unbuntu, Redhat等。
window下需要cygwin,但可能出现意料不到的问题。
不区分32/64位数,基于Java环境。
实验布署环境:
伪分布模式:在单机环境下同时启动namenode,datanode,jobtracker,tasktracker, secondary namenode等五个进程,即多个节点都模拟运行在一台机下。
完全分布模式:正常的hadoop集群,由多个各司其职的节点构成。
以CentOs虚拟机为例:
可使用默认分区,CLI界面即可。
需要安装ssh,vi,java最新版。
注意需要将iptables, selinux等防火墙关闭。
配置工作:
- 配置hosts文件:
在各节点的系统内设置好各节点的IP和对应的主机名,文件位置:/etc/hosts。
以此步骤以便各节点能根据主机名称找到该机器以便通讯,防止局域网IP可能某些原因而变化导致找不到相应机器而通讯失败。
此步骤应最先设置好。
- 建立hadoop运行的帐号。
- 配置免密码ssh:
需要生成密钥复制到各节点中,使各节点之间达到ssh的免密码连接。
注意:
- 密钥文件的权限数为644,即rw-r—r—
- 各节点的密钥也要复制一份给自身,达到ssh免密码连接访问自身。
CentOs 6默认安装了ssh,只需确认sshd服务是否自启动即可。ssh需要手动安装:yum install openssh-clients。
免密码方法设置:http://www.cnblogs.com/xiwang6428/p/3451711.html
- 下载解压或安装hadoop安装包。
一般是下载tar.gz压缩包,可解压在用户的家目录下。
- 配置hadoop相关文件:(以1.2版为例,位于hadoop目录/conf/)
文件名 |
格式 |
描述 |
修改配置 |
hadoop-env.sh |
bash脚本 |
运行hadoop所需的环境变量 |
设置export JAVA_HOME=java的安装目录 |
core-site.xml |
xml配置文件 |
配置hadoop核心设置,如HDFS和MadReduce的I/O设置 |
在<configuration>节点间加入: <property> <name>fs.default.name</name> #指定namenode名称节点 <value>hdfs://namenode主机名:9000</value> </property> <property> <name>hadoop.tmp.dir</name> #指定hadoop的临时目录,如果不设定会默认以/tmp为临时目录。该目录会自动清空,所以不要用。 <value>/home/hadoop运行的用户帐号/hadoop/tmp</value> </property> |
hdfs-site.xml |
xml配置文件 |
配置HDFS守护进程:namenode,secondary namenode和datanode。 |
在configuration节点添加: <property> <name>dfs.replication</name> #指定数据复制份数,一般来说有几个数据节点就复制几份 <value>2</value> </property> |
mapred-site.xml |
xml配置文件 |
配置mapreduce进程:jobtracker和tasktracker |
在configuration节点添加: <property> <name>mapred.job.tracker</name> #设定jabtracker的监听地址和端口 <value>namenode主机名:9001</value> </property> |
masters |
文本文件 |
运行主要的次要的namenode的主机名列表(每行一个) |
每行添加一个主机名 |
slaves |
文本文件 |
运行datanode和tasktracker的主机名列表(每行一个) |
每行添加一个主机名 |
- 将配置好的hadoop目录分发复制到各节点的主机内。
因为各机的配置都相同,所以直接复制过去即可。
例:scp –r ./hadoop 目标主机名:/home/用户名
- 格式化分布式文件系统:
在namenode主机的hadoop目录下,执行 bin/hadoop namenode –format
出现一堆信息,如成功有提示:has been successfully formatted.
- 启动守护进程:
在namenode主机的hadoop目录下,执行 bin/start-all.sh
相关的启动信息会记录在各节点主机的 hadoop目录/logs下。
- 检测守护进程启动情况
/usr/java/jdk1.6.0_26/jps #假设此为java安装目录
Hadoop学习笔记1-如何简单布署hadoop的更多相关文章
- hadoop学习笔记之一步一步部署hadoop分布式集群
一.准备工作 同一个局域网中的三台linux虚拟机,我用的是redhat6.4,如果主机是windows操作系统,可以先安装vmware workstation, 然后在workstation中装上3 ...
- Hadoop学习笔记系列
Hadoop学习笔记系列 一.为何要学习Hadoop? 这是一个信息爆炸的时代.经过数十年的积累,很多企业都聚集了大量的数据.这些数据也是企业的核心财富之一,怎样从累积的数据里寻找价值,变废为宝炼 ...
- Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...
- Hadoop学习笔记(9) ——源码初窥
Hadoop学习笔记(9) ——源码初窥 之前我们把Hadoop算是入了门,下载的源码,写了HelloWorld,简要分析了其编程要点,然后也编了个较复杂的示例.接下来其实就有两条路可走了,一条是继续 ...
- Hadoop学习笔记(6) ——重新认识Hadoop
Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功 ...
- Hadoop学习笔记(2)
Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...
- Hadoop学习笔记(5) ——编写HelloWorld(2)
Hadoop学习笔记(5) ——编写HelloWorld(2) 前面我们写了一个Hadoop程序,并让它跑起来了.但想想不对啊,Hadoop不是有两块功能么,DFS和MapReduce.没错,上一节我 ...
- Hadoop学习笔记(2) ——解读Hello World
Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...
- Hadoop学习笔记(1) ——菜鸟入门
Hadoop学习笔记(1) ——菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序. ...
随机推荐
- 2.Redis常用命令
setget 匹配Keykeys *keys na*keys na?e 判断指定的Key是否存在exists key 删除一个或者多个keydel key//删除一个del key1 key2//删除 ...
- Javascript快速入门(上篇)
Javascript的熟练之路,小弟来了. JavaScript简介:JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript ...
- 在SSIS中的不同组件间使用局部临时表
Connetion的属性RetainSameConnection是个boolean值,指定是否保持相同的链接,默认值是false,表示每个component都会单独的使用connection,在com ...
- Reporting Service 没有权限登陆
在配置好Reporting Service之后,登陆Report Mananger( http://localhost/Reports/Pages/Folder.aspx)出现一个异常,本地用户没有权 ...
- 那些年我们一起过的JS闭包,作用域,this,让我们一起划上完美的句号。
之前有写过闭包,作用域,this方面的文章,但现在想想当时写的真是废话太多了,以至于绕来绕去的,让新手反而更难理解了,所以就有了此篇文章,也好和闭包,作用域,this告一段落. 第一个问题:什么是闭包 ...
- javascript类型系统——字符串String类型
× 目录 [1]定义 [2]引号 [3]反斜线[4]特点[5]转字符串 前面的话 javascript没有表示单个字符的字符型,只有字符串String类型,字符型相当于仅包含一个字符的字符串 字符串S ...
- CSS实现垂直居中的4种思路
× 目录 [1]line-height [2]vertical-align [3]absolute [4]flex 前面的话 相对于水平居中,人们对于垂直居中略显为难,大部分原因是vertical-a ...
- 编译原理(简单自动词法分析器LEX)
编译原理(简单自动词法分析器LEX)源程序下载地址: http://files.cnblogs.com/files/hujunzheng/%E6%B1%87%E7%BC%96%E5%8E%9F%E7 ...
- poj1703Find them, Catch them(并查集以及路径压缩)
/* 题目大意:有两个不同的黑帮,开始的时候不清楚每个人是属于哪个的! 执行两个操作 A a, b回答a, b两个人是否在同一帮派,或者不确定 D a, b表示a, b两个人不在同一个帮派 思路:利用 ...
- java中的显示初始化和特定初始化
public class Test{ public static void main(String[] args){ Child child = new Child(); } } class Pare ...