【02】Hadoop入门

07_尚硅谷_Hadoop_入门_课程介绍

在这里插入图片描述
在这里插入图片描述

08_尚硅谷_Hadoop_入门_Hadoop是什么

分布式系统:数据由多台服务器帮他来存储,那就是分布式系统 ,每台服务器负责存储一部分,多台服务器共同完成某一项任务。
在这里插入图片描述
Hadoop是一个框架
大数据解决的是海量数据的采集、存储和计算三件事。一个hadoop框架就解决了两件事(解决海量数据的存储和计算)

09_尚硅谷_Hadoop_入门_Hadoop发展历史

Hadoop创始人叫Doug Cutting
在这里插入图片描述 全文搜索框架现在是Elasticsearch
在这里插入图片描述

10_尚硅谷_Hadoop_入门_Hadoop三大发行版本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11_尚硅谷_Hadoop_入门_Hadoop优势

高可靠性:存在备份
高扩展性:其它3台服务器在正常运行集群的情况下,我动态的增加2台服务器,也可动态删除服务器
并行计算:多人干活比一个人干活快,并行计算
高容错性:将失败的任务迁移到其它正常的服务器上
在这里插入图片描述
双十一一来,动态的增加服务器,双十一一过动态撤掉服务器,中间不用停掉服务器来增加或撤掉,动态化
在这里插入图片描述
在这里插入图片描述

12_尚硅谷_Hadoop_入门_Hadoop1.x2.x3.x区别

Hadoop负责海量数据的存储(HDFS)和计算(MapReduce)(大数据负责数据的采集、存储和计算),
在这里插入图片描述
Hadoop1.x:Mapreduce既负责计算又负责资源调度

Hadoop2…x:Mapreduce负责计算,Yarn负责资源调度(管理CPU和内存)
在这里插入图片描述

13_尚硅谷_Hadoop_入门_HDFS概述

HDFS主要解决海量数据存储问题
在这里插入图片描述
NameNode:记录每一个组件存储数据的位置(相当于书本的目录)
DataNode:具体来存储数据的位置,数据到底存在哪(相当于书本具体的内容页)
2NN(Secondary NameNode):对数据进行备份的。万一NameNode挂了,2NN还有一部分原始数据(相当于秘书,但并不是保存全部数据,只是一部分数据)
在这里插入图片描述
在这里插入图片描述

14_尚硅谷_Hadoop_入门_YARN概述

在这里插入图片描述
在这里插入图片描述
YARN主要管理CPU和内存,也就是资源管理器
在这里插入图片描述
客户端可以有多个
集群上可以运行多个ApplicationMaster
每个NodeManager上可以有多个Container
在这里插入图片描述

15_尚硅谷_Hadoop_入门_MapReduce概述

MapReduce:主要负责海量数据的计算(包含处理和汇总)
Hadoop主要解决:海量数据的存储(HDFS)、海量数据的计算(MapReduce)
在这里插入图片描述
在这里插入图片描述
这么多的数据,需要找到2015年5月份的数据:采用MapReduce。Reduce是最后还需要对结果进行汇总

16_尚硅谷_Hadoop_入门_HDFS&YARN&MR关系

HDFS包含:
DataNode:负责数据实实在在的存储
NameNode:告诉别人我这个数据存储在哪个节点上,存储的什么信息。相当于一个账本
SecondaryNameNode:秘书。如果NameNode挂了,2NN会备份一部分数据,可以恢复NameNode一部分工作。

YARN:负责整个集群资源的管理。包含:
ResourceManager
NodeManager
ApplicationMaster
Container

MapReduce包含:
Map:并行处理输入数据
Reduce:对Map结果进行汇总
在这里插入图片描述

17_尚硅谷_Hadoop_入门_大数据技术生态体系

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

18_尚硅谷_Hadoop_入门_VMware安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

19_尚硅谷_Hadoop_入门_Centos7.5软硬件安装

在这里插入图片描述
点击新建虚拟机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本电脑8核CPU

