首页 > 其他分享 >Hadoop完全分布式安装

Hadoop完全分布式安装

时间:2024-06-05 09:32:00浏览次数:24  
标签:opt xml Hadoop module site export yarn 安装 分布式

Hadoop完全分布式安装

一.集群搭建前期准备

1.三台机器防火墙都是关闭的

2.确保三台机器网络配置畅通

3.三台机器确保/etc/hosts⽂件配置了ip和hostname的映射关系

4.确保三台机器配置了ssh免密登录认证

二.前期环境搭建 免密登录

1.修改主机名为server1,配置hosts文件

vi /etc/hosts
192.168.61.2 server1
192.168.61.3 server2
192.168.61.4 server3

2.下载相关软件

net-tool:工具包集合,包含ifconfig等命令
yum install -y net-tools 
实时同步文件:
yum install -y rsync

3.克隆三台机器后设置免密登录(三台机器都需要设置)

生成公钥与私钥(三次回车)
ssh-keygen
向目标主机发送公钥(输入密码)
ssh-copy-id server1
ssh-copy-id server2
也需要对自己设置免密
ssh-copy-id master

三.安装jdk和Hadoop

1.上传安装包至/opt下的新文件夹中,module(存放数据)sofeware(存放安装包)

2.解压文件至/opt/module中

tar -zxvf hadoop-2.7.7.tar.gz -C /opt/module/
tar -zxvf jdk-8u333-linux-x64.tar.gz -C /opt/module/

四.配置环境变量和文件(Hadoop配置文件位于/opt/module/hadoop-2.7.7/etc/hadoop下)

1.配置环境变量

vi /etc/profile
在文件末尾添加,将路径更改为你的安装路径
export JAVA_HOME=/opt/module/jdk1.8.0_333
export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_HOME=/opt/module/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

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

保存退出
source /etc/profile  使环境变量立即生效
输入命令 java -version 验证 JDK 是否安装成功:

2.配置hadoop-env.sh 文件

vi hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_333

3.配置核心文件core-site.xml

vi core-site.xml
<configuration>

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

    <!-- 指定 Hadoop 数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-2.7.7/data</value>
    </property>
    
    <!-- 配置 HDFS 网页登录使用的静态用户为master-->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>master</value>
    </property>

</configuration>

4.HDFS 配置文件hdfs-site.xml

vi hdfs-site.xml
<configuration>

	<!-- nn(NameNode) web 端访问地址-->
	<property>
        <name>dfs.namenode.http-address</name>
        <value>master:9870</value>
    </property>
    
	<!-- 2nn(SecondaryNameNode) web 端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>server2:9868</value>
    </property>
    
</configuration>

5.YARN 配置文件yarn-site.xml

vi 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>server1</value>
    </property>

	<!-- 开启日志聚集功能 -->
	<property>
	    <name>yarn.log-aggregation-enable</name>
	    <value>true</value>
	</property>
	
	<!-- 设置日志聚集服务器地址 -->
	<property>  
	    <name>yarn.log.server.url</name>  
	    <value>http://master:19888/jobhistory/logs</value>
	</property>
	
	<!-- 设置日志保留时间为 7 天 -->
	<property>
	    <name>yarn.log-aggregation.retain-seconds</name>
	    <value>604800</value>
	</property>

</configuration>

6.MapReduce 配置文件mapred-site.xml(将mapred-site.xml.template改名成mapred-site.xml即可 mv命令)

vi mapred-site.xml
<configuration>

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

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

</configuration>

6.配置workers/slaves文件

vi workers/slaves
添加主机
master
server2
server3
注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行

7.文件分发

我们上面的操作都只是在主节点 server1 中进行,现在我们需要把所有文件分发给从机 server2 server3

分发环境变量
rsync -r /etc/profile server1:/etc/profile
rsync -r /etc/profile server2:/etc/profile
分发 JDK 和 Hadoop
scp -r /opt/module server1:/opt
scp -r /opt/module server2:/opt
source /etc/profile     使环境变量立即生效

五.启动集群

如果集群是第一次启动,则需要先格式化 NameNode 节点

hdfs namenode -format

格式化完成后,启动集群

在主节点中运行
start-dfs.sh
在 ResourceManager 节点中运行
start-yarn.sh 

或者

在主节点中运行
start-all.sh
在 ResourceManager 节点中运行
start-yarn.sh 

在主节点中启动历史服务器
mr-jobhistory-daemon.sh start historyserver

启动完成后,输入 jps 命令检查各节点是否正常:

在本地浏览器中查看 Hadoop web 界面:http://192.168.61.2:9870

六.集群规划

server1server2server3
HDFSNameNode DataNodeDataNodeSecondaryNameNode DataNode
YARNNodeManagerResourceManager NodeManagerNodeManager

节点分析

