03-Hadoop安装

一、Hadoop 的安装有三种方式

  • 单机模式:直接解压,只支持MapReduce的测试,不支持HDFS,一般不用。

  • 伪分布式模式:单机通过多进程模拟集群方式安装,支持Hadoop所有功能。
    ​ 优点:功能完整。
    ​ 缺点:性能低下。学习测试用。

  • 完全分布式模式:集群方式安装,生产级别。

  • HA:高可用

二、伪分布式部署

1 初始环境:

JDK,JAVA_HOME,配置hosts,关闭防火墙,配置免密登录等。

注意:我们只将其安装在hadoop01节点上。

2 上传安装包并解压

安装包下载地址
链接:https://pan.baidu.com/s/1EffVCHanpJd-l6jKMi-lEw
提取码:xwzf

上传安装包到tar -xvzf hadoop-2.7.7 到/opt/softwares/ 目录下
并解压 tar -xvzf hadoop-2.7.7.tar.gz -C /opt/servers/

3 修改配置文件

3.1 修改hadoop-env.sh

vim /opt/servers/hadoop-2.7.7/etc/hadoop/hadoop-env.sh

修改

export JAVA_HOME=/opt/servers/jdk1.8.0_65
export HADOOP_CONF_DIR=/opt/servers/hadoop-2.7.7/etc/hadoop

3.2 修改 core-site.xml

核心配置文件:

  • namenode的所在位置
  • 数据的存储位置
vim /opt/servers/hadoop-2.7.7/etc/hadoop/core-site.xml

增加namenode配置、文件存储位置配置:粘贴代码部分到标签内

<property>
<!--用来指定hdfs的老大,namenode的地址-->
<name>fs.default.name</name>
<value>hdfs://hadoop01:8020</value>
</property> 

<property>
<!--用来指定hadoop运行时产生文件的存放目录-->  
<name>hadoop.tmp.dir</name>
<value>/opt/servers/hadoop-2.7.7/tmp</value>
</property>

3.3 修改 hdfs-site.xml

  • 设置副本数
  • 设置访问权限
vim /opt/servers/hadoop-2.7.7/etc/hadoop/hdfs-site.xml

配置包括自身在内的备份副本数量到标签内

<property>
<!--指定hdfs保存数据副本的数量,包括自己,默认为3-->
<!--伪分布式模式,此值必须为1-->
<name>dfs.replication</name>
<value>1</value>
</property>
 
<!--设置hdfs操作权限,false表示任何用户都可以在hdfs上操作文件-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

3.4 修改 mapred-site.xml

  • mapreduce执行环境,任务

说明:在/opt/servers/hadoop-2.7.7/etc/hadoop的目录下,只有一个mapred-site.xml.template文件,复制一个。

cp mapred-site.xml.template mapred-site.xml

vim /opt/servers/hadoop-2.7.7/etc/hadoop/mapred-site.xml

配置mapreduce运行在yarn上:粘贴高亮部分到标签内

<property> 
<!--指定mapreduce运行在yarn上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

3.5 修改 yarn-site.xml

  • resourcemanager所在节点位置
  • nodemanager获取数据的方式
vim /opt/servers/hadoop-2.7.7/etc/hadoop/yarn-site.xml

配置:粘贴高亮部分到标签内

<property>
<!--指定yarn的老大resourcemanager的地址-->
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>

<property>
<!--NodeManager获取数据的方式-->
<name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
</property>

3.6 修改slaves

vim /opt/servers/hadoop-2.7.7/etc/hadoop/slaves

修改

hadoop01

3.7 配置hadoop的环境变量

vim /etc/profile
export HADOOP_HOME=/opt/servers/hadoop-2.7.7
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

配置完成之后生效 source /etc/profile

环境变量配置完成,测试环境变量是否生效 echo $HADOOP_HOME

执行 hadoophadoop version

4 启动

4.1 初始化

hdfs namenode -format

在这里插入图片描述

4.2 启动

start-all.sh  #启动所有服务

# jps查看启动的进程

单独启动一个服务

start-dfs.sh  #启动hdfs服务
start-yarn.sh #启动yarn服务
hadoop-daemon.sh start namenode

4.3 停止

stop-all.sh

4.4访问浏览器

windows的浏览器中访问 http://hadoop01:50070/
在这里插入图片描述
安装成功

4.5 安装失败

如果没有成功(进程数不够)
1.stop-all.sh 停掉hadoop所有进程
2.删掉hadoop2.7.7下的tmp文件
3.hdfs namenode -format 重新初始化(出现successfully证明成功),如果配置文件报错,安装报错信息修改相应位置后重新执行第二步。
4.start-all.sh 启动hadoop

三、完全分布式部署

安装环境服务部署规划

服务器IP192.168.65.101192.168.65.102192.168.65.103
NameNode
HDFS
DataNodeDataNodeDataNode
YARNResourceManager
NodeManagerNodeManagerNodeManager
MapReduceJobHistoryServer

先在第一台机器hadoop01进行部署

注意:如果已安装伪分布模式,先删除格式化后生成的数据文件,其他请略过。

执行命令停掉所有服务 stop-all.sh
删除tmp目录 rm -rf tmp

