【Hadoop技术篇】hadoop的使用

博主介绍

‍ 博主介绍:大家好,我是淼淼_喵 ,很高兴认识大家~

✨主攻领域:【大数据开发】【数据仓库】 【ETL】 【数据分析】【面试分析】

点赞➕评论➕收藏 == 养成习惯(一键三连)

欢迎关注一起学习一起讨论⭐️一起进步欢迎评论

作者水平有限,欢迎各位大佬指点,相互习进步!

1. 集群简介

HADOOP集群具体来说包含两个集群:HDFS集群YARN集群,两者逻辑上分离,但物理上常在一起。

HDFS集群负责海量数据的存储,集群中的角色主要有:

NameNode、DataNode、SecondaryNameNode

YARN集群负责海量数据运算时的资源调度,集群中的角色主要有:

ResourceManager、NodeManager

我们以3节点为例进行搭建,角色分配如下:

node1

NameNode DataNode ResourceManager
node2 DataNode NodeManager SecondaryNameNode
node3 DataNode NodeManager

2. 集群启动

1. 启动方式

要启动Hadoop集群,需要启动HDFS和YARN两个集群。

注意:首次启动HDFS时,必须对其进行格式化操作。本质上是一些清理和准备工作,因为此时的HDFS在物理上还是不存在的。

hadoop namenode -format

 ​​​​2. 单节点逐个启动

在主节点上使用以下命令启动HDFS NameNode:

$HADOOP_HOME/bin/hdfs --daemon start namenode

在每个从节点上使用以下命令启动HDFS DataNode:

$HADOOP_HOME/bin/hdfs --daemon start datanode

在node2上使用以下命令启动HDFS SecondaryNameNode

$HADOOP_HOME/bin/hdfs --daemon start secondarynamenode

在主节点上使用以下命令启动YARN ResourceManager:

$HADOOP_HOME/bin/yarn --daemon start resourcemanager

在每个从节点上使用以下命令启动YARN nodemanager

$HADOOP_HOME/bin/yarn --daemon start nodemanager

如果想要停止某个节点上某个角色,只需要把命令中的start改为stop即可

当启动完成后,查看三台节点上的进程

第一台

【Hadoop技术篇】hadoop的使用_第1张图片

第二台

【Hadoop技术篇】hadoop的使用_第2张图片

第三台

【Hadoop技术篇】hadoop的使用_第3张图片 

3. 脚本一键启动

如果配置了etc/hadoop/workers和ssh免密登录,则可以使用程序脚本启动所有Hadoop两个集群的相关进程,在主节点所设定的机器上执行。

hdfs:$HADOOP_PREFIX/sbin/start-dfs.sh

yarn: $HADOOP_PREFIX/sbin/start-yarn.sh

停止集群:stop-dfs.shstop-yarn.sh

​​​​​​​3. 集群web-ui

一旦Hadoop集群启动并运行,可以通过web-ui进行集群查看,如下所述:

NameNode http://nn_host:port/ 默认9870.

【Hadoop技术篇】hadoop的使用_第4张图片

ResourceManager http://rm_host:port/ 默认 8088.

 【Hadoop技术篇】hadoop的使用_第5张图片

 4. HDFS使用

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

hadoop fs -mkdir -p /wordcount/input

hadoop fs -put /root/somewords.txt  /wordcount/input

​​​​​​​5. 运行mapreduce程序

在Hadoop安装包的share/hadoop/mapreduce下有官方自带的mapreduce程序。我们可以使用如下的命令进行运行测试。

示例程序jar:

 hadoop-mapreduce-examples-3.3.0.jar

计算圆周率:

hadoop jar hadoop-mapreduce-examples-3.3.0.jar pi 20 50

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

 

你可能感兴趣的:(Hadoop,hadoop,大数据,数据仓库)