大数据学习1(Hadoop环境搭建)

一.部署虚拟机

1. 过程略过
VMware安装Centos7

2. 部署3台
在这里插入图片描述

二.配置虚拟机

虚拟机网络

1.虚拟机网络采用仅主机模式。
安装时选择网络时选择,或者装好后重新设值。

2.设置主机VMware Virtual Ethernet Adapter for VMnet1
在这里插入图片描述
3.配置静态IP

  • 编辑配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
  • 机器一
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=bcb7a50e-bfdf-4255-b7fe-1c26e29d036d
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.40.110
NETMASK=255.255.255.0
GATEWAY=192.168.40.1
  • 机器二
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=9c11cadc-1810-4181-bd1c-bc0dd18c424f
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.40.120
NETMASK=255.255.255.0
GATEWAY=192.168.40.1
  • 机器二
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=9c11cadc-1810-4181-bd1c-bc0dd18c424f
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.40.130
NETMASK=255.255.255.0
GATEWAY=192.168.40.1
  • 重启网络
service network restart

4.配置hosts

  • 编辑hosts文件
vim /etc/hosts
  • 机器一
192.168.40.110   hadoop110
192.168.40.120   hadoop120
192.168.40.130   hadoop130
  • 机器二
192.168.40.110   hadoop110
192.168.40.120   hadoop120
192.168.40.130   hadoop130
  • 机器三
192.168.40.110   hadoop110
192.168.40.120   hadoop120
192.168.40.130   hadoop130

5.关闭防火墙

  • 查看防火墙状态
systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Sun 2021-08-08 11:53:17 CST; 2 days ago
     Docs: man:firewalld(1)
  Process: 670 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 670 (code=exited, status=0/SUCCESS)
  • 如果防火墙为开启状态需要关闭防火墙
systemctl stop firewalld

6.设置网络共享
仅主机模式虚拟机不能连接外网多少还是不方便,有需要可以配置一下。
VMware虚拟机仅主机模式访问外网

7.Xshell连接虚拟机非常慢
如果有可以配置一下
Xshell连接虚拟机非常慢

创建hadoop用户

1.创建一个一般用户hadoop,配置密码

# 我的密码和用户名一样为了方便学习时好记,生产环境不能这样
useradd hadoop
passwd hadoop

2.配置这个用户为sudoers(sudo时不用输入密码)

  • 编辑sudoers
vim /etc/sudoers
  • 加上
hadoop  ALL=(ALL)       NOPASSWD:ALL
  • 最终结果
    在这里插入图片描述

3.在/opt目录下创建两个文件夹module和software,并把所有权赋给hadoop

  • 创建
mkdir /opt/module /opt/software
chown hadoop:hadoop /opt/module /opt/software
  • 结果
    在这里插入图片描述

安装Java

1.下载jdk8

  • oracle官网去找,

2.将下载后的文件上传至虚拟机/opt/software

cd /opt/software
rz -b
  • 选择下载的文件
    在这里插入图片描述

3.安装rz命令
没有rz命令可以安装一下,或者使用其它方式上传

  • 安装rz命令
yum install -y lrzsz

4.安装jdk

  • 解压jdk到/opt/module
cd /opt/software/
tar -zxvf jdk-8u261-linux-x64.tar.gz -C /opt/module

在这里插入图片描述
5.配置Java环境变量

  • 编辑profile
sudo vim /etc/profile
  • 在尾部加上
# JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_261
export PATH=$PATH:$JAVA_HOME/bin
  • 保存退出后执行
source /etc/profile
  • 验证
# 查看java版本
java -version
# 出现下面结果就成功了
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)

安装Hadoop

1.下载Hadoop
去Apache hadoop官网下载hadoop包,找到你需要的版本的包,我这里是2.7.2。
下载地址
在这里插入图片描述
2.将下载后的文件上传至虚拟机/opt/software
在这里插入图片描述
3.解压至/opt/module

cd /opt/software/
tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module

4.配置hadoop环境变量

  • 编辑profile
sudo vim /etc/profile
  • 在尾部加上
# HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  • 保存退出后执行
source /etc/profile
  • 验证
# 查看hadoop版本
hadoop version

