Hadoop是一个由Apache基金会所开发的分布式系统基础架构。它实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。其框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
单机模式安装
-
解压安装包到指定位置并重命名。
tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/ mv hadoop-2.7.2 hadoop
-
将hadoop写入环境变量以便启动。
# Hadoop export HADOOP_HOME=/opt/module/hadoop export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin
写入后记得“source /etc/profile”文件使其立即生效。
- 输入“hadoop version”查看安装的hadoop版本。
完全分布式安装
- 在单机模式的基础上,进入hadoop安装目录下的“etc/hadoop”目录,修改其中的配置文件。
- 修改“hadoop-env.sh”、“mapred-env.sh”、“yarn-env.sh”文件中的“JAVA_HOME”。
-
修改“core-site.xml”文件。
<!-- 指定HDFS中NameNode的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop151:9000</value> </property> <!-- 指定Hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop/data/tmp</value> </property>
-
修改“hdfs-site.xml”文件
<!-- 指定HDFS副本的数量,该项可以不设置,默认为3 --> <property> <name>dfs.replication</name> <value>1</value> </property> <!-- 指定Hadoop辅助名称节点主机配置 --> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop153:50090</value> </property>
-
修改“mapred-site.xml”文件。
<!-- 指定MR运行在Yarn上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!-- 历史服务器端地址 --> <property> <name>mapreduce.jobhistory.address</name> <value>hadoop151:10020</value> </property> <!-- 历史服务器web端地址 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoop151:19888</value> </property>
-
修改“slaves”文件。
hadoop151 hadoop152 hadoop153
-
修改“yarn-site.xml”文件
<!-- Reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop152</value> </property> <!-- 日志聚集功能使能 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 日志保留时间设置7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property>
- 将上述所有步骤在其他两台虚拟机上执行。
- 在hadoop151上,进入hadoop目录。在其子目录bin目录下使用命令“bin/hdfs namenode -format”命令对整个集群初始化。出现“successful”成功。
-
在hadoop151上启动hdfs,在hadoop152上启动yarn。
[hadoop@hadoop151 ~] start-dfs.sh [hadoop@hadoop152 ~] start-yarn.sh
- 在三台虚拟上分别键入命令“jps”,查看启动进程。
- 最后在物理机上打开浏览器,输入“hadoop151:50070”。在Web端查看hadoop。
配置hadoop支持lzo压缩
lzo是致力于解压速度的一种数据压缩算法,LZO 是 Lempel-Ziv-Oberhumer 的缩写。启用lzo的压缩方式对于小规模集群是很有用处,压缩比率大概能降到原始日志大小的1/3。同时解压缩的速度也比较快。
-
虚拟机安装lzo服务。lzo并不是linux系统原生支持,所以需要下载安装软件包。
[hadoop@hadoop151 ~] sudo yum install -y lzo lzo-devel [hadoop@hadoop152 ~] sudo yum install -y lzo lzo-devel [hadoop@hadoop153 ~] sudo yum install -y lzo lzo-devel
- 将“hadoop-lzo-0.4.20.jar”放入“hadoop/share/hadoop/common”目录下。
-
修改“core-site.xml”文件,将lzo写入。
<property> <name>io.compression.codecs</name> <value> org.apache.hadoop.io.compress.GzipCodec, org.apache.hadoop.io.compress.DefaultCodec, org.apache.hadoop.io.compress.BZip2Codec, org.apache.hadoop.io.compress.SnappyCodec, com.hadoop.compression.lzo.LzoCodec, com.hadoop.compression.lzo.LzopCodec </value> </property> <property> <name>io.compression.codec.lzo.class</name> <value>com.hadoop.compression.lzo.LzoCodec</value> </property>
- 在其他两台虚拟机上重复上述步骤。重启集群。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。