当前位置:   article > 正文

Hadoop3.1.3 伪分布式安装_opt/module/hadoop-3.1.3/libexec/hadoop-functions.s

opt/module/hadoop-3.1.3/libexec/hadoop-functions.sh: 行 1765: /opt/module/jd

在这里插入图片描述

前言:

Hadoop集群有三种运行模式,单机模式,伪分布模式、完全分布式模式。

单机模式:只有一个JVM进程数,只运行在一台机器上;

伪分布模式:有多个JVM进程数,运行在同一台机器上;

完全分布式模式:多个JVM进程数,运行在三台或三台以上的机器上。
  • 1
  • 2
  • 3
  • 4
  • 5

说明:

安装教程是在root用户下进行,搭载单机模式 =====> 搭载伪分布式
如果在普通用户下,要注意权限、环境变量等,使用sudo命令。

Hadoop单机模式

一、网络配置、修改主机名、修改网络映射、Ping外网、连接xshell

具体配置请查看: CentOS 7 linux网络配置、修改主机名、修改网络映射、Ping外网、连接xshell

二、vim编辑器的安装使用

具体配置请查看: vim详解 以CentOs 7系统为例

三、安装jdk

1.使用xshell文件传输工具上传JDK
上传jdk-8u361-linux-x64.tar.gz到/opt目录下在这里插入图片描述
2 查看Linux是否安装java jdk

rpm -qa | grep java

如果查询有其他java版本,则需要卸载

rpm -e --nodeps 查询的包名

3.cd至上传目录
tar 指令解压:

tar -zxvf jdk-8u361-linux-x64.tar.gz

在这里插入图片描述
4.重命名为jdk(方便配置环境变量)

mv jdk1.8.0_361/ jdk
在这里插入图片描述

5.配置环境变量

vim /etc/profile

在这个文件最后换行添加如下三行:

# JDK
export JAVA_HOME=/opt/jdk
export PATH=$JAVA_HOME/bin:$PATH
  • 1
  • 2
  • 3

在这里插入图片描述
6 使这个配置文件生效

source /etc/profile

7 验证(查看java版本)

java -version

在这里插入图片描述

四、安装hadoop

1.使用xshell文件传输工具上传hadoop
上传hadoop-3.1.3.tar到/opt目录下>在这里插入图片描述
2.cd 至上传opt目录
解压安装包到/opt目录

tar -zxvf hadoop-3.1.3.tar.gz

3.重命名为hadoop(方便配置环境变量)
在这里插入图片描述
4.配置环境变量

vim /etc/profile

在这个文件最后换行添加如下三行:

#HADOOP
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  • 1
  • 2
  • 3

6 使这个配置文件生效

source /etc/profile

7 验证(查看hadoop版本)

hadoop version

在这里插入图片描述

现在我们已经初步安装了jdk和hadoop环境
接下来进一步配置hadoop分布式

Hadoop集群伪分布模式

一、配置免密登录

进行免密登录需要安装ssh

安装ssh服务:

1.查看是否安装ssh

rpm -qa | grep ssh

如果有openssh-clients、openssh-server,则不需要安装
如果没有,则需要安装,安装命令如下:

yum install -y openssh-clients openssh-server

2.启动ssh服务

service sshd start|stop|restart|status

start:开启、restart:重启、stop:关闭、status:状态,根据自己需要选择

配置免密登录
作用举例:启动yarn服务需要输入系统密码(节省时间)

1.本机生成公钥、私钥和验证文件

ssh-keygen -t rsa

回车三次即可

2.将登录信息复制到验证文件

ssh-copy-id hadoop

hadoop为主机名
注意:输入该指令后需要自行输入登录密码
输入时系统输入栏密码不显示(正常输入回车即可)
在这里插入图片描述
这样就配置好免密登录了
可以尝试ssh登录命令查看是否配置成功:

ssh hadoop

exit登出在这里插入图片描述

二、HDFS的配置

1.进入Hadoop配置目录:

cd /opt/hadoop/etc/hadoop/

(1)配置hadoop-env.sh

vim hadoop-env.sh

在这个配置文件最后换行添加

export JAVA_HOME=/opt/jdk

(2)配置core-site.xml

vi core-site.xml

将这个配置文件最后的标签内容修改为

<configuration>
<!--配置hdfs文件系统的命名空间-->
<property>
   <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
</property>
<!-- 配置临时数据存储目录 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop/tmp/</value>
</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

fs.defaultFS:这里fs表示文件系统和default.name表示名称节点
其值为hdfs://localhost:9000,9000为端口号

hadoop.tmp.dir : hadoop文件系统依赖的基本配置,很多配置路径都依赖它,默认路径设置在/tmp下很不安全,Linux在重新启动时,很可能就删除这个路径下的文件。因此在安全分布式集群下,我们都会在etc/hadoop/core-site.xml重新设置这个路径。