# 出现下面结果就成功了
Hadoop 2.7.2
Subversion Unknown -r Unknown
Compiled by root on 2017-05-22T10:49Z
Compiled with protoc 2.5.0
From source with checksum d0fda26633fa762bff87ec759ebe689c
This command was run using /opt/module/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar

配置hadoop

1.hadoop目录结构

drwxr-xr-x. 2 hadoop hadoop   194 May 22  2017 bin
drwxr-xr-x. 3 hadoop hadoop    20 May 22  2017 etc
drwxr-xr-x. 2 hadoop hadoop   106 May 22  2017 include
drwxr-xr-x. 3 hadoop hadoop    20 May 22  2017 lib
drwxr-xr-x. 2 hadoop hadoop   239 May 22  2017 libexec
-rw-r--r--. 1 hadoop hadoop 15429 May 22  2017 LICENSE.txt
-rw-r--r--. 1 hadoop hadoop   101 May 22  2017 NOTICE.txt
-rw-r--r--. 1 hadoop hadoop  1366 May 22  2017 README.txt
drwxr-xr-x. 2 hadoop hadoop  4096 May 22  2017 sbin
drwxr-xr-x. 4 hadoop hadoop    31 May 22  2017 share
  • bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本。
  • etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件。
  • lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)。
  • sbin目录:存放启动或停止Hadoop相关服务的脚本。
  • share目录:存放Hadoop的依赖jar包、文档、和官方案例。

2.本地模式

2.1官方Grep案例

1.在hadoop-2.7.2文件下面创建一个input文件夹

cd /opt/module/hadoop-2.7.2
mkdir input

2.将Hadoop的xml配置文件复制到input