1进入目录

cd /opt/servers

2 上传安装包并解压

tar -xvzf hadoop-2.7.7.tar.gz -C ../servers/

3 修改配置文件

位置:/opt/servers/hadoop-2.7.7/etc/hadoop

3.1修改hadoop-env.sh

vim /opt/servers/hadoop-2.7.7/etc/hadoop/hadoop-env.sh

修改

export JAVA_HOME=/opt/servers/jdk1.8.0_65
export HADOOP_CONF_DIR=/opt/servers/hadoop-2.7.7/etc/hadoop

3.2 修改 core-site.xml

vim /opt/servers/hadoop-2.7.7/etc/hadoop/core-site.xml

增加namenode配置、文件存储位置配置:粘贴代码部分到标签内

<property>
<!--用来指定hdfs的老大,namenode的地址-->
<name>fs.default.name</name>
<value>hdfs://hadoop01:8020</value>
</property> 
<property>
<!--用来指定hadoop运行时产生文件的存放目录-->  
<name>hadoop.tmp.dir</name>
<value>/opt/servers/hadoop-2.7.7/tmp</value>
</property>

3.3 修改 hdfs-site.xml

vim /opt/servers/hadoop-2.7.7/etc/hadoop/hdfs-site.xml
  • 配置包括自身在内的备份副本数量到标签内
<property>
<!--指定hdfs保存数据副本的数量,包括自己,默认为3-->
<!--伪分布式模式,此值必须为1-->
<name>dfs.replication</name>
<value>2</value>
</property>
<!--设置hdfs操作权限,false表示任何用户都可以在hdfs上操作文件-->
 <property>
<name>dfs.permissions</name>
<value>false</value>
</property>

3.4 修改 mapred-site.xml

说明:在/opt/servers/hadoop-2.7.7/etc/hadoop的目录下,只有一个mapred-site.xml.template文件,复制一个。

cp mapred-site.xml.template mapred-site.xml
vim /opt/servers/hadoop-2.7.7/etc/hadoop/mapred-site.xml

配置mapreduce运行在yarn上:粘贴高亮部分到标签内

<property> 
<!--指定mapreduce运行在yarn上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

3.5 修改 yarn-site.xml

vim /opt/servers/hadoop-2.7.7/etc/hadoop/yarn-site.xml
  • 配置:粘贴高亮部分到标签内
<property>
<!--指定yarn的老大resourcemanager的地址-->
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<property>
<!--NodeManager获取数据的方式-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

3.6 修改slaves

vim /opt/servers/hadoop-2.7.7/etc/hadoop/slaves

修改

hadoop01
hadoop02
hadoop03

3.7 配置hadoop的环境变量

vim /etc/profile
export HADOOP_HOME=/opt/servers/hadoop-2.7.7
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

配置完成之后生效

source /etc/profile

环境变量配置完成,测试环境变量是否生效

echo $HADOOP_HOME

3.8 分发文件到hadoop02、hadoop03服务器

cd /opt/servers/
scp -r hadoop-2.7.7/ hadoop02:$PWD
scp -r hadoop-2.7.7/ hadoop03:$PWD

3.9 hadoop02、hadoop03服务器配置hadoop的环境变量

vim /etc/profile
export HADOOP_HOME=/opt/servers/hadoop-2.7.7
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

配置完成之后生效

source /etc/profile

环境变量配置完成,测试环境变量是否生效

echo $HADOOP_HOME

4 启动

4.1 初始化

hdfs namenode -format

4. 2 启动

start-all.sh

4.3 停止

stop-all.sh

4.4 测试

jps

4.5 停止服务

stop-all.sh

4.6 补充:可以按照组件启动服务

start-dfs.sh
start-yarn.sh

也可以单独启动一个服务

在主节点上使用以下命令启动 HDFS NameNode:
hadoop-daemon.sh start namenode 
在每个从节点上使用以下命令启动 HDFS DataNode: 
hadoop-daemon.sh start datanode 
在主节点上使用以下命令启动 YARN ResourceManager: 
yarn-daemon.sh  start resourcemanager 
在每个从节点上使用以下命令启动 YARN nodemanager: 
yarn-daemon.sh start nodemanager 

5 访问浏览器

windows的浏览器中访问
hdfs集群访问地址
http://hadoop01:50070/
yarn集群访问地址
http://hadoop01:8088/
安装成功!

四、hadoop集群初体验

1 HDFS 使用初体验

从Linux 本地上传一个文本文件到 hdfs 的/test/input 目录下

hadoop fs -mkdir -p /test/input
hadoop fs -put README.txt /test/input

在这里插入图片描述

2 mapreduce程序初体验

在 Hadoop 安装包的

hadoop2.7.7/share/hadoop/mapreduce 下有官方自带的mapreduce 程序。我们可以使用如下的命令进行运行测试。

示例程序jar:

 hadoop-mapreduce-examples-2.7.7.jar

计算圆周率:

hadoop jar /opt/servers/hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar pi 2 5

关于圆周率的估算,感兴趣的可以查询资料 Monte Carlo 方法来计算 Pi 值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值