大数据平台搭建2024(一)

一:基础配置

创建虚拟机并查出ip地址进行连接

ip a

请添加图片描述

在这里插入图片描述

1.配置node01静态ip地址与主机名

vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改或添加如下内容:

BOOTPROTO="static"
ONBOOT=yes
#根据虚拟机网卡信息配置
IPADDR=192.168.200.141
NETMASK=255.255.255.0
GATEWAY=192.168.200.2
DNS1=114.114.114.114

保存退出
请添加图片描述

vi /etc/hostname

修改成node01
在这里插入图片描述

2.配置域名解析

vi /etc/hosts
192.168.200.141 node01
192.168.200.142 node02
192.168.200.143 node03

在这里插入图片描述

3.关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

在这里插入图片描述

4.重启虚拟机查看主机名是否修改成功

reboot

通过设置的ip进行远程登录
在这里插入图片描述

5.卸载自带的JDK(可能最小化安装,没有默认配置java环境)

1)先查看自带的jdk版本

rpm -qa|grep jdk

请添加图片描述

  1. 卸载自带的jdk
yum -y remove java-1.*

3)再使用rpm -qa|grep jdk检查是否卸载完成

6.安装JDK

上传对应的JDK到虚拟机系统
在这里插入图片描述

cd切换到压缩包的路径的文件夹

mkdir /usr/java
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/java

配置java的环境变量

vi /etc/profile

在文件末尾添加

export JAVA_HOME=/usr/java/jdk1.8.0_161
export PATH=$PATH:$JAVA_HOME/bin

保存退出
在这里插入图片描述

使配置立即生效

source /etc/profile 

检查是否Java配置成功

java -version

在这里插入图片描述

7.安装hadoop

上传hadoop,并创建hadoop的安装目录
在这里插入图片描述

mkdir /hadoop

解压hadoop

tar -zxvf hadoop-2.7.7.tar.gz -C /hadoop/

修改hadoop的环境变量

vi /etc/profile

修改内容如下(直接末尾修改):

export JAVA_HOME=/usr/java/jdk1.8.0_161 
export HADOOP_HOME=/hadoop/hadoop-2.7.7 
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

保存退出
在这里插入图片描述

使用 source /etc/profile 生效配置

8.安装zookerper

上传zookerper安装包
在这里插入图片描述

tar -zxvf zookeeper-3.4.13.tar.gz -C /hadoop/

配置zoo.cfg

cd cd /hadoop/zookeeper-3.4.13/conf/
cp zoo_sample.cfg zoo.cfg

修改zoo.cfg文件

vi zoo.cfg

在这里插入图片描述

修改以下内容:

dataDir=/hadoop/zookeeper-3.4.13/tmp
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888

保存退出
在这里插入图片描述

9.修改hadoop配置文件

修改/hadoop/hadoop-2.7.7/etc/hadoop里的配置文件
在这里插入图片描述
如果之前的配置和我一样的话,就直接拉进去覆盖
这里就可以打个快照1
在这里插入图片描述

10.克隆出其他节点

适当调整内存(我内存小)
在这里插入图片描述

修改node02,03的ip地址与主机名
1改2,3
能远程连接上就行
在这里插入图片描述

11.配置Zookeeper的id

在zookeeper里创建tmp文件夹,01、02、03都要创建

mkdir /hadoop/zookeeper-3.4.13/tmp

在node01的/hadoop/zookeeper-3.4.13/tmp/myid写入数字1

echo 1 >/hadoop/zookeeper-3.4.13/tmp/myid

02、03节点各自分别执行

echo 2 >/hadoop/zookeeper-3.4.13/tmp/myid
echo 3 >/hadoop/zookeeper-3.4.13/tmp/myid

在这里插入图片描述

12.配置主机间免密登录(所以节点)

在所以节点执行 (名称、密码不用输入,直接回车到结束)

ssh-keygen -t rsa

在这里插入图片描述

复制公钥到其他节点(包括自己)

ssh-copy-id node01
ssh-copy-id node02
ssh-copy-id node03

3个节点重复此操作
在这里插入图片描述

测试连接(3个节点重复此操作)

ping -c 4 node01
ping -c 4 node02
ping -c 4 node03

在这里插入图片描述

13.第一次启动Hadoop

1)启动3台节点的zookeeper,在3台节点分别执行

