前言
Hadoop从存储上来说,是相似于冗余磁盘阵列(RAID)的存储方式。将数据分散存储并提供以提供吞吐量,它的存储系统就是HDFS(Hadoop Distuibute Fils System)。从计算上来说,它通过MapReduce模型,将大数据的计算分发到多台计算机上完毕,再将结果合并,降低计算的时间。
Hadoop适合于:
1、超大数据的计算。
2、一次写入、多次读取的模式;
3、能够跑在普通的硬件上。
Hadoop不适合:
1、低延迟的数据訪问。它是为高数据吞吐量应用优化的;
2、大量的小文件
Hadoopclient须要和namenode进行交互,而namenode中存放的是datanode的文件属性,且都是在内存中,假设小文件过多。namenode是存放不了的;
3、多用户写入,随意改动文件。
Hadoop适合于一次计算,多次读取的场景,如搜索引擎,仅仅支持随机读取不支持随机写入,如Hadoop和Lucene的集成就不能够直接集成,由于Lucene支持随机写入。
本文将从使用的角度上谈了怎样搭建Hadoop、怎样配置Hadoop、怎样验证Hadoop及在Hadoop上面运行计算。以及可能会遇到些什么样的问题。
一、Hadoop环境搭建
由于Hadoop须要在Linux运行。而且Hadoop是基于Java的,在继续进行以下的步骤之前,请确认你已经准备好Linux操作系统以及Java 6或以上版本号,而且已经正确的设置了JAVA_HOME。
1、下载Hadoop
搭建Hadpp的版本号为1.2.1 下载地址为:)、确定系统是否安装了ssh和ssh-keygey
能够通过which命令来确认
which ssh which ssh-keygen |
假设出现
/usr/bin/which: no ssh in (/usr/.....)则表示系统里面没有安装SSH服务。能够通过www.openssh.com下载安装
(2)、公布公钥证书
运行例如以下命令:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa |
在~/.ssh/ 文件夹会生成id_rsa和id_rsa.pub两个文件。将id_rsa.pub复制一份在~/.ssh/文件夹下,并重命名为authorized_keys,假设是单机搭建伪分布式。此时ssh的准备工作已经完毕了,假设使用全分布式环境,那么须要将authorized_keys(或authorized_keys中的内容追加到须要无password登陆的server的~/.ssh/authorized_keys文件里)及id_rsa(或id_rsa中的内容追加到须要无password登陆的server的~/.ssh/id_rsa文件里)两个文件复制到各台分布式slave机器的“~/.ssh文件夹中”中,这样随意两台机器之间互相通过ssh訪问。都不须要输入password了。假设仅仅是复制到authorized_keys到slave机器中,就仅仅能够实现主到从的不输password訪问。
注:假设须要远程登陆的server上还没有.ssh文件夹。那么就在登陆用户的文件夹下新建.ssh文件夹,权限至少设置成744。假设.ssh文件夹下没有authorized_keys文件。也新建该文件。并将其权限设置为644。
(3)測试登陆验证
在本例中。採用的是在单机中搭建伪分布式系统,通过例如以下ssh命令尝试登陆:
ssh localhost 或 ssh 127.0.0.1 |
假设不再提示输入password,直接登陆成功。那么SSH登陆就设置成功了。