一、Hadoop组成部分
作为一个顶级项目,Hadoop项目包含许多组件子项目。最主要的两个子项目分别为Hadoop分布式文件系统(HDFS)和MapReduce,可以将其理解为一对独立而互补的技术。
HDFS是一个可以存储极大数据集的文件系统,它通过向外扩展方式(集群)构建的主机集群。它有独特的设计和性能特点,特别是,HDFS以延时为代价对吞吐量进行了优化,并通过副本替换冗余达到了高可用性。
MapReduce是一个数据处理范式,它规范了数据在两个处理阶段(Map和Reduce)的输入和输出,并将其应用于任意规模的大数据集。MapReduce和HDFS紧密结合,确保在任何情况下,MapReduce任务直接存储所需数据的HDFS节点上运行。
二、Hadoop的安装(基于centos6.8)
|
|
安装Hadoop
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123安装Hadoop2.71 下载Hadoop2.7.1下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/stable2/hadoop-2.7.1.tar.gz2 解压安装1)复制 hadoop-2.7.1.tar.gz 到/usr/hadoop目录下,然后#tar -xzvf hadoop-2.7.1.tar.gz 解压,解压后目录为:/usr/hadoop/hadoop-2.7.12)在/usr/hadoop/目录下,建立tmp、hdfs/name、hdfs/data目录,执行如下命令#mkdir /usr/hadoop/tmp#mkdir /usr/hadoop/hdfs#mkdir /usr/hadoop/hdfs/data#mkdir /usr/hadoop/hdfs/name3)设置环境变量,#vi ~/.bash_profile# set hadoop pathexport HADOOP_HOME=/usr/hadoop/hadoop-2.7.1export PATH=$PATH:$HADOOP_HOME/bin4) 使环境变量生效,$source ~/.bash_profile3) Hadoop配置进入$HADOOP_HOME/etc/hadoop目录,配置 hadoop-env.sh等。涉及的配置文件如下:hadoop-2.7.1/etc/hadoop/hadoop-env.shhadoop-2.7.1/etc/hadoop/yarn-env.shhadoop-2.7.1/etc/hadoop/core-site.xmlhadoop-2.7.1/etc/hadoop/hdfs-site.xmlhadoop-2.7.1/etc/hadoop/mapred-site.xmlhadoop-2.7.1/etc/hadoop/yarn-site.xml1) 配置hadoop-env.sh# The java implementation to use.#export JAVA_HOME=${JAVA_HOME}export JAVA_HOME=/usr/java/jdk1.7.0_792)配置yarn-env.sh#export JAVA_HOME=/home/y/libexec/jdk1.7.0/export JAVA_HOME=/usr/java/jdk1.7.0_793)配置core-site.xml添加如下配置:<configuration><property><name>fs.default.name</name><value>hdfs://localhost:9000</value><description>HDFS的URI,文件系统://namenode标识:端口号</description></property><property><name>hadoop.tmp.dir</name><value>/usr/hadoop/tmp</value><description>namenode上本地的hadoop临时文件夹</description></property></configuration>4) 配置hdfs-site.xml添加如下配置<configuration><!—hdfs-site.xml--><property><name>dfs.name.dir</name><value>/usr/hadoop/hdfs/name</value><description>namenode上存储hdfs名字空间元数据 </description></property><property><name>dfs.data.dir</name><value>/usr/hadoop/hdfs/data</value><description>datanode上数据块的物理存储位置</description></property><property><name>dfs.replication</name><value>1</value><description>副本个数,配置默认是3,应小于datanode机器数量</description></property></configuration>5) 配置mapred-site.xml添加如下配置:<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>6) 配置yarn-site.xml添加如下配置:<configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>192.168.241.128:8099</value></property></configuration>4,Hadoop启动1)格式化namenode$ bin/hdfs namenode –format2)启动NameNode 和 DataNode 守护进程$ sbin/start-dfs.sh3)启动ResourceManager 和 NodeManager 守护进程$ sbin/start-yarn.sh5,启动验证1)执行jps命令,有如下进程,说明Hadoop正常启动# jps6097 NodeManager11044 Jps7497 -- process information unavailable8256 Worker5999 ResourceManager5122 SecondaryNameNode8106 Master4836 NameNode4957 DataNodevim /etc/profile