cd /opt/module/hadoop-2.7.2
cp /etc/hadoop/*.xml input/

3.执行share目录下的MapReduce程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'

4.查看输出结果

cat output/*

在这里插入图片描述

2.1官方WordCount案例

1.在hadoop-2.7.2文件下面创建一个wcinput文件夹

cd /opt/module/hadoop-2.7.2
mkdir wcinput

2.在wcinput文件下创建一个wc.input文件

vim wc.input

3.编辑wc.input文件
在这里插入图片描述
4.执行程序

cd /opt/module/hadoop-2.7.2
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput

5.查看结果

cat wcoutput/part-r-00000

在这里插入图片描述

3.伪分布式运行模式

3.1启动HDFS并运行MapReduce程序

1.目标

  • 配置集群
  • 启动、测试集群增、删、查
  • 执行WordCount案例

2.执行步骤

  • 配置:hadoop-env.sh
# 修改JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_261

在这里插入图片描述

  • 配置:core-site.xml
<configuration>
        <!-- 指定HDFS中NameNode的地址 -->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop110:9000</value>
        </property>

        <!-- 指定Hadoop运行时产生文件的存储目录 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/module/hadoop-2.7.2/data/tmp</value>
        </property>
</configuration>

在这里插入图片描述

  • 配置:hdfs-site.xml
<configuration>
        <!-- 指定HDFS副本的数量 -->
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
</configuration>

在这里插入图片描述

  • 启动集群

(1)格式化NameNode(第一次启动时格式化,以后就不要总格式化)

格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode

hdfs namenode -format

(2)启动NameNode

hadoop-daemon.sh start namenode

(3)启动DataNode

hadoop-daemon.sh start datanode
  • 查看集群

(1)查看是否启动成功

jps

在这里插入图片描述
(1)web端查看HDFS文件系统
http://192.168.40.110:50070/dfshealth.html#tab-overview
在这里插入图片描述
(2)查看日志

cd /opt/module/hadoop-2.7.2/logs

在这里插入图片描述
可以查看对应的日志

  • 操作集群

(1)在HDFS文件系统上创建一个input文件夹

hdfs dfs -mkdir -p /user/hadoop/input

(2)将测试文件内容上传到文件系统上

hdfs dfs -put wcinput/wc.input /user/hadoop/input/

(3)查看上传的文件是否正确

hdfs dfs -ls /user/hadoop/input/
hdfs dfs -cat /user/hadoop/input/wc.input

在这里插入图片描述
(4)运行 MapReduce 程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/hadoop/input/ /user/hadoop/output

(5)查看输出结果

hdfs dfs -cat /user/hadoop/output/*

在这里插入图片描述
(6)浏览文件夹
在这里插入图片描述
在这里插入图片描述
分别可以查看生成的文件和上传的文件。

3.2启动 YARN 并运行 MapReduce 程序

1.目标

  • 配置集群在 YARN 上运行 MR
  • 启动、 测试集群增、 删、 查
  • 在 YARN 上执行 WordCount 案例

2.执行步骤

  • 配置集群

(1)配置 yarn-env.sh

# 配置一下 JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_261

在这里插入图片描述

(2)配置 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>hadoop110</value>
</property>

<!-- 
	下面的这几个配置开始没有配置导致执行wordcount卡在mapreduce.Job: Running job 
	加上后重启可以正常执行,但是后面我将其去掉重启后又可以正常执行wordcount,
	而且这几个配置本来就有默认值,按道理是可以不加的,所以如果可以正常运行就可以不加下面的配置
	真是充满玄学的一天
-->
<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>20480</value>
</property>
<!--  -->
<property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>2048</value>
</property>
<!--  -->
<property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>2.1</value>
</property>

在这里插入图片描述

(3)配置: mapred-env.sh

# 配置一下 JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_261

在这里插入图片描述

(4)配置:mapred-site.xml(对 mapred-site.xml.template 重新命名为:mapred-site.xml)

mv mapred-site.xml.template mapred-site.xml
<!-- 指定 MR 运行在 YARN 上 -->
<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>

在这里插入图片描述

  • 启动集群

(1)启动前必须保证 NameNode 和 DataNode 已经启动

(2)启动 ResourceManager

yarn-daemon.sh start resourcemanager

(3)启动 NodeManager

yarn-daemon.sh start nodemanager
  • 集群操作

(1)YARN 的浏览器页面查看
http://192.168.40.110:8088/cluster
在这里插入图片描述

(2)删除文件系统上的 output 文件

hdfs dfs -rm -R /user/hadoop/output

在这里插入图片描述

(3)执行 MapReduce 程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/hadoop/input/ /user/hadoop/output

(4)查看运行结果

hdfs dfs -cat /user/hadoop/output/*
3.3 配置历史服务器

为了查看程序的历史运行情况, 需要配置一下历史服务器。

  • 配置 mapred-site.xml
<!-- 在文件里面增加如下配置 -->
<!-- 历史服务器端地址 -->
<property>
	<name>mapreduce.jobhistory.address</name>
	<value>hadoop110:10020</value>
</property>
<!-- 历史服务器 web 端地址 -->
<property>
	<name>mapreduce.jobhistory.webapp.address</name>
	<value>hadoop110:19888</value>
</property>
  • 启动历史服务器
mr-jobhistory-daemon.sh start historyserver
  • 查看历史服务器是否启动
jps
  • 查看 JobHistory

http://192.168.40.110:19888/jobhistory

在这里插入图片描述

3.4配置日志的聚集

日志聚集概念: 应用运行完成以后, 将程序运行日志信息上传到 HDFS 系统上。
日志聚集功能好处: 可以方便的查看到程序运行详情, 方便开发调试。
注 意 : 开 启 日 志 聚 集 功 能 , 需 要 重 新 启 动 NodeManager 、 ResourceManager 和
HistoryManager。

  • 配置 yarn-site.xml
<!-- 日志聚集功能使能 -->
<property>
	<name>yarn.log-aggregation-enable</name>
	<value>true</value>
</property>
<!-- 日志保留时间设置 7 天 -->
<property>
	<name>yarn.log-aggregation.retain-seconds</name>
	<value>604800</value>
</property>
  • 关闭 NodeManager 、 ResourceManager 和 HistoryServer
yarn-daemon.sh stop resourcemanager
yarn-daemon.sh stop nodemanager
mr-jobhistory-daemon.sh stop historyserver
  • 启动 NodeManager 、 ResourceManager 和 HistoryServer
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
mr-jobhistory-daemon.sh start historyserver
  • 删除 HDFS 上已经存在的输出文件
hdfs dfs -rm -R /user/hadoop/output
  • 执行 WordCount 程序
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/hadoop/input/ /user/hadoop/output
  • 查看日志, 如图 所示

http://192.168.40.110:19888/jobhistory

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

4.分布式运行模式(重要)

4.1准备
  • 准备 3 台客户机(关闭防火墙、 静态 ip、 主机名称)
  • 安装 JDK并配置环境变量
  • 安装 Hadoop并配置环境变量
  • 配置集群
  • 单点启动
4.2集群配置
  • 集群部署规划
hadoop110hadoop120hadoop130
HDFSNameNode
DataNode
DateNode
JobHistory
SecondaryNameNode
DataNode
YARNNodeManagerResourceManager
NodeManager
NodeManager
  • 配置集群

(1)下载最新版的hadoop

  • 我选择的是3.3.1
  • 安装hadoop(不在重复)
  • 重新配置hadoop环境变量(不在重复)
  • 删除旧的hadoop(不在重复)

参考地址:https://hadoop.apache.org/docs/r3.3.1/hadoop-project-dist/hadoop-common/ClusterSetup.html

(1) 核心配置文件

  • 配置hadoop-env.sh(每台都要配)
export JAVA_HOME=/opt/module/jdk1.8.0_261
  • 配置core-site.xml(每台都要配)
<!-- 指定 HDFS 中 NameNode 的地址 -->
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://hadoop110:9000</value>
</property>
<!-- 指定 顺序文件的缓冲区大小 可以减少IO次数 -->
<property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
</property>
<!-- 指定 Hadoop 运行时产生文件的存储目录 -->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/opt/module/hadoop-3.3.1/data/tmp</value>
</property>
  • 配置 hdfs-site.xml(每台都要配)
<property>
	<name>dfs.replication</name>
	<value>3</value>
</property>
<!-- 指定 Hadoop 辅助名称节点主机配置 -->
<property>
	<name>dfs.namenode.secondary.http-address</name>
	<value>hadoop130:50090</value>
</property>
  • 配置 yarn-site.xml(每台都要配)(3.0无需配置yarn-env.sh的java_home)
<!-- Reducer 获取数据的方式 -->
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
<!-- 指定 YARN 的 ResourceManager 的地址 -->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>hadoop120</value>
</property>
<!-- 日志聚集功能使能 默认false -->
<property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
</property>
  • 配置 mapred-site.xml(每台都要配)(3.0无需配置mapred-env.sh的java_home)
<!-- 指定 MR 运行在 Yarn 上 -->
<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>
<!-- 历史服务器端地址 -->
<property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop120:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop120:19888</value>
</property>
<!-- 这是3.2以上版本需要增加配置的,不配置运行mapreduce任务可能会有问题,记得使用自己的路径 -->
<property>
        <name>mapreduce.application.classpath</name>
        <value>
                /opt/module/hadoop-3.3.1/etc/hadoop,
                /opt/module/hadoop-3.3.1/share/hadoop/common/*,
                /opt/module/hadoop-3.3.1/share/hadoop/common/lib/*,
                /opt/module/hadoop-3.3.1/share/hadoop/hdfs/*,
                /opt/module/hadoop-3.3.1/share/hadoop/hdfs/lib/*,
                /opt/module/hadoop-3.3.1/share/hadoop/mapreduce/*,
                /opt/module/hadoop-3.3.1/share/hadoop/mapreduce/lib/*,
                /opt/module/hadoop-3.3.1/share/hadoop/yarn/*,
                /opt/module/hadoop-3.3.1/share/hadoop/yarn/lib/*
        </value>
</property>
  • 配置works(每台都要配)(2.0是slaves文件)
hadoop110
hadoop120
hadoop130
  • 配置ssh(每台都要配)
# hadoop110
# 生成公私钥,运动选择连续enter就行
ssh-keygen -t rsa
# 进入公私钥目录
cd /home/hadoop/.ssh/
# 将公钥安装到目标机器上,这样就可以免密SSH连接hadoop110、hadoop120和hadoop130
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop110
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop120
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop130

# hadoop120
# 生成公私钥,运动选择连续enter就行
ssh-keygen -t rsa
# 进入公私钥目录
cd /home/hadoop/.ssh/
# 将公钥安装到目标机器上,这样就可以免密SSH连接hadoop110、hadoop120和hadoop130
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop110
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop120
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop130

# hadoop130
# 生成公私钥,运动选择连续enter就行
ssh-keygen -t rsa
# 进入公私钥目录
cd /home/hadoop/.ssh/
# 将公钥安装到目标机器上,这样就可以免密SSH连接hadoop110、hadoop120和hadoop130
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop110
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop120
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop130
  • 设置时间同步

(1)安装ntp(都安装)

# 安装ntp
yum install -y ntp
# 设置开机自启动
systemctl enable ntpd

(2)配置ntp(hadoop110)

vim /etc/ntp.conf
# 配置ntp时间同步的机器范围配置项(192.168.40的网段的机器都参与ntp的时间同步)
restrict 192.168.40.0 mask 255.255.255.0 nomodify notrap
# 阿里云时间服务器
server ntp1.aliyun.com
server ntp2.aliyun.com
server ntp3.aliyun.com
# 兜底时间服务器,当以上三个时间服务器不可用时
server 127.0.0.1
fudge 127.0.0.1 stratum 10

在这里插入图片描述
(3)测试是否可以同步(hadoop110)

ntpdate -u ntp2.aliyun.com

在这里插入图片描述
(4)启动ntp服务(hadoop110)

# 启动
systemctl start ntpd
# 查看状态
systemctl status ntpd

(5)客户机配置(hadoop120、hadoop130)

# 将时间服务器配置为hadoop110
# hadoop110
server hadoop110
# 兜底时间服务器,当以上三个时间服务器不可用时
server 127.0.0.1
fudge 127.0.0.1 stratum 10

在这里插入图片描述

# 测试是否可以同步
ntpdate -u hadoop110
# 启动
systemctl start ntpd
# 查看状态
systemctl status ntpd
4.3集群启动
  • 如果集群是第一次启动, 需要格式化 NameNode
hdfs namenode -format
  • 在 hadoop110 上启动 NameNode
# 启动NameNode
hadoop-daemon.sh start namenode
# 查看NameNode
jps
  • 在 hadoop110 hadoop120 hadoop130上启动DataNode
# 启动DataNode
hadoop-daemon.sh start datanode
# 查看DataNode
jps
  • 在hadoop120上启动ResourceManager
# 启动ResourceManager
yarn-daemon.sh start resourcemanager
# 查看ResourceManager
jps
  • 在 hadoop110 hadoop120 hadoop130上启动NodeManager
# 启动NodeManager
yarn-daemon.sh start nodemanager
# 查看NodeManager
jps
  • 在hadoop130上启动SecondaryNamenode
# 启动NodeManager
hadoop-daemon.sh start secondarynamenode
# 查看NodeManager
jps
  • 在hadoop120上启动HistoryServer
# 启动HistoryServer
mr-jobhistory-daemon.sh start historyserver
# 查看HistoryServer
jps
  • 检查集群情况

(1)Web 端查看 Yarn

http://192.168.40.120:8088/cluster

在这里插入图片描述

(2)Web 端查看 SecondaryNameNode

http://192.168.40.130:50090/status.html

在这里插入图片描述

(3)Web查看HistoryServer

http://192.168.40.120:19888/jobhistory/app

在这里插入图片描述
(4)Web查看NameNode(2.x端口是50070,3.x端口是9870)

http://192.168.40.110:9870/dfshealth.html#tab-overview
在这里插入图片描述

  • 验证集群

(1)在 HDFS 文件系统上创建一个 input 文件夹

hdfs dfs -mkdir -p /user/hadoop/input

(2)测试文件上传到文件系统

# 上传小文件
hdfs dfs -put wcinput/wc.input /user/hadoop/input
# 上传大文件
hdfs dfs -put /opt/software/jdk-8u261-linux-x64.tar.gz /user/hadoop/input

(3)查看上传是否正确
在这里插入图片描述

(4)查看文件上传是否正确(每个节点都能看的文件)

cd /opt/module/hadoop-3.3.1/data/tmp/dfs/data/current/BP-1927473396-192.168.40.110-1629372952977/current/finalized/subdir0/subdir0

从文件大小上我们可以看到1002和1003是我上传的jdk包,拼接起来就是完整的包了。
在这里插入图片描述
(5)下载

# 网页或者命令都行
hadoop fs -get /user/hadoop/input/jdk-8u261-linux-x64.tar.gz ./
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值