大数据hadoop部分概述(大数据之Hadoop简介)(1)

Hadoop简介

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),

其中一个组件是HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算 。

Hadoop 由许多元素构成。其最底部是 Hadoop Distributed File System(HDFS),它存储 Hadoop 集群中所有存储节点上的文件。HDFS的上一层是MapReduce 引擎,该引擎由 JobTrackers 和 TaskTrackers 组成。通过对Hadoop分布式计算平台最核心的分布式文件系统HDFS、MapReduce处理过程,以及数据仓库工具Hive和分布式数据库Hbase的介绍,基本涵盖了Hadoop分布式平台的所有技术核心。

发行版本

Hadoop有三大发行版本:Apache、Cloudera、Hortonworks

优势配置

配置文件在hadoop下/etc目录下,有几个重要的配置文件

core-site.xml

这是hadoop的核心配置文件

<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <!-- fs.defaultFS用于配置NameNode节点的URI,协议、主机或IP、端口 --> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <!-- hadoop.tmp.dir文件系统依赖的基础配置,如果在hdfs-site.xml中不配置NameNode节点和DataNode节点的数据存放位置时,默认放在该目录下 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/data/hadoop/tmp</value> </property> </configuration>

hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <!-- 数据备份数 --> <property> <name>dfs.replication</name> <value>1</value> </property> <!-- NameNode节点文件数据存储路径 --> <property> <name>dfs.name.dir</name> <value>/opt/data/hadoop/namenode</value> </property> <!-- DataNode节点文件数据存储路径--> <property> <name>dfs.data.dir</name> <value>/opt/data/hadoop/datanode</value> </property> </configuration>

mapred-site.xml

<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <!-- 配置jobTracker的主机名或者ip、端口 还可以配置TaskTracker--> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration>

启动

# 初始化namenode hdfs namenode -format # 启动hadoop(会启动 SecondaryNameNode、NameNode、NodeManager、ResourceManager、DataNode服务) 这个要去start-all.sh所在目录去执行 否则会报错 原因未知 ./start-all.sh # 验证 创建文件 hdfs dfs -mkdir /test # 查看文件 hdfs dfs -ls /

,