在这里插入图片描述
在这里插入图片描述
Ctrl+Alt:进行虚拟机鼠标内外切换
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

20_尚硅谷_Hadoop_入门_IP和主机名称配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
加粗样式
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

21_尚硅谷_Hadoop_入门_Xshell远程访问工具

在这里插入图片描述

Xshell远程访问工具安装包
链接:https://pan.baidu.com/s/1XFqMgXfsi4BXTC3GMyVh5w?pwd=efgg 
提取码:efgg

在这里插入图片描述
使用Xshell软件进行文件传输
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

22_尚硅谷_Hadoop_入门_模板虚拟机准备完成

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

23_尚硅谷_Hadoop_入门_克隆三台虚拟机

在这里插入图片描述
在这里插入图片描述
shutdown now :关机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改网络
注意这里使用的是root账号,在root账号下更改网络配置
在这里插入图片描述

1.修改克隆虚拟机的静态 IP:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
2.修改主机名称:
vim /etc/hostname
3.重启:
reboot
4.显示网络:
ifconfig
5.查看连接网络的状态
ping www.baidu.com

在这里插入图片描述
连接不上就改为IP地址
在这里插入图片描述

24_尚硅谷_Hadoop_入门_JDK安装

在这里插入图片描述
在这里插入图片描述

sudo rm -rf rh/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将jdk-8u212-linux-x64.tar.gz压缩包解压缩(注意:后面的那个C是大写的)
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module

在这里插入图片描述
在这里插入图片描述

25_尚硅谷_Hadoop_入门_Hadoop安装

在这里插入图片描述
在这里插入图片描述

修改hadoop环境
sudo vim /etc/profile.d/my_env.sh

在这里插入图片描述
这3个命令要有印象,后面要用到,重点学习
在这里插入图片描述

26_尚硅谷_Hadoop_入门_本地运行模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
hadoop运行模式包括:本地模式、伪分布式模式、完全分布式模式
本地模式:单机运行,只是用来演示一下官方案例
伪分布式模式:也是单机运行,但是具备Hadoop集群的所有功能,一台服务器模拟一个分布式的环境。个别缺钱的公司来测试,生产环境不用。
完全分布式模式:多台服务器组成分布式环境。生产环境使用。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
后续我们所有写的这个MapReduce程序,它必须指定对应的输入路径和输出路径,而且输出路径还不能存在。如果存在直接抛异常。

在这里插入图片描述
在执行命令时,这个输出路径不能存在的

27_尚硅谷_Hadoop_入门_scp&rsync命令讲解

在这里插入图片描述
scp实现服务器与服务器之间文件的拷贝,scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录

在这里插入图片描述
在这里插入图片描述
host没改名,默认是IP地址,@后面输入103的IP地址就可以了
在这里插入图片描述

1.在hadoop102上,将hadoop102中 /opt/module/jdk1.8.0_212 目录拷贝到hadoop103上(推)
scp -r     /opt/module/jdk1.8.0_212 atguigu@hadoop103:/opt/module

2.在hadoop103上,将hadoop102中 /opt/module/hadoop-3.1.3 目录拷贝到hadoop103上(拉)
scp -r    atguigu@hadoop102:/opt/module/hadoop-3.1.3 /opt/module

