前言
Hadoop是使用Java编写,允许分布在集群,使用简单的编程模型的计算机大型数据集处理的Apache的开源框架。 Hadoop框架应用工程提供跨计算机集群的分布式存储和计算的环境。 Hadoop是专为从单一服务器到上千台机器扩展,每个机器都可以提供本地计算和存储
Hadoop的安装
-
安装JDK:因为Hadoop是使用Java编写的,所以Hadoop的运行环境是依赖JDK,关于JDK的安装,请看之前编写的文章 JDK的安装,或者自行网上搜索安装教程。
-
Hadoop的安装
1.去Hadoop官网,请选择稳定的版本下载,这是Apache建议国内的下载的地址,所有的Hadoop发布的版本目录,选择合适的下载。
2.解压缩当前的文件
1. 移动下载的文件到安装的目录:mv hadoop-2.7.4.tar.gz /usr/ 2. 进入到对应的目录,解压当前的文件:cd /soft/ ; tar -xzvf hadoop-2.7.4.tar.gz
3.创建符号链接: ln -s /usr/hadoop-2.7.4 /usr/hadoop
4.配置环境变量,编辑vim /etc/profile
,添加如下的内容> export HADOOP_HOME=/soft/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
5.验证Hadoop是否安装成功:
./soft/hadoop/bin/hadoop version
,显示如下的信息,代表Hadoop安装成功了。
Hadoop的配置
Hadoop有三种运行模式,分别是:Standalone (or local) mode(单机或者本地),Pseudodistributed mode(伪分布式),Fully distributed mode(全分布式)。
1. 单机模式,不需要做任何的操作
2. 伪分布模式
3. 全分布式模式
伪分布模式
- 进入需要修改配置的目录:
/usr/hadoop/etc/hadoop
- 修改配置文件:
core-site.xml
,hdfs-site.xml
,mapred-site.xml
,yarn-site.xml
- 编辑core-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost/</value>
</property>
</configuration>
2.编辑hdfs-site.xml。replication副本的数量
<?xml version="1.0"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3.编辑mapred-site.xml,注意,只有mapred-site.xml.template,所以要使用`cp mapred-site.xml.template mapred-site.xml` 复制一份文件
<?xml version="1.0"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4. 编辑yarn-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
5. 使用符号链接的方式,让三种配置形态共存
1.创建三个配置目录,内容等同于hadoop目录
${hadoop_home}/etc/local
${hadoop_home}/etc/pesudo
${hadoop_home}/etc/full
2.创建符号链接
ln -s
3.对HDFS进行格式化
hadoop namenode -format
4.修改hadoop配置文件,手动指定JAVA_HOME环境变量
[${hadoop_home}/etc/hadoop/hadoop_env.sh]
...
export JAVA_HOME=/usr/java/jdk1.8.0_131
...
5.启动所有的hadoop的进程
start-all.sh
6.启动完成过后,使用JPS出现以下进程
7.查看文件系统
hdfs dfs -ls /
8.创建目录
hdfs dfs -mkdir -p /user/aubergine/hadoop
9.通过webUI查看hadoop的文件系统
http://localhost:50070
Hadoop的端口号
50070:namenode http prot
50075:datanode http port
50090:2namenode http port
8020:namenode rpc port
50010:datanode rpc port
Hadoop的四大模块
comm
hdfs:namenode、datanode、2namenode
mapred
yarn:ResourceManager、NodeManager
Hadoop的完全分布式文件系统搭建
修改配置文件
- core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop6/</value>
</property>
</configuration>
2.hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
3.yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop6</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置数据节点
slaves
hadoop7
hadoop8
hadoop9
分发配置文件
scp -r full aubergine@hadoop7:/soft/hadoop/etc/
scp -r full aubergine@hadoop8:/soft/hadoop/etc/
scp -r full aubergine@hadoop9:/soft/hadoop/etc/
符号链接重新建立
ssh hadoop7 ln -s /soft/hadoop/etc/full /soft/hadoop/etc/hadoop
ssh hadoop8 ln -s /soft/hadoop/etc/full /soft/hadoop/etc/hadoop
ssh hadoop9 ln -s /soft/hadoop/etc/full /soft/hadoop/etc/hadoop
删除临时目录文件
cd /tmp
删除日志目录文件
cd soft/hadoop/logs
格式化文件系统
hadoop namenode -format
启动文件系统
start-all.sh