当前位置:首页 > 修改聊天记录 > 正文内容

Hadoop 完全分布式搭建(超详细无坑版,直接复制执行)

网页编辑2个月前 (04-28)修改聊天记录89

# Hadoop 完全分布式搭建【超详细无坑版|直接复制执行】 适配:**CentOS 7 / Rocky Linux 7+** 架构:`1主 + 2从` - master:NameNode、ResourceManager - node1:DataNode、NodeManager - node2:DataNode、NodeManager 前置统一规范: - 主机名:master / node1 / node2 - 统一用户:root - 统一目录:`/usr/local/hadoop` - JDK:1.8 - 关闭防火墙、SELinux、免密登录、固定IP --- # 一、三台机器 前置统一配置(所有节点执行) ## 1. 固定主机名 ```bash # master 执行 hostnamectl set-hostname master # node1 执行 hostnamectl set-hostname node1 # node2 执行 hostnamectl set-hostname node2 ``` ## 2. 配置 hosts(三台全部执行) ```bash cat >> /etc/hosts << EOF 192.168.10.100  master 192.168.10.101  node1 192.168.10.102  node2 EOF ``` > 替换为你三台真实 IP ## 3. 关闭防火墙 & 开机不自启 ```bash systemctl stop firewalld systemctl disable firewalld ``` ## 4. 关闭 SELinux ```bash sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config setenforce 0 ``` ## 5. 安装依赖 ```bash yum install -y wget net-tools vim lrzsz tar ``` --- # 二、配置 SSH 免密登录【仅 master 执行】 ```bash # 生成密钥 一路回车 ssh-keygen -t rsa # 分发公钥到三台机器 ssh-copy-id master ssh-copy-id node1 ssh-copy-id node2 ``` 测试:`ssh node1` 无需密码即为成功 --- # 三、统一安装 JDK1.8(三台全部) ## 1. 解压安装 ```bash # 上传 jdk-8u341-linux-x64.tar.gz 到 /usr/local tar -zxvf /usr/local/jdk-8u341-linux-x64.tar.gz -C /usr/local/ mv /usr/local/jdk1.8.0_341 /usr/local/jdk ``` ## 2. 配置环境变量 ```bash cat >> /etc/profile << EOF # JDK export JAVA_HOME=/usr/local/jdk export JRE_HOME=\$JAVA_HOME/jre export CLASSPATH=.:\$JAVA_HOME/lib:\$JRE_HOME/lib export PATH=\$JAVA_HOME/bin:\$PATH EOF source /etc/profile java -version ``` --- # 四、Hadoop 安装【master 操作,后续分发】 ## 1. 解压 ```bash # 上传 hadoop-3.3.6.tar.gz 到 /usr/local tar -zxvf /usr/local/hadoop-3.3.6.tar.gz -C /usr/local/ mv /usr/local/hadoop-3.3.6 /usr/local/hadoop ``` ## 2. Hadoop 环境变量 ```bash cat >> /etc/profile << EOF # HADOOP export HADOOP_HOME=/usr/local/hadoop export HADOOP_CONF_DIR=\$HADOOP_HOME/etc/hadoop export HADOOP_COMMON_LIB_NATIVE_DIR=\$HADOOP_HOME/lib/native export PATH=\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin:\$PATH EOF source /etc/profile hadoop version ``` ## 3. 修改 hadoop-env.sh ```bash vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh ``` 写入: ```bash export JAVA_HOME=/usr/local/jdk 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 ``` --- # 五、核心配置文件(全部复制覆盖) ## 1. core-site.xml ```bash vim /usr/local/hadoop/etc/hadoop/core-site.xml ``` ```xml <configuration>    <property>        <name>fs.defaultFS</name>        <value>hdfs://master:9000</value>    </property>    <property>        <name>hadoop.tmp.dir</name>        <value>/usr/local/hadoop/tmp</value>    </property>    <property>        <name>hdfs.trash.interval</name>        <value>1440</value>    </property> </configuration> ``` ## 2. hdfs-site.xml ```bash vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml ``` ```xml <configuration>    <property>        <name>dfs.replication</name>        <value>2</value>    </property>    <property>        <name>dfs.namenode.secondary.http-address</name>        <value>node1:50090</value>    </property> </configuration> ``` ## 3. mapred-site.xml ```bash vim /usr/local/hadoop/etc/hadoop/mapred-site.xml ``` ```xml <configuration>    <property>        <name>mapreduce.framework.name</name>        <value>yarn</value>    </property>    <property>        <name>mapreduce.application.classpath</name>        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>    </property> </configuration> ``` ## 4. yarn-site.xml ```bash vim /usr/local/hadoop/etc/hadoop/yarn-site.xml ``` ```xml <configuration>    <property>        <name>yarn.resourcemanager.hostname</name>        <value>master</value>    </property>    <property>        <name>yarn.nodemanager.aux-services</name>        <value>mapreduce_shuffle</value>    </property> </configuration> ``` ## 5. workers 从节点列表 ```bash vim /usr/local/hadoop/etc/hadoop/workers ``` 清空原有内容,写入: ``` node1 node2 ``` --- # 六、分发 Hadoop 到 node1、node2 ```bash scp -r /usr/local/hadoop node1:/usr/local/ scp -r /usr/local/hadoop node2:/usr/local/ # 分发环境变量 scp /etc/profile node1:/etc/ scp /etc/profile node2:/etc/ ``` 两台从节点执行生效: ```bash source /etc/profile ``` --- # 七、格式化 & 启动集群【仅 master】 ## 1. 初始化临时目录 ```bash mkdir -p /usr/local/hadoop/tmp ``` ## 2. 格式化 NameNode(**只执行一次!**) ```bash hdfs namenode -format ``` ## 3. 启动 HDFS ```bash start-dfs.sh ``` ## 4. 启动 YARN ```bash start-yarn.sh ``` --- # 八、集群进程检查 ## master 执行:`jps` ``` NameNode ResourceManager ``` ## node1 / node2 执行:`jps` ``` DataNode NodeManager ``` --- # 九、Web 访问 - HDFS:http://master:9870 - YARN:http://master:8088 --- # 十、常用启停命令 ```bash # 全集群停止 stop-dfs.sh stop-yarn.sh # 全集群启动 start-dfs.sh start-yarn.sh ``` --- # 十一、避坑关键点(必看) 1. 所有节点 **IP+hosts 一一对应** 2. 只在 **第一次部署** 执行 `hdfs namenode -format`,重复格式化集群损坏 3. 免密登录必须通,否则启动卡死 4. 防火墙、SELinux 必须关闭 5. 三台机器 **JDK、Hadoop 路径完全一致**

