首页 > 其他分享 >hadoop_集群搭建步骤超级干货

hadoop_集群搭建步骤超级干货

时间:2024-11-27 09:31:42浏览次数:7  
标签:启动 配置 hadoop etc 干货 集群 namenode 节点

搭建步骤

前言

hadoop3.2.3的高可用集群
服务器共计12台:1台NameNode Active节点,1台NameNode Standby节点,10台DataNode节点
namenode-1节点为:NNActive节点、RM Active节点
namenode-2节点为:NN Standby节点、RM Standby节点

1.配置主机名解析

  • 修改主机名
    两种方式:
    1)在/etc/sysconfig/network文件中添加:HOSTNAME=主机名

    vi /etc/sysconfig/network
    

    2)使用命令修改主机名(在系统重新启动后会被重置为默认值)

    hostname new_hostname
    
  • 配置/etc/hosts文件
    1)在机器上的/etc/hosts文件中配置集群所有机器的ip及主机名映射
    在这里插入图片描述
    2)使用scp命令复制hosts文件到其他机器上
    scp /etc/hosts root@XXX.XX.XX.XXX:/etc/
    

2.创建新用户

  • 创建hadoop用户,并赋予root权限

  • 创建2个文件夹存放框架的其他软件文件
    1)/opt/software 存放软件压缩包
    2)/opt/modules 存放解压后的文件

    以上动作可以通过如下脚本实现:

    #!/bin/bash
    
    	name=hadoop
    	passwd=hadoop
    
    	useradd $name
    	
    	# 将密码hadoop传递给passwd命令,为hadoop用户设置密码
    	# &> /dev/null是将命令的标准输出和标准错误都重定向到/dev/null,即不显示任何输出或错误信息
    	echo "$passwd" | passwd --stdin $name &> /dev/null
    	
    	# 为/etc/sudoers文件添加写权限
    	chmod u+w /etc/sudoers
    
    	sed -i '100a\hadoop  ALL=(ALL)    NOPASSWD:ALL' /etc/sudoers
    
    	mkdir /opt/modules
    	
    	# 将/opt/modules目录及其内部的所有文件和目录的所有者和组都设置为hadoop
    	chown -R $name:$passwd /opt/modules
    	
    	mkdir /opt/software
    	
    	chown -R $name:$passwd /opt/software
    
  • 通过scp命令分发脚本文件并在每台机器上执行

3.配置免密

  • 切换到hadoop用户

  • 配置免密

    # 生成密钥
    ssh-keygen -t rsa
    # 将公钥拷贝给其他节点
    ssh-copy-id 节点hostname
    
  • 集群内所有机器相互免密,关于免密可参考如下:
    linux_ssh免密登录_CSDN

4.安装JDK、解压hadoop

  • 将压缩包分发到各机器,批量压缩
    1)集群文件分发脚本

    #!/bin/bash
    
    file=$1
    # file=/opt/software/jdk-8u211.linux-x64.tar.gz
    path=$2
    # path=/opt/software/
    
    scp $file namenode-2:$2
    for((i=1;i<11;i++))
    do
    	scp $file datenode-$i:$2
    done
    

    2)集群远程执行命令

    # 将command替换为压缩命令
    
    #!/bin/bash
    
    command=$*
    
    ssh namenode-2 $command
    
    exit;
    
    for((i=1;i<11;i++))
    do
    		ssh datanode-$i $command
    		exit;
    done
    
  • 配置JAVA_HOME、HADOOP_HOME

    vim /etc/profile
    
    export JAVA_HOME=/opt/modules/jdk1.8.0_211/
    export HADOOP_HOME=/home/hadoop/hadoop/
    export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    
  • 分发/etc/profile文件到集群各节点

5.关闭防火墙

  • 命令如下:
    # 停止firewall
    systemctl stop firewalld.service    
    	
    # 禁止firewall开机启动        
    systemctl disable firewalld.service      
    	  
    # 查看防火墙状态
    firewall-cmd --state
    

6.配置env文件

  • 配置文件在/hadoop/etc/hadoop/目录下,hadoop-env.sh、mapred-env.sh、yarn-env.sh

    # 在上述文件里配置JAVA_HOME
    export JAVA_HOME=/opt/modules/jdk1.8.0_211/
    

7.创建slaves、workers文件

  • /etc/hadoop/slaves文件记录了集群中所有DataNode的主机名,在执行群起时,默认读取slaves文件中集群配置的主机名

    vim slaves
    

    在这里插入图片描述

  • /etc/hadoop/workers文件用于指定哪些节点作为工作节点

    vim workers
    

    在这里插入图片描述

8.配置core-site.xml

9.配置hdfs-site.xml

10.配置mapred-site.xml

11.配置yarn-site.xml

12.安装并启动 zookeeper

ZooKeeper是Hadoop HA的关键组件,负责管理和协调NameNode之间的故障切换

13启动 journalnode

JournalNode是Hadoop HA中用于持久化存储NameNode的事务日志的组件。在启动NameNode之前,需要确保JournalNodes已经启动并正常运行。
JournalNode至少3个节点

  • 在需要启动的机器上执行下面命令,本次启动机器为datanode-[1-5]
    /home/hadoop/hadoop-3.2.3/sbin/hadoop-daemon.sh start journalnode
    

14.格式化 namenode

  • 由于NameNode是Active-Standby方式的高可用模型,先在namenode-1节点执行下面命令
    hdfs namenode -format
    

15.初始化 zkfc

ZKFC(ZooKeeper Failover Controller)负责监视活跃的NameNode的健康状态,并在发生故障时执行自动故障切换。

  • 在namenode-1节点执行
    hdfs zkfc -formatZK
    

