当前位置: 首页 > news >正文

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.浏览器测试访问:

  1. 通过下边网址访问yarn管理界面

http://master:8088/cluster

  1. 通过下边地址访问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的方法:

  1. 首先安装【openssh-server】;
  2. 然后修改配置文件,并启动ssh的服务;
  3. 接着设置开机自动启动;
  4. 最后设置文件夹【~/.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搭建伪分布式

前言&#xff1a;虚拟机快照的使用 VMware Workstation 软件可以用快照进行迅速的虚拟机状态的切换 ※. 类似于虚拟机备份&#xff0c; 可以使用备份进行快速恢复。 比如没安装jdk之前拍摄快照来备份 ※. 若jdk没安装好或者jdk环境变量配置的有问题&#xff0c; 可以用安装之…...

对开源自动化测试平台MeterSphere的使用感触

1&#xff1a;该平台可以通过接口&#xff0c;参数&#xff0c;配置的维护&#xff0c;然后继续接口自动化“一键测试”&#xff0c;功能还是挺强大的&#xff0c;具体的使用需要研究 MeterSphere的官网&#xff1a;MeterSphere - 专业测试云 2&#xff1a;一键测试在生产环境…...

Spring boot 第一个程序

新建工程 选择spring-boot版本 右键创建类TestController&#xff1a; 代码如下&#xff1a; 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…...

理财是什么?怎样学习理财?

大家好&#xff0c;我是财富智星&#xff0c;今天跟大家分享一下理财是什么&#xff1f;怎样学习理财的方法。 一、理财的基本原则 1、理财应注重投资而不是投机&#xff0c;要与时间为友。 让我们先考虑以下问题&#xff1a;什么样的回报才算是真正的高回报&#xff1f;假设有…...

华为云云耀云服务器L实例评测 | 开启OPC UA之旅

OPC Unified Architecture (OPC UA)是一种用于工业自动化的M2M协议(Machine-to-machine)&#xff0c;具有平台独立性&#xff0c;在Windows和Linux上都可以运行。随着云服务在工业现场的不断普及&#xff0c;OPCUA服务也开始大量部署在云端。 本文以华为云云耀云服务器L为基础…...

帝国CMS灵动标签如何调用$ecms_hashur[‘ehref‘]函数

我们在二次开发时,后台调用链接就需要加上帝国CMS的$ecms_hashur[ehref]函数,这是帝国CMS后台的安全函数,防止外部直接访问后台页面,直接强制访问后台链接就会提示“非法来源”。 我的站长站分享下制作自定义php页面,用帝国CMS灵动标签如何调用$ecms_hashur[ehref]函数方…...

ES6 拓展(下)

一、函数的拓展 1.1、默认参数 在ES5中设置默认参数&#xff1a; function func(words, name) {name name || "闷墩儿";console.log(words, name); } func("大家好&#xff01;我是"); func("大家好&#xff01;我是", "憨憨");func(…...

TouchGFX之自定义触发条件和操作

通过TouchGFX Designer&#xff0c;您可以自己定义具有触发条件和操作的交互组件。 自定义容器创建自定义触发条件&#xff1a;通过自定义容器的属性选项卡添加自定义触发条件 使用交互系统发送自定义触发条件&#xff1a; 通过自定义容器的“交互”选项卡&#xff0c;创建新的…...

Linux防火墙(iptables)

一、linux的防火墙组成 linux的防火墙由netfilter和iptables组成。用户空间的iptables制定防火墙规则&#xff0c;内核空间的netfilter实现防火墙功能。 netfilter&#xff08;内核空间&#xff09;位于Linux内核中的包过滤防火墙功能体系&#xff0c;称为Linux防火墙的“内核…...

zookeeper教程

zookeeper教程 zookeeper简介zookeeper的特点及数据模型zookeeper下载安装zookeeper客户端命令zookeeper配置文件zookeeper服务器常用命令zookeeper可视化管理工具zkuizookeeper集群环境搭建zookeeper选举机制使用Java原生api操作zookeeper使用java zkclient库操作zookeeper使用…...

杭州快递物流展-2024长三角快递物流供应链与技术装备展览会(杭州)

2024快递物流创新高质量发展论坛暨 2024长三角快递物流供应链与技术装备展览会(杭州) 时间&#xff1a;2024年4月12-14 日 地点&#xff1a;杭州国际博览中心 ESYE长三角快递物流展是亚洲范围内超大规模的快递物流业展示平台&#xff0c;由于展会的需求 及扩大市场的影响力…...

CSP 202203-1 未初始化警告

答题 要注意是xi和yi的范围&#xff0c;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 对象&#xff0c;animation 对象支持动画属性、动画方法和动画事件。 <!-- xxx.hml --><div class"container"> <di…...

树莓派入门

目录 前言系统烧录使用官方烧录工具选择操作系统选择存储卡配置 Win32DiskImager 有屏幕树莓派开机树莓派关机无屏幕树莓派开机获取树莓派IP地址通过路由器获取共享网络方式获取给树莓派配置静态IP地址查找默认网关分盘给树莓派的IP地址修改树莓派DHCP配置文件 ssh登录 让树莓派…...

算法模型嵌入式 Mendix应用的开发示例

一、前言 根据埃森哲最新一项调查&#xff0c;2023年67%的企业持续加大在技术方面的投入&#xff0c;其中数据和AI应用是重中之重。AI在企业内部应用这个话题已经保持了十多年的热度&#xff0c;随着ChatGPT为代表的生成式AI技术的出现&#xff0c;这一话题迎来又一波的高潮。…...

如何使用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端口

如果防火墙&#xff0c;或防火墙已经开启&#xff0c;需要先开放2222端口 firewall-cmd --add-port2222/tcp --permanent --zonepublic firewall-cmd --reload编辑文件 vim /etc/ssh/sshd_config&#xff1a; #Port 22 Port 2222 # 打开注释&#xff0c;并修改为以下值 Clien…...

Redis经典问题:缓存穿透

&#xff08;笔记总结自《黑马点评》项目&#xff09; 一、产生原因 用户请求的数据在缓存中和数据库中都不存在&#xff0c;不断发起这样的请求&#xff0c;给数据库带来巨大压力。 常见的解决方式有缓存空对象和布隆过滤器。 二、缓存空对象 思路&#xff1a;当我们客户…...

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 与最先进方法的…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...