/hadoop/zookeeper-3.4.13/bin/zkServer.sh start

在这里插入图片描述

查看状态 /hadoop/zookeeper-3.4.13/bin/zkServer.sh status
停止运行/hadoop/zookeeper-3.4.13/bin/zkServer.sh stop
配置成功,Mode会有1个leader,2个follower(3台的zk启动后再查看状态)

2)启动journalnode,在3台节点分别执行

/hadoop/hadoop-2.7.7/sbin/hadoop-daemon.sh start journalnode

在这里插入图片描述

使用jps命令,检查是否有journalnode的进程
在这里插入图片描述

3)格式化HDFS,在01节点上执行

hdfs namenode -format

会根据配置的hadoop的tmp文件夹生成文件,3个节点的tmp的数据是一致的
将生成的tmp文件夹复制到02、03上的相同位置
可以使用ftp工具,或者远程复制

scp -r /hadoop/hadoop-2.7.7/tmp/ root@node02:/hadoop/hadoop-2.7.7
scp -r /hadoop/hadoop-2.7.7/tmp/ root@node03:/hadoop/hadoop-2.7.7

在这里插入图片描述

4)格式化ZK,在01上执行

hdfs zkfc -formatZK

5)启动hdfs和yarn

cd /hadoop/hadoop-2.7.7

启动hdfs

sbin/start-dfs.sh

启动资源管理器


sbin/start-yarn.sh

在这里插入图片描述

浏览器上访问
192.168.200.141:50070
192.168.200.142:50070
192.168.200.141:8088
在这里插入图片描述

6)关闭服务

cd /hadoop/hadoop-2.7.7

关闭hdfs

sbin/stop-dfs.sh

关闭资源管理器

sbin/stop-yarn.sh

停止运行zookeeper,3台节点都执行

/hadoop/zookeeper-3.4.13/bin/zkServer.sh stop

14.成功后再次启动Hdaoop

1)启动3台节点的zookeeper,在3台节点分别执行

/hadoop/zookeeper-3.4.13/bin/zkServer.sh start

2)在node01上,启动hdfs和yarn

/hadoop/hadoop-2.7.7/sbin/start-dfs.sh
/hadoop/hadoop-2.7.7/sbin/start-yarn.sh

15.编写启动脚本

1)修改zookeeper的配置,将java环境直接配置给zk(3个节点都修改)
修改zookeeper的bin/zkEnv.sh文件,添加上java程序的路径,如下:
具体的实现

vi /hadoop/zookeeper-3.4.13/bin/zkEnv.sh

修改内容如下:

if [ "$JAVA_HOME" != "" ]; then
JAVA="$JAVA_HOME/bin/java"
else
JAVA=/usr/java/jdk1.8.0_161/bin/java
fi

保存退出
在这里插入图片描述

在/root下创建文件start-all.sh,启动3台的zk级hadoop服务(仅在node01上创建脚本)

vi start-all.sh

修改内容如下:

#!/bin/bash
echo "====== 启动node01的zookeeper ======"
ssh node01 "/hadoop/zookeeper-3.4.13/bin/zkServer.sh start"
echo "====== 启动node02的zookeeper ======"
ssh node02 "/hadoop/zookeeper-3.4.13/bin/zkServer.sh start"
echo "====== 启动node03的zookeeper ======"
ssh node03 "/hadoop/zookeeper-3.4.13/bin/zkServer.sh start"
echo "====== 启动HDFS ======"
/hadoop/hadoop-2.7.7/sbin/start-dfs.sh
echo "====== 启动资源管理器YARN ======"
/hadoop/hadoop-2.7.7/sbin/start-yarn.sh

在/root下创建文件transNodeState.sh,设置01为主节点,02为备选主节点

vi transNodeState.sh

修改内容如下:

#!/bin/bash
hdfs haadmin -transitionToStandby --forcemanual nn2
hdfs haadmin -transitionToActive --forcemanual nn1

实现停止集群服务的脚本(先启动的后关,后启动的先关)

vi stop-all.sh

修改内容如下:

