基于CentOS-7搭建hadoop3.3.6大数据集群(保姆级教程)

news2025/1/23 13:03:04

目录

安装虚拟机

为hadoop用户添加权限

关闭防火墙

修改主机名以及ip地址映射

配置ip

连接xshell ,以hadoop用户登录

创建目录并将该文件夹权限赋予hadoop用户

安装配置jdk

关闭虚拟机,克隆其他两个节点

修改主机名和ip地址

配置免密登录

安装配置hadoop

配置文件修改

集群初始化

查看进程和web界面


安装虚拟机

接下来按照默认推荐无脑下一步,到磁盘容量这一步需要修改,容量看自己或老师要求,这个并不会实际占用这么多电脑磁盘空间

点击开启此虚拟机等待安装

等很久没反应一般是需要按 Enter键 确认

进入安装界面

等待安装......安装好后重启即可

切换为命令行模式

linux图形化界面和字符界面的转换_linux图形界面切换到字符界面命令-CSDN博客

为hadoop用户添加权限

vim   /etc/sudoers

关闭防火墙

注:(root用户)

systemctl stop firewalld 关闭

systemctl disable firewalld 取消开机自启动

systemctl status firewalld 检查是否已关闭

修改主机名以及ip地址映射

主机名根据自己需要修改,ip地址后的就是映射的主机名

配置ip

点击虚拟网络编辑器,将网段修改为我们需要的网段

再修改配置文件/etc/sysconf ig/network-scripts/ifcfg-ens33

vim /etc/sysconf ig/network-scripts/ifcfg-ens33

重启网络服务:service network restart 

然后重启reboot (主机名用配置文件修改需要重启才会生效)

连接xshell ,以hadoop用户登录

创建目录并将该文件夹权限赋予hadoop用户

[hadoop@ly01 ~]$ sudo mkdir /opt/bigdata
[hadoop@ly01 ~]$ sudo chown hadoop:hadoop /opt/bigdata

切换到该目录

[hadoop@ly01 ~]$ cd /opt/bigdata/

安装配置jdk

卸载OpenJDK、安装新版JDK、配置JDK

先用rpm -qa | grep java查看java-openjdk版本

根据上述情况,卸载1.7.0、1.8.0即可,不同镜像会略有不同

sudo rpm -e --nodeps java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64

sudo rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64

sudo rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64

sudo rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64

rz上传jdk文件

[hadoop@ly01 bigdata]$ rz

[hadoop@ly01 bigdata]$ ll
total 135512
-rw-r--r--. 1 hadoop hadoop 138762230 Jul 28  2023 jdk-8u361-linux-x64.tar.gz

解压并重命名为jdk

[hadoop@ly01 bigdata]$ tar -zxvf jdk-8u361-linux-x64.tar.gz 
[hadoop@ly01 bigdata]$ mv jdk1.8.0_361 jdk
[hadoop@ly01 bigdata]$ ll
total 135516
drwxrwxr-x. 8 hadoop hadoop      4096 May 16 00:05 jdk

配置环境变量

 vim /etc/profile

在最后添加以下内容

export JAVA_HOME=/opt/bigdata/jdk
export PATH=$PATH:$JAVA_HOME/bin

使修改后配置文件生效 

[hadoop@ly01 bigdata]$ source /etc/profile

 检查是否安装成功

[hadoop@ly01 bigdata]$ java -version
java version "1.8.0_361"
Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)

关闭虚拟机,克隆其他两个节点

修改主机名和ip地址

节点2和3都需修改,修改之后重启reboot

sudo vim /etc/hostname 

vim /etc/sysconf ig/network-scripts/ifcfg-ens33

配置免密登录

重启之后通过xshell连接三个节点,均以hadoop用户登录

在每个节点都执行以下命令

ssh-keygen  -t  rsa  (连续三次回车)
ssh-copy-id  ly01   (输入yes,hadoop用户的密码)
ssh-copy-id  ly02    (输入yes,hadoop用户的密码)
ssh-copy-id  ly03    (输入yes,hadoop用户的密码)

可在节点1ssh 连接其他节点测试是否成功

安装配置hadoop

切换目录,rz上传hadoop文件并解压,重命名

[hadoop@ly01 ~]$ cd /opt/bigdata/
[hadoop@ly01 bigdata]$ rz