16.启动 namenode-1

  • 在namenode-1节点执行
    /home/hadoop/hadoop-3.2.3/sbin/hadoop-daemon.sh start namenode
    

17.同步 namenode

  • 在namenode-2节点执行,保证两个namenode初始化数据相同
    hdfs namenode -bootstrapStandby
    

18.启动 namenode-2

  • 在namenode-2节点执行
    /home/hadoop/hadoop-3.2.3/sbin/hadoop-daemon.sh start namenode
    

19.启动 ZKFC

  • 在namenode-1和namenode-2上执行,哪台先启动哪台就是active
    /home/hadoop/hadoop-3.2.3/sbin/hadoop-daemon.sh start zkfc
    

20.启动 datanode

  • 在所有datanode上执行
    /home/hadoop/hadoop-3.2.3/sbin/hadoop-daemon.sh start datanode
    

21.启动 resourcemanager

  • 在namenode-1和namenode-2上执行,哪台先启动哪台就是active
    /home/hadoop/hadoop-3.2.3/sbin/yarn-daemon.sh start resourcemanager
    

22.启动 nodemanager

  • 在所有datanode上执行
    /home/hadoop/hadoop-3.2.3/sbin/yarn-daemon.sh start nodemanager
    

FAQ

正常的启动顺序

在上述集群初始化的启动中,顺序不变,去掉namenode格式化、zkfc初始化和namenode同步

附录

Hadoop-HA详解

hadoop_HA高可用_CSDN

Hadoop_Zookeeper详解

hadoop_zookeeper详解_CSDN

Hadoop-3.2.3压缩包及配置文件

Hadoop-3.2.3压缩包及配置文件_CSDN

标签:启动,配置,hadoop,etc,干货,集群,namenode,节点
From: https://blog.csdn.net/qq_41074187/article/details/142833487

相关文章

  • hadoop_HA高可用
    秒懂HAHA概述HDFS-HA工作机制工作要点元数据同步参数配置手动故障转移自动故障转移工作机制相关命令YARN-HA参数配置自动故障转移机制相关命令附录Zookeeper详解HA概述H(high)A(avilable):高可用,意味着必须有容错机制,不能因为集群故障导致不可用!实现高可用最关......
  • 职场生存指南 | Java程序员入职新公司 (干货盛宴 !!!)
    目录一、拿到需求无从下手?二、程序员如何在职场上少走弯路?三、职场生存之道四、初入职场小白常犯的几大错误五、职场上遇到甩锅PUA怎么反击?Hello,大家好呀,我是小斜同学。最近有小伙伴反馈说成功入职了新公司,但是拿到需求以后不知道该怎么来做,感觉到无从下手,力不从心。......
  • Hadoop面试题总结
    1.1、介绍Hadoop广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。狭义上说,Hadoop指Apache这款开源框架,它的核心组件有:(1)、HDFS(分布式文件系统):解决海量数据存储(2)、YARN(作业调度和集群资源管理的框架):解决资源任务调度(3)、MAPREDUCE(分布式运算编程框架):解决海量......
  • 在k8s集群中创建新的用户,绑定集群并实现访问集群资源
    ​为了让普通用户能够通过认证并调用API,需要执行几个步骤。首先,该用户必须拥有Kubernetes集群签发的证书,然后将该证书提供给KubernetesAPI。创建私钥下面的脚本展示了如何生成PKI私钥和CSR。设置CSR的CN和O属性很重要。CN是用户名,O是该用户归属的组......
  • hadoop~搭建HA集群之后不能自动切换namenode
    在搭好HA集群之后,想测试一下集群的高可用性,于是先把active的namenode给停掉:hadoop-daemon.shstopnamenode或者直接kill掉该节点namenode的对应进程也可。但是通过hdfshaadmin-getServiceStatemaster1查看,发现standby的namenode并没有自动切换成active,直到我把之前kill......
  • 【docker集群应用】Docker常用命令
    文章目录Docker常用命令Docker镜像操作搜索镜像获取镜像查看镜像信息添加镜像标签删除镜像存出与载入镜像上传镜像Docker容器操作容器创建查看容器状态启动容器创建并启动容器后台持续运行容器终止容器运行进入容器文件复制容器导出与导入删除容器批量操作Docke......
  • Kafka集群管理:大数据运维专家来教你如何实现数据均衡与性能最大化
    Kafka概述Kafka起初是由LinkedIn公司采用Scala语言开发的一个多分区、多副本且基于ZooKeeper协调的分布式消息系统,现已被捐献给Apache基金会。 目前Kafka已经定位为一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使......
  • 如何快速涨到1000粉?如何快速涨粉!千川投流涨粉!运营干货分享!快速起号方法!
    在如今这个社交媒体高度发达的时代,虚假的粉丝随处可见。然而,对于真正有追求的抖音创作者和商家来说,虚假粉丝和低质量流量绝非他们所期望的。那么,如何在这纷繁复杂的社交媒体环境中,获取一批真实活跃的粉丝呢?今天,我们将为您带来一线曙光,揭开一个强大的秘密武器。通过这项官......
  • 【干货分享】网络安全从业者书单推荐
    推荐几本网络安全从业者必读的书籍一、计算机基础《网络硬件设备完全技术宝典》(第3版)本书共768页,包括交换机、路由器、安全设备、网络设备等重要和常用的网络设备,图文并茂,语言流畅,内容及其丰富。《深入理解计算机网络》本书共647页,是计算机网络领域的康鼎之作,内容十分权威......
  • mongodb shard 分片集群基础概念
    目录一、shard集群二、ConfigServer1、config.shards2、config.database3、config.collection4、config.chunks5、config.settings6、其他三、shard机制1、PrimaryShard2、ShardKey2.1范围分片2.2哈希分片2.3ShardKey重定义2.4版本约束2.5ShardKey......