#!/bin/bash
echo "====== 关闭资源管理器YARN ======"
/hadoop/hadoop-2.7.7/sbin/stop-yarn.sh
echo "====== 关闭HDFS ======"
/hadoop/hadoop-2.7.7/sbin/stop-dfs.sh
echo "====== 关闭node03的zookeeper ======"
ssh node03 "/hadoop/zookeeper-3.4.13/bin/zkServer.sh stop"
echo "====== 关闭node02的zookeeper ======"
ssh node02 "/hadoop/zookeeper-3.4.13/bin/zkServer.sh stop"
echo "====== 关闭node01的zookeeper ======"
ssh node01 "/hadoop/zookeeper-3.4.13/bin/zkServer.sh stop"

在这里插入图片描述

16.测试脚本是否可用

1)检查启动脚本是否可用(可以多启几次)

sh start-all.sh

在这里插入图片描述
浏览器访问
在这里插入图片描述
2)可以看到node01为备用节点,手动调整node01为主节点

sh transNodeState.sh

在这里插入图片描述
再次浏览器查看
在这里插入图片描述

3)关闭所有服务

sh stop-all.sh

在这里插入图片描述
把所有的脚本都移动到/root下
在这里插入图片描述

17.打快照2

请添加图片描述

内容:hadoop基础环境配置成功(3个节点都打快照)
据说关机,再打快照,更省空间
请添加图片描述
感谢大家的支持,关注,评论,点赞!
再见!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ENVI实战—一文学会使用GLT配准工具对风云数据进行几何校正

实验2:学会使用GLT配准工具 目的:完成气象卫星数据的校正,掌握利用GLT配准工具实验地理配准的方法 过程: ①读取影像:选择“文件”,选择“HS5”文件并打开,在弹出的科学数据集浏览器中&#x…

秘塔和Kimi AI在资料查询和学习中的使用对比

一、引言 最近老猿在网上查资料时,基本上都使用Kimi AI进行查询,发现其查询资料后总结到位,知识点的准确度较高。今天早上收到一个消息,说新推出的秘塔AI比Kimi更新进,老猿利用在学习的《统计知识学习》简单对比试用了…

JS算法题:找到数组中第 k 大的元素

问题描述: 给定一个未排序的整数数组,找到其中第 k 大的元素。注意,你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。 举个例子: 如果给定数组是 [3,2,1,5,6,4],k 是 2,那么第 2 大的元素…

每日OJ题_BFS解决FloodFill①_力扣733. 图像渲染

目录 BFS解决FloodFill简介 力扣733. 图像渲染 解析代码 BFS解决FloodFill简介 FloodeFill算法即填充算法,中文:洪水灌溉,算法原理就是从一个点开始向四周扩散,向周围可以走到的点填充颜色,直到将可扩散到的点全部填…

(踩坑)Please refer to 异常和Error creating bean with name 异常

一、Please refer to 异常 如图所示,在使用maven构建项目的时候,如果提示该错误,则可能是xml配置文件有问题或者测试类等。但是没有明确的异常信息,所以做以下小改动,可以查看异常信息。 在IDEA工具中,打…

【C/C++笔试练习】read函数、虚拟存储、用户态、线程特点、缺页处理、调度算法、进程优先级、锁的使用、创建进程、不用加减乘除做加法、三角形

文章目录 C/C笔试练习选择部分(1)read函数(2)虚拟存储(3)用户态(4)线程特点(5)缺页处理(6)调度算法(7)进程优先…

JDK1.8新特性

JDK8新特性 ​ Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台 课程内容的介绍 了解Java发展史Lambda表达式…

数字人项目 ER-NeRF 的使用和部署详细教程

文章目录 1. ER-NeRF简介2. ER-NeRF部署3. 训练自己的数字人4. 生成数字人视频5. 其他数字人模型比较常见错误 1. ER-NeRF简介 ER-NeRF(官方链接)是一个Talking Portrait Synthesis(对嘴型)项目。即:给一段某人说话的…

微信小程序-长按显示,点击空白区域关闭

<view bind:tap"closeLongAction"><view bind:longpress"openAction></view><view wx:if"{{longActionIsShow}}"> 长按显示的区域 </view> </view>openAction(e) {console.log(322,e);this.setData({longActionI…

【解读】《中华人民共和国网络安全法》:所有IT从业者都应知应懂

随着网络的快速发展&#xff0c;当今社会存在的网络安全问题也是接踵而来&#xff1a;网络入侵、网络攻击等非法活动威胁信息安全&#xff1b;非法获取公民信息、侵犯知识产权、损害公民合法利益&#xff1b;宣扬恐怖主义、极端主义&#xff0c;严重危害国家安全和社会公共利益…

