大数据平台搭建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个节点都打快照)
据说关机,再打快照,更省空间
请添加图片描述
感谢大家的支持,关注,评论,点赞!
再见!!!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时隔一年,再次讨论下AutoGPT-安装篇

AutoGPT是23年3月份推出的,距今已经1年多的时间了。刚推出时,我们还只能通过命令行使用AutoGPT的能力,但现在,我们不仅可以基于AutoGPT创建自己的Agent,我们还可以通过Web页面与我们创建的Agent进行聊天。这次的AutoGP…

conda新建环境报错An HTTP error occurred when trying to retrieve this URL.

conda新建环境报错如下 cat .condarc #将 .condarc文件中的内容删除,改成下面的内容 vi .condarc channels:- defaults show_channel_urls: true default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.…

2024年认证杯SPSSPRO杯数学建模D题(第一阶段)AI绘画带来的挑战全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 D题 AI绘画带来的挑战 原题再现: 2023 年开年,ChatGPT 作为一款聊天型 AI 工具,成为了超越疫情的热门词条;而在 AI 的另一个分支——绘图领域,一款名为 Midjourney(MJ&…

【教程】cocos2dx资源加密混淆方案详解

1,加密,采用blowfish或其他 2,自定是32个字符的混淆code 3,对文件做blowfish加密,入口文件加密前将混淆code按约定格式(自定义的文件头或文件尾部)写入到文件 4,遍历资源目录,对每个文件做md5混淆,混淆原始串“相对路径”“文件名”混淆code, 文件改名并且移动到资源目录根…

【Entity Framework】你必须要了解EF中数据查询之数据加载

【Entity Framework】你必须要了解EF中数据查询之数据加载 文章目录 【Entity Framework】你必须要了解EF中数据查询之数据加载一、概述二、预先加载2.1 包含多个层级2.2 经过筛选的包含 三、显示加载3.1查询关联实体 四、延时加载4.1 不使用代理进行延迟加载 一、概述 Entity…

电脑网络一切正常但无法上网-注意检查代理

当电脑出现无法上网, 但是网络适配器又一切正常的时候, 不妨检查一下网络代理设置, 看是否处于开启状态。如果是开启状态, 关闭后再次尝试。 代理服务器自动设置成开启状态, 并且代理地址服务器地址设置成127.0.0.1:1…

提升测试效率都有哪些具体手段?

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

OVITO-2.9版本

关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material , 更 \color{red}{更} 更 多 \color{blue}{多} 多 精 \color{orange}{精} 精 彩 \color{green}{彩} 彩! 主要专栏内容包括: †《LAMMPS小技巧》: ‾ \textbf…

Matlab|电价型负荷需求响应(考虑电价变化)

程序复现来源于《计及需求响应消纳风电的电-热综合能源系统经济调度 》第四章内容。 一、原理 需求响应的基本原理是需求侧根据电力市场价格和电网要求改变其负荷需求以 获取一定的利益回报。其中 PDR 可通过直观的电价变化信号引导用户调节用电方式, 从而达到优…

JVM结构化体系

目录 目录 1.JVM 简介 1.1. 如何理解 JVM 呢? 1.2. 市场主流 JVM 分析? 1.3. 为什么要学习 JVM? 1.4. 字节码底层是如何执行呢? 如何理解 JIT 呢? 为什么 JVM 中解释执行与编译执行的并存(混合模式&…

JavaScript 高性能编程 —— 加载和运行

JavaScript 在浏览器中的性能,可认为是开发者所要面对的最重要的可用性问题。此问题因 JavaScript 的阻塞特征而复杂,也就是说,当 JavaScript 运行时其他的事情不能被浏览器处理。 事实上,大多数浏览 器使用单进程处理 UI 更新和 JavaScript 运行等多个任务,而同一时间只能…

ADB的基本语法及常用命令

学习网址 ADB命令的基本语法如下&#xff1a; adb [-d|-e|-s <serialNumber>] <command> 如果有多个设备/模拟器连接&#xff0c;则需要为命令指定目标设备。 参数及含义如下&#xff1a; 常用命令如下&#xff1a; 1. 启动ADB服务 adb start-server 2. 停止…

OpenHarmony实战开发-Worker子线程中解压文件。

介绍 本示例介绍在Worker 子线程使用ohos.zlib 提供的zlib.decompressfile接口对沙箱目录中的压缩文件进行解压操作&#xff0c;解压成功后将解压路径返回主线程&#xff0c;获取解压文件列表。 效果图预览 使用说明 1.点击解压按钮&#xff0c;解压test.zip文件&#xff0c…

Spring底层如何执行?

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Spring底层如何执行refresh()prepareRefresh() 准备刷新的工作initPropertySources() obtainFreshBeanFactory()refreshBeanFactory()AbstractRefreshableApplicati…

【ensp】VLAN间通信的解决办法

目录 VLAN间通信简介 VLAN间通信的两种方式 借助三层设备路由器进行VLAN间的通信&#xff08;也就是单臂路由&#xff09; 在端口上创建子接口之后为什么需要开启arp广播&#xff0c;是因为他是子接口吗? 拓扑图 交换机配置 路由器配置 查看路由器配置 测试能否实现…

Element-Ui的Form表单:Label文本两端对齐,且必填项的*不影响布局

1. HTML 结构 首先&#xff0c;确保你的 HTML 或 Vue 模板中有一个 el-form 组件&#xff0c;类似下面这样&#xff1a; <div id"app"><el-form :model"form" label-width"100px"><el-form-item label"用户名">&l…

基于springboot的医护人员排班系统

随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了医护人员排班系统的开发全过程。通过分析医护人员排班系统管理的不足&#xff0c;创建了一个计算机管理医护人员排班系统的方案。文章介绍了医护人员排班系统的系统分…

更改ip地址的几种方式有哪些

在数字化时代&#xff0c;IP地址作为网络设备的标识&#xff0c;对于我们在网络世界中的活动至关重要。然而&#xff0c;出于多种原因&#xff0c;如保护隐私、访问特定网站或进行网络测试&#xff0c;我们可能需要更改IP地址。虎观代理将详细介绍IP地址的更改方法与步骤&#…

【JavaSE】你真的了解内部类吗?

前言 本篇会详细讲解内部类的四种形式&#xff0c;让你掌握内部类~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 前言 内部类介绍 实例内部类 定义 调用 静态内部类 定义 调用 匿名内部类 定义和调用1 调用方法2 …

预分频器×重装载值)/LSI频率 为什么等于总时间

1. 第一种算法理解&#xff1a;分频系数 64 &#xff0c;外部低速时钟40khz&#xff0c; 则一次计数周期1.6ms &#xff0c;计数625个数&#xff0c;则有625个周期 &#xff0c;1.6ms*625 等于1s 如果分频系数是64&#xff0c;外部低速时钟&#xff08;LSI&#xff09;频率是…