今天,企业对数据价值的认同已经成为共识,然而如何从海量的数据信息中挖掘其中的价值却并不那么容易,幸运的是,找到了hadoop数据挖掘与分析工具。
Hadoop是一个开源的分布式系统基础架构,由Apache基金会开发,使得用户可以在不了解分布式底层细节的情况下,开发分布式应用程序,充分利用集群的威力实现高速运算和存储。Hadoop尤其适合大数据的分析与挖掘,最为常见的应用就是Web数据分析。因为从本质上讲,Hadoop提供了在大规模服务器集群中捕捉、组织、搜索、共享以及分析数据的模式,且可以支持多种数据源 (结构化、半结构化和非结构化),规模则能够从几十台服务器扩展到上千台服务器。
随着越来越多的传统企业开始关注大数据的价值,Hadoop也开始在传统企业的商业智能或数据分析系统中扮演重要角色。相比传统的基于数据库的商业智能解决方案,Hadoop拥有无以比拟的灵活性优势和成本优势
“问题在于,你根据某种分析的需要将大批非结构化数据转化成结构化数据之后,一旦分析的需求发生变化,你需要把之前的工作重新做一遍。Hadoop的内部数据存储能力是非常重要的,能在你不知道该如何处理数据的时候尽可能多的保存数据,Hadoop系统允许你不断的尝试。在传统的数据分析系统中,你必须明确的知道你希望做什么,需要哪些数据。”
目前,Hadoop三种安装模式,即单机模式,伪分布式,真正分布式。
一 单机模式standalone
单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。
二 伪分布模式安装
tar xzvf hadoop-0.20.2.tar.gz
Hadoop的配置文件:
conf/hadoop-env.sh 配置JAVA_HOME
core-site.xml 配置HDFS节点名称和地址
hdfs-site.xml 配置HDFS存储目录,复制数量
mapred-site.xml 配置mapreduce的jobtracker地址
配置ssh,生成密匙,使到ssh可以免密码连接
(RSA算法,基于因数不对称加密:公钥加密私钥才能解密,私钥加密公钥才能解密)
cd /root
ssh -keygen -t rsa
cd .ssh
cp id_rsa.pub authorized_keys覆盖公钥,就能免密码连接
启动Hadoop bin/start-all.sh
停止Hadoop bin/stop-all.sh
三 完全分布式模式
1. 配置etc/hosts文件,使主机名解析为IP 或者使用DNS服务解析主机名
2. 建立hadoop运行用户: useradd grid>passwd grid
3. 配置ssh密码连入: 每个节点用grid登录,进入主工作目录,ssh -keygen -t rsa生产公钥,然后将每个节点的公钥复制到同一个文件中,再将这个包含所有节点公钥的文件复制到每个节点authorized_keys目录,这个每个节点之间彼此可以免密码连接
4. 下载并解压hadoop安装包
5. 配置namenode,修改site文件
6. 配置hadoop-env.sh
7. 配置masters和slaves文件
8. 向各个节点复制hadoop
9. 格式化namenode
10.启动hadoop
11.用jps检验各后台进程是否成功启动