1-centOS7搭建伪分布式
前言:虚拟机快照的使用
VMware Workstation 软件可以用快照进行迅速的虚拟机状态的切换
※. 类似于虚拟机备份, 可以使用备份进行快速恢复。 比如没安装jdk之前拍摄快照来备份
※. 若jdk没安装好或者jdk环境变量配置的有问题, 可以用安装之前的快照快速恢复虚拟机
1.拍摄快照:
2.恢复到某快照的位置:

(可以在创建用户前,生成公钥私钥前,安装jdk前,搭建伪分布式Hadoop之前拍摄虚拟机快照)
一、创建用户
-----------------------------------------------------------------------------------------------
创建一个用户,用户名为hadoop ,注意在xshell中操作如下四个命令
1.1.创建用户
sudo useradd -m hadoop -s /bin/bash
注意: 添加用户 hadoop 并在以后登录时采用解析器/bin/bash
1.2.设置用户名密码:
sudo passwd hadoop
注意:用passwd命令给hadoop用户设置密码(密码不是显示,所以写慢一些,别写错)
1.3.创建sudo组:
groupadd sudo
1.4.将hadoop用户添加到sudo组中:
usermod -a -G sudo hadoop
二、修改主机名:
-----------------------------------------------------------------------------------------------
2.1.在虚拟机中执行如下命令(不要在xshell中执行)
sudo gedit /etc/hostname
用上边命令打开hostname文件将里边内容改为master(修改虚拟机的主机名)

2.2.在虚拟机中用如下命令添加主机名与ip的映射关系:
sudo gedit /etc/hosts
用上边的命令打开hosts文件,然后给最后一行添加: 真实的IP地址 主机名
具体参考下图:

2.3.重启虚拟机,以hadoop用户登录:
sudo reboot
三、生成公钥和私钥:
-----------------------------------------------------------------------------------------------
ssh-keygen -t rsa
注意:有三个地方需要敲回车进行确认

四、拷贝公钥到登录电脑:
-----------------------------------------------------------------------------------------------
4.1.下边命令拷贝公钥 :
cd ~/.ssh
ssh-copy-id -i id_rsa.pub hadoop@master
Are you sure you want to continue connecting (yes/no)?后边输入 yes
hadoop@master's password: 输入密码
作用是拷贝公钥id_rsa.pub复制到登录电脑hadoop@master的 .ssh/authorized_keys文件中
注:hadoop是虚拟电脑的用户名, master是虚拟电脑的ip地址(在上边将ip映射成了master)

4.2.测试ssh登录:
ssh master #不报错,并且ssh登录成功就行
五、安装JDK:
5.1.解压:
tar -zxvf jdk-8u231-linux-x64.tar.gz -C /usr/lib/jvm
5.2.配置jdk环境变量:
gedit ~/.bashrc 注意:左边在虚拟机中执行(别在xshell中执行)

注意:让环境变量立即生效命令为 source ~/.bashrc
注意:验证环境变量是否生效命令为 java -version
上图的代码如下:
| export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_231 export JRE_HOME=$JAVA_HOME/jre export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib |
source ~/.bashrc #让环境变量立即生效
java -version #验证环境变量是否生效(jdk是否是1.8.0_231版本)
六、伪分布式hadoop搭建:
6.1.将hadoop安装包复制到当前用户主目录里:

6.2.解压hadoop安装包:
将hadoop安装包解压到usr下的local文件夹内, 命令如下:
sudo tar -zxvf hadoop-3.1.2.tar.gz -C /usr/local
![]()
将命令光标切换到/usr/local文件夹内
cd /usr/local/
将hadoop-3.1.2改名为hadoop
sudo mv /usr/local/hadoop-3.1.2 /usr/local/Hadoop
![]()
6.3.将 /usr/local/hadoop文件夹所有者改为hadoop
sudo chown -R hadoop /usr/local/hadoop
6.4.配置hadoop环境变量:
A.编辑 个人主目录下的 .bashrc
gedit ~/.bashrc
注意:上一行的gedit命令需要在虚拟机中执行(不能在xshell中执行)
B.添加hadoop环境变量:
在 .bash配置文件中添加如下两行环境变量信息
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
C.让环境变量立即生效:
source ~/.bashrc
D.修改Hadoop配置文件。
D1.修改hadoop-env.sh配置文件:
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
注意:上一行的gedit命令需要在虚拟机中执行(不能在xshell中执行)

代码如下:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_231
注意: hadoop-env.sh文件和yarn-env.sh文件用来控制hadoop的bin目录中的脚本
注意: 伪分布式Hadoop必须配置hadoop-env.sh、core-site.xml和 hdfs-site.xml三个文件
D2.编辑core-site.xml:
用如下命令打开core-site.xml文件, 并添加如下内容到<configuration>标签之间
sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml
注意:上一行的gedit命令需要在虚拟机中执行(不能在xshell中执行)
在/usr/local/hadoop/etc/hadoop/core-site.xml的一对儿configuration标签添加如下内容:
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
</property>
D3.编辑hdfs-site.xml文件:
sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml
注意:上一行的gedit命令需要在虚拟机中执行(不能在xshell中执行)
用上边gedit命令打开文件并在configuration中添加如下内容:
<property><name>dfs.namenode.name.dir</name><value>file:/usr/local/hadoop/dfs/name</value>
</property>
<property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/dfs/data</value>
</property>
<property><name>dfs.replication</name><value>1</value>
</property>
D4.对主节点格式化:
集群启动前,需要先对主节点进行格式化,生成元数据。 命令如下:
hdfs namenode -format
格式化完成后的提示如下:

D5.启动Hadoop服务:
命令如下:
start-all.sh
结果如下:

注意: 可以像上图,用jps命令查看到6个进程。
D6.浏览器测试访问:
- 通过下边网址访问yarn管理界面
http://master:8088/cluster

- 通过下边地址访问HDFS管理界面:
http://master:9870/

D7.测试:
用运行Hadoop自带的样例程序hadoop-mapreduce-examples-3.1.2.jar:
代码如下:
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.2.jar pi 2 1000
结果如下:

完毕!!
注意: 下边操作不需要进行(如果出了对应的问题再看下边说明策略)
七、其他问题说明:
7.1.关闭虚拟机的用户图形化界面:
A.注意:查看当前虚拟机界面
cat /etc/inittab
# multi-user.target: analogous to runlevel 3 #命令界面
# graphical.target: analogous to runlevel 5 #图形界面
B.注意:设置界面
systemctl set-default multi-user.target #采用命令界面
systemctl set-default graphical.target #采用图形界面

7.2.设置网络自动连接:
1.进入网络脚本文件夹network-scripts
cd /etc/sysconfig/network-scripts/
2.修改网络配置文件:
sudo gedit ifcfg-ens33
3.将ONBOOT=no 的值改为yes, 参考下图

4.重启:
reboot
7.3.用户 不在 sudoers 文件中
解决办法:
1.切换到root用户登录
2.给sudoers文件设置权限为640
chmod 640 /etc/sudoers
3.编辑sudoers文件
gedit /etc/sudoers 注意:此命令再虚拟机中执行(不要再xshell中执行)
将此用户添加到sudoers文件中:

7.4.centos安装ssh的方法:
- 首先安装【openssh-server】;
- 然后修改配置文件,并启动ssh的服务;
- 接着设置开机自动启动;
- 最后设置文件夹【~/.ssh】的访问权限即可。
1. 安装openssh-server
yum install -y openssl openssh-server
2. 修改配置文件
配置文件/etc/ssh/sshd_config
sudo gedit /etc/ssh/sshd_config
注意:上一行的命令要在虚拟机中执行(不要再xshell中执行,否则不能用记事本软件打开sshd_config配置文件)