[hadoop@ly01 bigdata]$ tar -zxvf hadoop-3.3.6.tar.gz
[hadoop@ly01 bigdata]$ mv hadoop-3.3.6 hadoop

 配置环境变量

[hadoop@ly01 bigdata]$ sudo vim /etc/profile

#修改为以下内容
export JAVA_HOME=/opt/bigdata/jdk
export HADOOP_HOME=/opt/bigdata/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

#生效
[hadoop@ly01 bigdata]$ source /etc/profile

配置文件修改

将hadoop-env.sh mapred-env.sh yarn-env.sh 加入JAVA_HOME变量

[hadoop@ly01 bigdata]$ echo "export JAVA_HOME=/opt/bigdata/jdk" >> /opt/bigdata/hadoop/etc/hadoop/hadoop-env.sh
[hadoop@ly01 bigdata]$ echo "export JAVA_HOME=/opt/bigdata/jdk" >> /opt/bigdata/hadoop/etc/hadoop/mapred-env.sh
[hadoop@ly01 bigdata]$ echo "export JAVA_HOME=/opt/bigdata/jdk" >> /opt/bigdata/hadoop/etc/hadoop/yarn-env.sh

切换目录

[hadoop@ly01 bigdata]$ cd /opt/bigdata/hadoop/etc/hadoop
[hadoop@ly01 hadoop]$ 

节点名称按照自己的修改,文件目录不一样的话也要修改!!!

 core-site.xml修改

<configuration>
   <property>
        <name>fs.defaultFS</name>
        <value>hdfs://ly01:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/opt/bigdata/hadoop/tmp</value>
    </property>
</configuration>

 hdfs-site.xml修改

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/opt/bigdata/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/opt/bigdata/hadoop/tmp/dfs/data</value>
    </property>
</configuration>

 mapred-site.xml修改

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

 yarn-site.xml修改

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>ly01</value>
    </property>
</configuration>

 workers修改

#删除原有内容,添加节点名称
ly01
ly02
ly03

 将节点1上的hadoop文件夹拷贝到另外节点2、节点3上、

[hadoop@ly01 hadoop]$ scp -r /opt/bigdata/hadoop/ hadoop@ly02:/opt/bigdata/
[hadoop@ly01 hadoop]$ scp -r /opt/bigdata/hadoop/ hadoop@ly03:/opt/bigdata/

节点1上的profile文件拷贝到另外节点2、节点3上,并到相应的机器上执行source

注:输入yes后输入root用户密码即可,如下

[hadoop@ly01 hadoop]$ sudo scp /etc/profile root@ly02:/etc
The authenticity of host 'ly02 (192.168.100.101)' can't be established.
ECDSA key fingerprint is SHA256:g8y2CV35sHBpQEFYDXbO3dosU8UF4bABd3O0O3rPgDw.
ECDSA key fingerprint is MD5:b0:ee:6e:25:e1:f2:f4:c9:3f:1a:e9:18:44:d2:a1:84.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ly02,192.168.100.101' (ECDSA) to the list of known hosts.
root@ly02's password: 
profile                                                                                                                                                             100% 1961     1.1MB/s   00:00 
[hadoop@ly01 hadoop]$ sudo scp /etc/profile root@ly03:/etc
The authenticity of host 'ly03 (192.168.100.102)' can't be established.
ECDSA key fingerprint is SHA256:g8y2CV35sHBpQEFYDXbO3dosU8UF4bABd3O0O3rPgDw.
ECDSA key fingerprint is MD5:b0:ee:6e:25:e1:f2:f4:c9:3f:1a:e9:18:44:d2:a1:84.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ly03,192.168.100.102' (ECDSA) to the list of known hosts.
root@ly03's password: 
profile                                                                                                                                                             100% 1961     1.0MB/s   00:00    
[hadoop@ly01 hadoop]$ 
#在节点2执行
[hadoop@ly02 ~]$ source /etc/profile
#在节点3执行
[hadoop@ly03 ~]$ source /etc/profile

集群初始化

hadoop namenode -format

启动hadoop集群

start-yarn.sh
start-dfs.sh

 jps查看进程

节点1(主节点)

[hadoop@ly01 hadoop]$ jps
2567 ResourceManager
3498 DataNode
3661 SecondaryNameNode
3390 NameNode
4334 NodeManager
4415 Jps