3.在hadoop上操作,将hadoop102中 /opt/module目录下所有目录拷贝到hadoop104上
scp -r    atguigu@hadoop102:/opt/module/*   atguigu@hadoop104:/opt/module

推: (将hadoop102上的数据拷贝到hadoop103上)
在这里插入图片描述

scp -r jdk1.8.0_212 atguigu@hadoop103 /opt/module

拉: 从hadoop103上拉取hadoop102的数据

在这里插入图片描述

从hadoop102中拉取目标路径/opt/module.hadoop-3.1.3下的hadoop-3.1.3到当前目录
scp -r atguigu@hadoop102:/opt/module.hadoop-3.1.3 ./

在这里插入图片描述
思考:站到hadoop103上,如何将hadoop102的数据拷贝到hadoop104上?

在这里插入图片描述

scp -r atguigu@hadoop102:/opt/module/* atguigu@hadoop104:/opt/module

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
rsync是直接只更改你变化的数据,其他的内容不变,rsync的性能比scp的性能更好一些rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具
第一次同步等同于拷贝
在这里插入图片描述
如何将hadoop102上的hadoop同步到hadoop103上?
这个报错了
在这里插入图片描述

rsync -av /opt/module/hadoop-3.1.3/ atguigu@hadoop103:/opt/module/hadoop-3.1.3

28_尚硅谷_Hadoop_入门_xsync分发脚本

在这里插入图片描述
在这里插入图片描述

创建文件
touch a.txt

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
执行之后,hadoop103和hadoop104都可以同步bin文件夹

如果希望分发一下环境变量(/etc/profile.d/my_env.sh)可以使用xsync /etc/profile.d/my_env.sh吗?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分发环境变量
sudo  ./bin/xsync  /etc/profile.d/my_env.sh

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

29_尚硅谷_Hadoop_入门_ssh免密登录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
你把公钥发给谁,相当于对方默认接收了你的请求,允许它无密访问你

在这里插入图片描述

查看到所有的隐藏文件
ls -al

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
hadoop102的公钥拷贝到目标主机上
在这里插入图片描述
在这里插入图片描述

将公钥拷贝到hadoop104上
ssh-copy-id hadoop104

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

30_尚硅谷_Hadoop_入门_集群配置

在这里插入图片描述
hadoop包括HDFS(NameNode、2NN[相当于NameNode的秘书])、YARN(包括NodeManager、ResourceManager)、MapReduce、common

在这里插入图片描述
在这里插入图片描述

(1)核心配置文件----配置core-site.xml

在这里插入图片描述
在这里插入图片描述

<!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop102:8020</value>
    </property>

    <!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
    </property>

(2)HDFS配置文件—配置hdfs-site.xml

在这里插入图片描述
在这里插入图片描述

<!-- nn web端访问地址-->
	<property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop102:9870</value>
    </property>
	<!-- 2nn web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop104:9868</value>
    </property>

(3)YARN配置文件—yarn-site.xml

在这里插入图片描述
在这里插入图片描述

 <!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop103</value>
    </property>

    <!-- 环境变量的继承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>

(4) MapReduce配置文件—mapred-site.xm

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
将hadoop102中 的hadoop文件夹下配置的上述内容同步到hadoop103和hadoop104中。使用xsync快捷配置方法
在这里插入图片描述
在这里插入图片描述

31_尚硅谷_Hadoop_入门_群起集群并测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
相当于把记账本清空,重新开始记录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里不能是root用户,应该是atguigu用户

启动HDFS

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:
在这里插入图片描述
我这里出现了问题:bash: jps: 未找到命令… 最后解决的是java的全局环境变量没有分发到hadoop102和hadoop103(具体解决方案可查看《sync分发脚本》这节后半段,笔记这节也记的有),但是我是一个一个复制进去的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

web端查看HDFS的NameNode
http://192.168.10.102:9870/

web端查看YARM的ResourceManager
http://192.168.10.103:8088/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

启动YARN

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果出现不能预览和下载,需要在主机下的hosts文件下配置映射,而且在core-site.xml中增加配置信息,具体操作内容链接
在这里插入图片描述

启动HDFS
start-dfs.sh

在根目录下创建wcinput文件夹
hadoop fs -mkdir /wcinput

将本地文件wcinput中的word.txt上传到HDFS网页的根目录下的wcinput文件夹中
hadoop fs -put wcinput/word.txt /wcinput

将本地的jdk上传到HDFS的根目录下
hadoop fs -put /opt/software/jdk-8u212-linux-x64.tar.gz /

在这里插入图片描述
那么HDFS网页版上的本地文件在哪里存的呢?
在这里插入图片描述
在这里插入图片描述
这里要弄两次,因为这里jdk是分开存储的(单个是128g)
在这里插入图片描述
在这里插入图片描述

HDFS网页版内容的存储路径
/opt/module/hadoop-3.1.3/data/dfs/data/current/BP-860317985-192.168.10.102-1660488334357/current/finalized/subdir0/subdir0

hadoop具有高可用,任何一个数据的服务器挂了之后,它还有两份的副本帮我们存储。这三台数据存储的一模一样
在这里插入图片描述
在这里插入图片描述
如果再来第四台机器它会怎么存储呢?
答:那它也是选择任意三台服务器进行存储,有一台是没有留存数据的。它说三份就是3份

在这里插入图片描述

hadoop集群实现wordcount计算
 hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /wcinput /wcoutput3

这里的wordcount是指jar包里面examples其中的一个,专门用来计数的。因为上传数据不涉及到yarn,而yarn是资源的调度,只有你有mapreduce这种计算任务的时候我才会执行

在这里插入图片描述
在运行结果中出现了Container killed on request. Exit code is 143
在这里插入图片描述
在这里插入图片描述

最后在配置中添加了代码就出现内容了,具体详见参考解决方案链接

需要提前执行stop-dfs.sh和stop-yarn.sh。将集群关闭(配置文件在hadoop目录下)

1、首先在yarn-site.xml中添加下面内容
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>22528</value>
        <discription>每个节点可用内存,单位MB</discription>
    </property>
 
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>1500</value>
        <discription>单个任务可申请最少内存,默认1024MB</discription>
    </property>
 
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>16384</value>
        <discription>单个任务可申请最大内存,默认8192MB</discription>
    </property>

2、再在mapred-site.xml中添加下面内容:
<property>
	<name>yarn.app.mapreduce.am.env</name>
	<value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
</property>
<property>
	<name>mapreduce.map.env</name>
	<value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
</property>
<property>
	<name>mapreduce.reduce.env</name>
	<value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
</property>
------------------------------------------------------------------------
    <property>
        <name>mapreduce.map.memory.mb</name>
        <value>1500</value>
        <description>每个Map任务的物理内存限制</description>
    </property>
 
    <property>
        <name>mapreduce.reduce.memory.mb</name>
        <value>3000</value>
        <description>每个Reduce任务的物理内存限制</description>
    </property>
 
    <property>
        <name>mapreduce.map.java.opts</name>
        <value>-Xmx1200m</value>
    </property>
 
    <property>
        <name>mapreduce.reduce.java.opts</name>
        <value>-Xmx2600m</value>
    </property>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
3、覆盖集群中的这两个文件,重启yarn再启动mapreduce任务,成功运行。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

32_尚硅谷_Hadoop_入门_集群崩溃处理办法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
像上面这样,遇到困难该如何处理?
在这里插入图片描述
(1)先杀死进程
在这里插入图片描述
在这里插入图片描述
(2)删除每个集群上的data和logs
在这里插入图片描述
(3)格式化
在这里插入图片描述
(4)初始化完毕之后启动集群
在这里插入图片描述
打扫干净屋子再请客,先停掉进程,删除历史数据,之后再启动(停集群、删数据、格式化、重start)

33_尚硅谷_Hadoop_入门_历史服务器配置

在这里插入图片描述

当前mapred-site.xml中的内容
<configuration>
<!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

<!-- 针对p31按步骤操作却得不到wordcount的输出结果的问题,在评论区找的 -->
   <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
   </property>
   <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
   </property>
   <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
   </property>

<!--mapreduce运行中发现有任务被kill掉,多半是因为内存分配不足造成,所有需要修改内存配置。 -->
    <property>
        <name>mapreduce.map.memory.mb</name>
        <value>1500</value>
        <description>每个Map任务的物理内存限制</description>
    </property>
 
    <property>
        <name>mapreduce.reduce.memory.mb</name>
        <value>3000</value>
        <description>每个Reduce任务的物理内存限制</description>
    </property>
 
    <property>
        <name>mapreduce.map.java.opts</name>
        <value>-Xmx1200m</value>
    </property>
 
    <property>
        <name>mapreduce.reduce.java.opts</name>
        <value>-Xmx2600m</value>
    </property>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

    <!--配置历史服务器。为了查看程序的历史运行情况,需要配置一下历史服务器 -->
    <!-- 历史服务器端地址 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop102:10020</value>
    </property>

    <!-- 历史服务器web端地址 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop102:19888</value>
    </property>

</configuration>

重新启动一下yarn才能加载新配置的配置文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

34_尚硅谷_Hadoop_入门_日志聚集功能配置

在这里插入图片描述
在这里插入图片描述

yarn-site.xml目前的所有内容:
<configuration>
 <!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop103</value>
    </property>

    <!-- 环境变量的继承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>             <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
 
    <!--mapreduce运行中发现有任务被kill掉,多半是因为内存分配不足造成,所有需要修改内存配置。来自CSDN -->
     <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>22528</value>
        <discription>每个节点可用内存,单位MB</discription>
    </property>
 
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>1500</value>
        <discription>单个任务可申请最少内存,默认1024MB</discription>
    </property>

    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>16384</value>
        <discription>单个任务可申请最大内存,默认8192MB</discription>
    </property>
    
    <!-- 开启日志聚集功能,可以方便的查看到程序的运行详情,方便开发调试 -->
    <!-- 开启日志聚集功能 -->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!-- 设置日志聚集服务器地址 -->
    <property>  
        <name>yarn.log.server.url</name>  
        <value>http://hadoop102:19888/jobhistory/logs</value>
    </property>
    <!-- 设置日志保留时间为7天 -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>    

</configuration>

在这里插入图片描述

启动历史服务器
mapred --daemon start historyserver
停止历史服务器
 mapred --daemon stop historyserver

在这里插入图片描述
在这里插入图片描述
没有日志内容没关系,再后面执行的任务它就有了。

再执行这个
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output2

在这里插入图片描述
如果这里面抛出异常的话,更方便我们去定位异常信息

35_尚硅谷_Hadoop_入门_两个常用脚本

在这里插入图片描述
在这里插入图片描述

启动历史服务器
mapred --daemon start historyserver
停止历史服务器
 mapred --daemon stop historyserver

在这里插入图片描述
目前来说需要启动HDFS、YARN,还需要启动历史服务器,需要启动好几下,而且尤其这个YARN还需要在hadoop103上去启动,如果不在hadoop103上启动,很容易导致错误。可以编写hadoop集群启停脚本。
在这里插入图片描述

#!/bin/bash

if [ $# -lt 1 ]
then
    echo "No Args Input..."
    exit ;
fi

case $1 in
"start")
        echo " =================== 启动 hadoop集群 ==================="

        echo " --------------- 启动 hdfs ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"
        echo " --------------- 启动 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
        echo " --------------- 启动 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
        echo " =================== 关闭 hadoop集群 ==================="

        echo " --------------- 关闭 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
        echo " --------------- 关闭 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
        echo " --------------- 关闭 hdfs ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
    echo "Input Args Error..."
;;
esac

在这里插入图片描述
在这里插入图片描述

大家有没有发现,我每次打jps的时候,都的去每台服务器上去查看一下,那如果有100台服务器呢?我是不是要查看100次呢?是不是非常效率低下啊,那能不能写个脚本,我一下查看所有服务器的运行情况呢?
在这里插入图片描述

#!/bin/bash

for host in hadoop102 hadoop103 hadoop104
do
        echo =============== $host ===============
        ssh $host jps 
done

在这里插入图片描述
在这里插入图片描述

36_尚硅谷_Hadoop_入门_两道面试题

在这里插入图片描述

37_尚硅谷_Hadoop_入门_集群时间同步

影响机器性能,直接跳过

38_尚硅谷_Hadoop_入门_常见问题总结

在这里插入图片描述
在core-site.xml中增加下面这一段代码,使具有操作HDFS网页权限的功能

 <!-- 配置HDFS网页登录使用的静态用户为atguigu -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>atguigu</value>
    </property>

配置完成后,分发给hadoop103和hadoop104。然后重启集群。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值