3、启动ssh的服务:
systemctl start sshd.service
4、设置开机自动启动ssh服务
systemctl enable sshd.service
5、设置文件夹~/.ssh的访问权限:
cd ~
chmod 700 .ssh
chmod 600 .ssh/*
ls -la .ssh 查看.ssh文件的权限是否和下边相匹配

注意: authorized_keys文件存储的是客户端的公共密钥。
相关文章:
1-centOS7搭建伪分布式
前言:虚拟机快照的使用 VMware Workstation 软件可以用快照进行迅速的虚拟机状态的切换 ※. 类似于虚拟机备份, 可以使用备份进行快速恢复。 比如没安装jdk之前拍摄快照来备份 ※. 若jdk没安装好或者jdk环境变量配置的有问题, 可以用安装之…...
对开源自动化测试平台MeterSphere的使用感触
1:该平台可以通过接口,参数,配置的维护,然后继续接口自动化“一键测试”,功能还是挺强大的,具体的使用需要研究 MeterSphere的官网:MeterSphere - 专业测试云 2:一键测试在生产环境…...
Spring boot 第一个程序
新建工程 选择spring-boot版本 右键创建类TestController: 代码如下: package com.example.demo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springf…...
【SpringMVC】实现增删改查(附源码)
目录 引言 一、前期准备 1.1.搭建Maven环境 1.2.导入pom.xml依赖 1.3.导入配置文件 ①jdbc.properties ②generatorConfig.xml ③log4j2.xml ④spring-mybatis.xml ⑤spring-context.xml ⑥spring-mvc.xml ⑦修改web.xml文件 二、逆向生成增删改查 2.1.导入相关u…...
理财是什么?怎样学习理财?
大家好,我是财富智星,今天跟大家分享一下理财是什么?怎样学习理财的方法。 一、理财的基本原则 1、理财应注重投资而不是投机,要与时间为友。 让我们先考虑以下问题:什么样的回报才算是真正的高回报?假设有…...
华为云云耀云服务器L实例评测 | 开启OPC UA之旅
OPC Unified Architecture (OPC UA)是一种用于工业自动化的M2M协议(Machine-to-machine),具有平台独立性,在Windows和Linux上都可以运行。随着云服务在工业现场的不断普及,OPCUA服务也开始大量部署在云端。 本文以华为云云耀云服务器L为基础…...
帝国CMS灵动标签如何调用$ecms_hashur[‘ehref‘]函数
我们在二次开发时,后台调用链接就需要加上帝国CMS的$ecms_hashur[ehref]函数,这是帝国CMS后台的安全函数,防止外部直接访问后台页面,直接强制访问后台链接就会提示“非法来源”。 我的站长站分享下制作自定义php页面,用帝国CMS灵动标签如何调用$ecms_hashur[ehref]函数方…...
ES6 拓展(下)
一、函数的拓展 1.1、默认参数 在ES5中设置默认参数: function func(words, name) {name name || "闷墩儿";console.log(words, name); } func("大家好!我是"); func("大家好!我是", "憨憨");func(…...
TouchGFX之自定义触发条件和操作
通过TouchGFX Designer,您可以自己定义具有触发条件和操作的交互组件。 自定义容器创建自定义触发条件:通过自定义容器的属性选项卡添加自定义触发条件 使用交互系统发送自定义触发条件: 通过自定义容器的“交互”选项卡,创建新的…...
Linux防火墙(iptables)
一、linux的防火墙组成 linux的防火墙由netfilter和iptables组成。用户空间的iptables制定防火墙规则,内核空间的netfilter实现防火墙功能。 netfilter(内核空间)位于Linux内核中的包过滤防火墙功能体系,称为Linux防火墙的“内核…...
zookeeper教程
zookeeper教程 zookeeper简介zookeeper的特点及数据模型zookeeper下载安装zookeeper客户端命令zookeeper配置文件zookeeper服务器常用命令zookeeper可视化管理工具zkuizookeeper集群环境搭建zookeeper选举机制使用Java原生api操作zookeeper使用java zkclient库操作zookeeper使用…...
杭州快递物流展-2024长三角快递物流供应链与技术装备展览会(杭州)
2024快递物流创新高质量发展论坛暨 2024长三角快递物流供应链与技术装备展览会(杭州) 时间:2024年4月12-14 日 地点:杭州国际博览中心 ESYE长三角快递物流展是亚洲范围内超大规模的快递物流业展示平台,由于展会的需求 及扩大市场的影响力…...
CSP 202203-1 未初始化警告
答题 要注意是xi和yi的范围,yi可以是0为常数。 #include<iostream> using namespace std;int main() {int n,k;cin>>n>>k;bool*initializenew bool[n]{false};int result0,x,y;while(k--){cin>>x>>y;if(y&&!initialize[y-1…...
开发指导—利用组件插值器动画实现 HarmonyOS 动效
一. 组件动画 在组件上创建和运行动画的快捷方式。具体用法请参考通用方法。 获取动画对象 通过调用 animate 方法获得 animation 对象,animation 对象支持动画属性、动画方法和动画事件。 <!-- xxx.hml --><div class"container"> <di…...
树莓派入门
目录 前言系统烧录使用官方烧录工具选择操作系统选择存储卡配置 Win32DiskImager 有屏幕树莓派开机树莓派关机无屏幕树莓派开机获取树莓派IP地址通过路由器获取共享网络方式获取给树莓派配置静态IP地址查找默认网关分盘给树莓派的IP地址修改树莓派DHCP配置文件 ssh登录 让树莓派…...
算法模型嵌入式 Mendix应用的开发示例
一、前言 根据埃森哲最新一项调查,2023年67%的企业持续加大在技术方面的投入,其中数据和AI应用是重中之重。AI在企业内部应用这个话题已经保持了十多年的热度,随着ChatGPT为代表的生成式AI技术的出现,这一话题迎来又一波的高潮。…...
如何使用Cygwin编译最新版的Redis源码,生成适用于Windows的Redis
文章目录 一、准备Cygwin环境二、下载Redis源码三、编译redis-7.2.01. 执行make命令2. 重新执行make命令3. 再次执行make命令4. 将编译后的可执行文件及依赖放到同一个文件夹5. 测试编译生成的可执行程序 四、换其他redis版本重新编译1. 编译redis-7.0.122. 编译redis-6.2.133.…...
Linux 修改SSH端口
如果防火墙,或防火墙已经开启,需要先开放2222端口 firewall-cmd --add-port2222/tcp --permanent --zonepublic firewall-cmd --reload编辑文件 vim /etc/ssh/sshd_config: #Port 22 Port 2222 # 打开注释,并修改为以下值 Clien…...
Redis经典问题:缓存穿透
(笔记总结自《黑马点评》项目) 一、产生原因 用户请求的数据在缓存中和数据库中都不存在,不断发起这样的请求,给数据库带来巨大压力。 常见的解决方式有缓存空对象和布隆过滤器。 二、缓存空对象 思路:当我们客户…...
DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION (论文解析)
DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION 摘要1 介绍2 相关工作3 重新审视 Transformers 和 DETR4 方法4.1 用于端到端目标检测的可变形transformer4.2 Deformable Detr的其他改进和变型5 实验5.1 和DETR 比较5.2 消融实验5.3 与最先进方法的…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...