(3)配置hdfs-site.xml

vi etc/hadoop/hdfs-site.xml

<configuration>
  <!--指定HDFS副本的数量-->
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <!--设置默认端口,如果不加上会导致启动hadoop-3.1.0后无法访问50070端口查看HDFS管理界面,hadoop-2.7.7可以不加-->
  <property> 
    <name>dfs.http.address</name> 
    <value>hadoop:50070</value> 
  </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

(4)格式化HDFS

配置好HDFS文件系统后首次启动需要进行格式化
注意:不可随意格式化namenode,格式化会删除namenode image和edits文件
再创建新的 image 和 edits,数据将会丢失,需要谨慎使用!!

格式化命令:

hdfs namenode -format

在这里插入图片描述格式化成功!
格式化成功后,会在hadoop.tmp.dir配置的/opt/hadoop/tmp目录生成目录dfs/name/current/,里面包含几个文件如下:
在这里插入图片描述

fsimage_*:
元数据永久性检查点,包含hadoop文件系统中的所有目录和文件inode的序列化信息。

fsimage_*.md5文件:
md5校验文件,用于确保fsimage文件的正确性,可以作用于磁盘异常导致文件损坏的情况。

seen_txid文件
这个文件中保存了一个事务id

VERSION文件
VERSION是java属性文件,内容大致如下:

 namespaceID=578053814
 clusterID=CID-90f1e4c5-54d1-42f9-b7eb-6bb8f3783f7f
 cTime=1686995205902
 storageType=NAME_NODE
 blockpoolID=BP-1828331363-192.168.233.210-1686995205902
 layoutVersion=-64
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

namespaceID是文件系统唯一标识符,在文件系统首次格式化之后生成,在引入Federation特性后,可能会有多个namespace。

clusterID是系统生成或手动指定的集群ID,在-clusterID选项中可以使用它。

cTime表示Namenode存储的创建时间。

storageType表示这个文件存储的是什么进程的数据结构信息(如果是Datanode,则为DATA_NODE)。

blockpoolID表示每一个Namespace对应的块池id,这个id包括了其对应的Namenode节点的ip地址。

layoutVersion表示HDFS永久性数据结构的版本信息,只要数据结构变更,版本号也要递减,此时的HDFS也需要升级,否则磁盘仍旧使用旧版本的数据结构,这会导致新版本的Namenode无法使用。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

二、YARN的配置

1.进入Hadoop配置目录:

cd /opt/hadoop/etc/hadoop/

(1)配置yarn-site.xml

vim yarn-site.xml

<configuration>
<!--RM的hostname-->
<property>
   <name>yarn.resourcemanager.hostsname</name>
   <value>hadoop</value>
</property>
<!--NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序-->
<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

(2)配置mapred-site.xml

vim mapred-site.xml

<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

yarn 是一种资源管理和作业调度技术,作为Hadoop 的核心组件之一,负责将系统资源分配给在 Hadoop 集群中运行的各种应用程序,并调度要在不同集群节点上执行的任务,其基本思想是将资源管理和作业调度/监视的功能分解为单独的 daemon,

三、启动服务用户定义

方法一:

vim /etc/profile

# HADOOP_USER
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

方法二:

vim /etc/
进入hadoop sbin目录

cd $HADOOP_HOME/sbin

vim start-dfs.sh
vim stop-dfs.sh
头部添加以下内容

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

vim start-yarn.sh
vim stop-yarn.sh
头部添加以下内容

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

启动hdfs或yarn服务

启动hdfs服务:

start-dfs.sh

三大服务节点:

NameNode:
NameNode 是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。Namenode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。

Secondary NameNode:
Secondary NameNode 并不是 NameNode 的热备机,而是定期从 NameNode 拉取 fsimage和editlog文件,并对两个文件进行合并,形成新的 fsimage 文件并传回 NameNode,这样做的目的是减轻 NameNode 的工作压力,本质上 SNN 是一个提供检查点功能服务的服务点。

DataNode:
DataNode 负责数据块的实际存储和读写工作,Block 默认是128MB,当客户端上传一个大文件时,HDFS 会自动将其切割成固定大小的 Block,为了保证数据可用性,每个 Block 会以多备份的形式存储,默认是3份。

启动yarn服务

start-yarn.sh

ResourceManager:
ResourceManager 通常在独立的机器上以后台进程的形式运行,它是整个集群资源的主要协调者和管理者。

NodeManager
NodeManager 是 YARN 集群中的每个具体节点的管理者。主要负责该节点内所有容器的生命周期的管理,监视资源和跟踪节点健康。

同时启动或停止所有服务

启动命令:

start-all.sh

查看结果:

jps
如果没有缺少节点则配置成功
缺少节点则查验节点的配置文件

在这里插入图片描述

停止命令:

stop-all.sh

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号