失效链接处理 |
hadoop集群部署 PDF 下载
本站整理下载:
相关截图:
主要内容:
1、Hadoop是什么
1.1 小故事版本的解释
小明接到一个任务:计算一个100M的文本文件中的单词的个数,这个文本文件有若干行,每行有若干个单词,每行的单词与单词之间都是以空格键分开的。对于处理这种100M量级数据的计算任务,小明感觉很轻松。他首先把这个100M的文件拷贝到自己的电脑上,然后写了个计算程序在他的计算机上执行后顺利输出了结果。
后来,小明接到了另外一个任务,计算一个1T(1024G)的文本文件中的单词的个数。再后来,小明又接到一个任务,计算一个1P(1024T)的文本文件中的单词的个数……
面对这样大规模的数据,小明的那一台计算机已经存储不下了,也计算不了这样大的数据文件中到底有多少个单词了。机智的小明上网百度了一下,他在百度的输入框中写下了:大数据存储和计算怎么办?按下回车键之后,出现了有关Hadoop的网页。
看了很多网页之后,小明总结一句话:Hadoop就是存储海量数据和分析海量数据的工具。
1.2 稍专业点的解释
Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。
HDFS是一个分布式文件系统:引入存放文件元数据信息的服务器Namenode和实际存放数据的服务器Datanode,对数据进行分布式储存和读取。
MapReduce是一个计算框架:MapReduce的核心思想是把计算任务分配给集群内的服务器里执行。通过对计算任务的拆分(Map计算/Reduce计算)再根据任务调度器(JobTracker)对任务进行分布式计算。
1.3 记住下面的话
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
把HDFS理解为一个分布式的,有冗余备份的,可以动态扩展的用来存储大规模数据的大硬盘。
把MapReduce理解成为一个计算引擎,按照MapReduce的规则编写Map计算/Reduce计算的程序,可以完成计算任务。
2、基础环境
2.1 环境
测试环境,两台服务器,主机名分别为master,slave。均安装了JDK1.7或更高版本;配置了免密登录。
2.2 Host配置
master和slave都需要执行
执行vim /etc/hosts 配置主机名和ip的映射。
注:在master机器上,master的IP为内网IP,否则会出现以下问题:
3、安装配置
3.1 创建hadoop文件路径
master和slave都需要执行
为了便于管理,给hdfs的NameNode、DataNode及临时文件创建文件夹(此处可以根据磁盘大小自己定义),分别为:
/opt/xvdb/hdfs/name
/opt/xvdb/hdfs/data
/opt/xvdb/hdfs/tmp
3.2下载安装
cd /opt/xvdb
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz
tar -xvf hadoop-2.7.1.tar.gz
3.3配置环境变量
vim /etc/profile
加入hadoop配置
export HADOOP_HOME=/opt/xvdb/hadoop-2.7.x
export PATH=$HADOOP_HOME/bin:$PATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
|