名称作用
NameNode也称为 nn,管理文件系统的命名空间,维护文件系统树以及整个树上所有文件和目录,负责协调集群中的数据存储
SecondaryNameNode帮助 NameNode 缓解压力,合并编辑日志,减少 NameNode 启动时间
ResourceManager一个仲裁整个集群可用资源的主节点,帮助 YARN 系统管理其上的分布式应用
NodeManagerYARN 中单节点的代理,它管理 Hadoop 集群中单个计算节点
DataNode负责真正存储数据的节点,提供来自文件系统客户端的读写请求

7.番外配置

在HDFS配置文件中修改安全模式阀值,达到关闭安全模式的目的
在hdfs-site.xml中设置安全阀值属性,属性值默认为0.999f,如果设为1则不进行安全检查
永久退出安全模式:
<property>
  <name>dfs.safemode.threshold.pct</name>
  <value>0.999f</value>
  <description>
    Specifies the percentage of blocks that should satisfy
    the minimal replication requirement defined by dfs.replication.min.
    Values less than or equal to 0 mean not to wait for any particular
    percentage of blocks before exiting safemode.
    Values greater than 1 will make safe mode permanent.
  </description>
</property>
关闭网页hdfs对权限的操作验证
# 直接关闭 HDFS 权限验证,在 hdfs-site.xml 文件中添加如下配置:
<property>
   <name>dfs.permissions</name>
   <value>false</value>
</property>

标签:opt,xml,Hadoop,module,site,export,yarn,安装,分布式
From: https://blog.csdn.net/2202_75833209/article/details/139450348

相关文章

  • Linux上安装Docker
    本安装教程参考Docker官方文档,地址如下:https://docs.docker.com/engine/install/centos/ 1.卸载旧版首先如果系统中已经存在旧的Docker,则先卸载:yumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-l......
  • faceswap软件安装教程
    下载软件访问faceswap网站,下载对应的软件版本,faceswap下载地址,下载完成,打开软件后看到的软件目录如下:安装faceswap软件安装miniconda软件(非必须),其它python虚拟环境亦可,miniconda安装教程自行检索,安装完成后创建虚拟环境condacreate-nenv_namepython=3.9.19安装软......
  • Kubernetes - 安装方法
    Minikube:对于想要在系统上安装Kubernetes但系统资源有限的用户来说,它是理想的选择。因此,minikube的关键点在于它没有单独的Kubernetes主节点和Kubernetes工作节点架构。在这里,我们将所有Kubernetes组件打包在一起作为一体化设置。单个系统同时充当主节点和工作节点。访......
  • Z.ExtensionMethods安装
    C#开源实用的工具类库,集成超过1000多种扩展方法 前言今天大姚给大家分享一个C#开源(MITLicense)、免费、实用且强大的工具类库,集成超过1000多种扩展方法增强.NETFramework和.NETCore的使用效率:Z.ExtensionMethods。直接项目引入类库使用在你的对应项目中NuGet包管理器......
  • 【QT】安装与新建工程
    文章目录一、QT简介一、QT安装(两种方式,自己选择)A5.15之后版本采用在线安装,推荐开源镜像下载,速度快。B5.15版本之前采用离线安装,可直接下载离线文件。C离线版补充添加或移除组件步骤:二、建立工程一、QT简介QT是多平台C++的图形用户界面应用程序框架,多用于车机、智......
  • 【Linux】(三)—— 文件管理和软件安装
    文件管理Linux的文件管理是系统管理中的核心部分,它涉及到如何组织、访问、修改和保护文件及目录结构。目录文件管理基本概念常用命令查看和切换目录创建文件和目录删除文件和目录文件拷贝移动和重命名文件文件查看cat文件查看more查找文件文件类型文件链接归档和压缩......
  • Linux 安装了MySQL 8.0后 如何修改初始密码
    1.grep‘temporarypassword’ /var/log/mysqld.log #查看初始临时密码2.systemctlstartmysqld #启动mysql3.mysqladmin-uroot-ppassword‘xxx’ #这里的xxx一般是大写字母加小写字母,数字和字符组成一共12-13个左右就可以修改4.这里的Enterpassword......
  • Archlinux安装教程
    先放张图:  准备工作1、进入Live环境后关闭reflectorsystemctlstopreflector2、使用iwctl联网3、timedatectl修改时区timedatectlset-timezoneAsia/Shanghai4、date验证时间fdisk-l查看硬盘和分区情况cfdisk<硬盘编号>修改分区如:cfdisk/dev/sda5、......
  • neo4j下载安装
    一、下载安装Neo4jJDK已下载好官网:Neo4jDeploymentCenter-GraphDatabase&Analytics然后选择自己需要的的版本进行下载 安装打开系统变量,新建系统变量 点击Path,新建,输入 %NEO4J_HOME%\bin 测试是否设置成功,打开命令窗口,输入 neo4j.batconsole 复制......
  • 服务器安装centos系统报错
    安装centos报错:dracut-initqueue:warning:dracut-initqueuetimeout-startingtimeoutscripts解决方法U盘启动报错信息 查看U盘的对应分区 重启电脑按e进入编辑模式将:vmlinuzinitrd=initrd.imginst.stage2=hd:LABEL=CentOS\x207\x20x86_64rd.live.checkquiet改......