从节点(都是三个进程)

[hadoop@ly02 hadoop]$ jps
2761 Jps
2698 NodeManager
2493 DataNode

查看进程和web界面

192.168.100.100:8088

192.168.100.100:9870

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1681425.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在VS Code中安装插件并进行中文化。

相关文章推荐: 如何下载和安装Visual Studio Code&#xff08;VSCode&#xff09; 在使用Visual Studio Code&#xff08;简称VS Code&#xff09;进行开发时&#xff0c;安装插件可以极大地提升开发效率和使用体验。而将VS Code插件界面进行中文化&#xff0c;则能更好地满足中…

在 Django 中获取已渲染的 HTML 文本

在Django中&#xff0c;你可以通过多种方式获取已渲染的HTML文本。这通常取决于你希望在哪个阶段获取HTML文本。下面就是我在实际操作中遇到的问题&#xff0c;并且通过我日夜奋斗终于找到解决方案。 1、问题背景 在 Django 中&#xff0c;您可能需要将已渲染的 HTML 文本存储…

计算机网络-路由策略与路由控制一

到目前为止我们学习了路由与交换基础&#xff0c;路由协议有静态、RIP、OSPF、IS-IS等&#xff0c;但是根据实际组网需求&#xff0c;往往需要实施一些路由策略对路由信息进行过滤、属性设置等操作&#xff0c;通过对路由的控制&#xff0c;可以影响数据流量转发。 因此我们开始…

【刷题篇】二分查找(二)

文章目录 1、山脉数组的峰顶索引2、寻找峰值3、寻找旋转排序数组中的最小值4、LCR 点名 1、山脉数组的峰顶索引 符合下列属性的数组 arr 称为 山脉数组 &#xff1a; arr.length > 3 存在 i&#xff08;0 < i < arr.length - 1&#xff09;使得&#xff1a; arr[0] &l…

停车场车位引导系统是什么,停车场车位引导系统有哪些作用?

随着城市交通的快速发展&#xff0c;车辆的数量也在迅速增长&#xff0c;随之而来的就是停车难的问题&#xff0c;那么在城市中&#xff0c;如何合理的利用好现有资源&#xff0c;让停车资源得到合理利用呢&#xff1f;这就需要一套科学有效的智能停车场系统&#xff0c;可以帮…

FreeRTOS【6】线程优先级

1.开发背景 基于上一篇指引&#xff0c;已经了解了线程的阻塞&#xff0c;这个篇章主要介绍线程优先级的影响 2.开发需求 设计实验验证高优先级会抢占低优先级线程 CPU 3.开发环境 window10 MDK STM32F429 FreeRTOS10.3.1 4.实现步骤 1&#xff09;创建测试线程&#xff…

语法分析-文法

如果对于一部文法中&#xff0c;存在至少一个句子有两个或者两个以上的语法树则该文法是二义性的。 我们可以以上面的例子进行解释&#xff0c;对于第棵个语法树&#xff0c;我们可以看到是先进行了加法运算再进行的乘法运算&#xff0c;因为需要先把EE作为整体运算完后再成为E…

MLM之GPT-4o:GPT-4o(多模态/高智能/2倍速/视觉改进/128K的大窗口)的简介、安装和使用方法、案例应用之详细攻略

MLM之GPT-4o&#xff1a;GPT-4o(多模态/高智能/2倍速/视觉改进/128K的大窗口)的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;2024年5月13日&#xff0c;OpenAI重磅发布新旗舰模型GPT-4o&#xff0c;这是一个全新的旗舰模型&#xff0c;可以实时跨越音频、视觉和…

【错题集-编程题】主持人调度(一)(排序)

牛客对应题目链接&#xff1a;主持人调度&#xff08;一&#xff09;_牛客题霸_牛客网 (nowcoder.com) 一、分析题目 区间问题技巧&#xff1a;左端点排序或者按照右端点排序。 左端点排序后&#xff0c;仅需考虑后续区间是否能与前⼀个区间重叠即可。 二、代码 1、没看题解之…

javaEE进阶——SpringBoot与SpringMVC第一讲