扫描二维码推送至手机访问。

版权声明:本文由手机数据加工厂发布,如需转载请注明出处。

本文链接:https://www.gaijilu.com/?id=253

“Hadoop 完全分布式搭建(超详细无坑版,直接复制执行)” 的相关文章

修改微信聊天记录的效果

这个视频是通过软件剪辑合成的,只是表明是这种效果,在实际操作过程中没有这么快捷,有一些准备工作,比方说手机的设置等,手机设置完成连接网络后,可能需要5-10分钟。...

有哪些软件可以实现手机和电脑之间的高效数据管理?

有哪些软件可以实现手机和电脑之间的高效数据管理?

下面按「苹果生态 / 安卓+Windows / 全平台通用」三类,给你整理**真正能落地、高效不乱的手机↔电脑数据管理软件**,每款讲清楚:**能干啥、适合谁、优缺点**。 --- ## 一、iPhone + Mac(苹果生态最优) ### 1. 系统自带:隔空投送 + 访达(免费,首...

怎样才能提高手机电脑数据同步的速度?

怎样提高手机与电脑数据同步的速度切换高速网络优先连接5G 频段 WiFi,避开速度慢、干扰大的 2.4G WiFi;手机和电脑连接同一个无线网络,使用局域网传输,不消耗外网网速,速度更快。缩短设备距离让手机和电脑靠近摆放,远离墙壁、金属障碍物,减少信号遮挡,保证网络信号稳定强劲。关闭占用网速的程序暂...

算力调度算法:基于AI的智能算力分配方法

下面我用偏工程、好落地的方式,把 “基于 AI 的智能算力调度算法(智能算力分配方法)” 讲清楚:从核心思路、主流 AI 算法、典型流程,到鸿蒙 / 端侧场景怎么用。一、问题背景:为什么要用 AI 调度算力?传统算力调度(轮询、加权轮询、静态优先级)靠人工规则,面对 AI 任务(大模型训练 / 推理...

有哪些好用的AI算力调度算法工具?

下面按开源主流、云厂商、端侧 / 鸿蒙、轻量科研四类,直接给可落地、口碑好的 AI 算力调度工具,附核心算法、适用场景和关键能力。一、通用开源调度框架(K8s 生态,工业级)1. Volcano(CNCF,字节 / 华为主导)核心算法:Gang 调度、DRF(主导资源公平)、Bin-packing、...

有这5款爬虫软件,三分钟搞定复杂网页采集

有这5款爬虫软件,三分钟搞定复杂网页采集

下面这 5 款是目前对付反爬、动态渲染、验证码这类复杂网页最省心、最快上手的工具,从零代码到企业级都有,三分钟就能跑起来。1. 八爪鱼采集器(Octoparse)—— 零代码首选特点:纯可视化、拖拽 + 点击录制,自动识别列表、翻页、字段。强项:AI 辅助解析页面、自动等待加载、内置验证码处理、定时...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。