IDM2024破解版 IDM软件破解注册序列号 idm教程 idm序列激活永久授权 Internet Download Manager网络下载加速神器

你是不是感觉下载东西资源的时候&#xff0c;下载的非常慢&#xff0c;即便是五十兆的光纤依旧慢、是不是想下载网页上的视频但不知如何进行下载……这些问题是否一直在困扰着您&#xff0c;今日小编特意我大家带来了这款IDM 2024破解版。 众所周知&#xff0c;IDM是一款功能强…

openGauss学习笔记-264 openGauss性能调优-TPCC性能调优测试指导-BIOS配置

文章目录 openGauss学习笔记-264 openGauss性能调优-TPCC性能调优测试指导-BIOS配置264.1 恢复BIOS出厂设置264.2 修改相关BIOS设置264.3 重启操作系统 openGauss学习笔记-264 openGauss性能调优-TPCC性能调优测试指导-BIOS配置 本章节主要介绍openGauss数据库内核基于鲲鹏服务…

redis五种类型介绍

Redis是一种内存数据存储系统&#xff0c;它支持五种不同的数据类型&#xff1a; 1. String String是Redis中最基本的数据类型&#xff0c;它可以存储任何形式的字符串数据&#xff0c;例如普通的文本字符串&#xff0c;二进制数据或JSON格式的数据。除此之外&#xff0c;还可以…

LD3320语音模块开发以及未来拿到其他模块的开发方式

当我们拿到一块模块进行开发的时候&#xff0c;一定要拿到配套的使用手册&#xff0c;不然在短时间内根本下不了手 一、使用source Insight来阅读源码 1.建立文件夹 2. 在source Insight放入该文件 3.添加源码 4.解决Source Insight乱码的问题 5.让各个代码模块之间有关联 二、…

动态IP代理API是什么?怎么用?

“动态”意味着每次连接或每隔一段时间&#xff0c;用户的IP地址都会发生改变。由于IP地址的不断变化&#xff0c;用户可以避免因频繁访问同一网站而导致的IP被封锁的问题。API叫做应用程序接口&#xff0c;是一种让软件之间相互通信的接口。API允许用户通过编程方式来调用动态…

mPEG-Succinamide Acid能够作为连接分子,将不同的生物分子偶联在一起,从而构建生物偶联物聚乙二醇衍生物

【试剂详情】 英文名称 mPEG-SAA&#xff0c;mPEG-Succinamide Acid&#xff0c; Methoxy PEG SAA 中文名称 聚乙二醇单甲醚酰胺丁二酸 外观性状 由分子量决定&#xff0c;粘性液体或者固体 分子量 400&#xff0c;600&#xff0c;2k&#xff0c;3.4k&#xff0c;5k&…

【Android】Activity task和Instrumentation杂谈

文章目录 activity taskInstrumentation机制参考 Android不仅可以装载众多的系统组件&#xff0c;还可以将它们跨进程组成ActivityTask&#xff0c;这个特性使得每个应用都不是孤立的。 activity task 从数据结构角度看&#xff0c;Task有先后之分&#xff0c;源码实现上采取了…

类的加载,反射和注解详解

文章目录 类的加载概述类加载器作用分类获取类加载器的方式 双亲委派机制3种加载器的关系工作机制 类加载器的应用 反射概述关键获取类对象获取构造器对象获取方法对象获取成员变量对象作用 注解概述作用自定义注解格式属性类型 元注解常见的元注解 注解解析概述方法技巧 类的加…

Qt学习记录(C++)——Day 3

目录 一、封装自定义控件 1.添加界面类 2.添加控件 3.提升封装的控件 4.实现功能 5.提供接口 6.测试接口 二、鼠标事件 前言&#xff1a; 1.鼠标进入事件 enterEvent 2.鼠标离开事件 leaveEvent 3.鼠标按下事件 mousePressEvent 4.鼠标释放事件 mouseReleaseEv…

知识跟踪模型GraphKT

1 知识跟踪Knowledge Tracing的概念 知识跟踪可以用来解决自适应学习问题。如何通过与教学材料的在线互动来有效地跟踪学生的学习进展&#xff1f;知识跟踪可用于量化学生的知识状态&#xff0c;即对教材所涉及的技能掌握水平。用于评估和模拟学生随着时间推移对技能的认知掌握…