文章目录 什么是springMVCSpringMVC什么是模型、视图、控制器MVC和SpringMVC的关系SpringMVC的使用第一个SpringMVC程序RestController什么是注解 那么RestController到底是干嘛的呢&#xff1f;RequestMapping 如何接收来自请求中的querystryingRequestParamRequestMapping(&q…

使用Xterm实现终端构建

————html篇———— // 需要使用Xterm Xterm的官网&#xff1a; Xterm.js 新建项目 增加基本文件 下载 框架 npm init -y Xterm依赖 npm install xterm/xterm 参考文档写的代码 贴入代码 <html><head><link rel"stylesheet" href"nod…

[Algorithm][回溯][字母大小写全排列][优美的排列][N皇后]详细讲解

目录 1.字母大小写全排列1.题目链接2.算法原理详解3.代码实现 2.优美的排列1.题目链接2.算法原理详解3.代码实现 3.N 皇后1.题目链接2.算法原理详解3.代码实现 1.字母大小写全排列 1.题目链接 字母大小写全排列 2.算法原理详解 本题逻辑与子集大致相同 思路一&#xff1a;每…

Verdaccio私服搭建

前言 Verdaccio是一个轻量级的私有npm注册表&#xff0c;由Node.js创建&#xff0c;并且是sinopia1.4.0的衍生版本&#xff0c;与其100%向后兼容。Verdaccio的名称来源于意大利中世纪晚期fresco绘画中流行的一种绿色。 Verdaccio的主要功能是在本地环境中管理和共享npm软件包。…

基于区块链的Web 3.0关键技术研讨会顺利召开

基于区块链的Web3.0关键技术研讨会 2024年4月23日&#xff0c;由国家区块链技术创新中心主办的“基于区块链的web3.0关键技术研讨会”召开。Web3.0被用来描述一个运行在“区块链”技术之上的“去中心化”的互联网&#xff0c;该网络上的主体掌握自己数据所有权和使用权&#xf…

减肥健身个人总结

个人一直没有健身运动的习惯&#xff0c;工作久了体重超标&#xff0c;体检报告各种指标也不太“美丽”&#xff0c;开始学习一些减肥健身知识&#xff0c;持续更新。目标是每周减1~2斤&#xff0c;用几个月时间持续到体重恢复正常。 文章目录 一、减脂原理---制造热量缺口控制…

位拆分与运算

描述 题目描述&#xff1a; 现在输入了一个压缩的16位数据&#xff0c;其实际上包含了四个数据[3:0][7:4][11:8][15:12], 现在请按照sel选择输出四个数据的相加结果,并输出valid_out信号&#xff08;在不输出时候拉低&#xff09; 0: 不输出且只有此时的输入有…

LeetCode-2589. 完成所有任务的最少时间【栈 贪心 数组 二分查找 排序】

LeetCode-2589. 完成所有任务的最少时间【栈 贪心 数组 二分查找 排序】 题目描述&#xff1a;解题思路一&#xff1a;贪心暴力解题思路二&#xff1a;栈二分查找解题思路三&#xff1a;简化版 题目描述&#xff1a; 你有一台电脑&#xff0c;它可以 同时 运行无数个任务。给你…

Java面试八股之Collection和Collections的区别

Java中Collection和Collections的区别 Collection 是一个接口&#xff0c;位于 java.util 包中&#xff0c;它是 Java 集合框架的顶层接口之一&#xff0c;代表了一组对象的集合。Collection 接口定义了所有集合类型&#xff08;如 List、Set、Queue 等&#xff09;所共有的基…

electron的Remote模块

03 【electron的Remote模块】 在渲染进程里&#xff08;比如index.html里面加载了一些js文件&#xff0c;那里面的js如果要使用到 BrowserWindow 这些属性的话就必须使用 remote&#xff09; 使用 remote 模块, 你可以调用 main 进程对象的方法 1.electron14.0之前版本使用 …

2024年NOC大赛创客智慧(西瓜创客)图形化复赛编程真题模拟试卷包含答案

NOC 复赛图形化模拟题 【题目要求】 1、添加角色小猫和“Balloon1”角色气球(大小 70) 2、添加背景“Boardwalk” 3、点击绿旗,角色初始位置如图,小猫从舞台左侧出发,向舞台右 侧移动,移动过程中不断切换造型 4、当小猫碰到气球角色,小猫停止移动,气球逐渐向舞台上方…