大数据平台搭建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.mzph.cn/news/821291.shtml

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

相关文章

360度VR全景汽车漫游展示让爱车者能感受真实的驾驶体验

小米汽车的惊艳亮相,让无数爱车族心潮澎湃。然而,对于因时间和地理限制无法亲临现场的人来说,这份激动或许带有些许遗憾。如今,有了3D虚拟看车软件,这一切不再是问题。 web3D开发公司深圳华锐视点通过运用尖端的web3D开…

IntelliJ IDEA2024 安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 IDEA(Integrated Development Environment for Apache) 是一款专为 Apache 开发者设计的集成开发环境。该软件提供了丰富的功能和工具,帮助开发者更高效地创建、调试和部署 Apache 项目。 主…

hot100 -- 链表(中)

不要觉得力扣核心代码模式麻烦,它确实比不上ACM模式舒服,可以自己处理输入输出 只是你对 链表 和 return 的理解不到位 👂 ▶ 屿前世 (163.com) 👂 ▶ see you tomorrow (163.com) 目录 🎂两数相加 🚩删…

python 绘制六种激活函数(sigmoid、tanh、relu、softmax、relu、elu)

1、效果 2、实现代码(带注释) import numpy as np # 导入 numpy 库, 用于数学运算 import matplotlib.pyplot as plt # 导入 matplotlib.pyplot, 用于绘图 import matplotlib as mpl # 导入 matplotlib 库, 用于图形配置plt.rcParams[font.sans-se…

mysql奇葩问题union

单独执行第一条,有三条结果; union之后,只有一条结果; union自动的把重复数据合并了;

使用Python生成100到算术题

需求描述:生成100道包含加法、减法、乘法、除法题目的数学题。 import random import pandas as pddef generate_math_questions(num_questions, question_types[addition, subtraction, multiplication, division], difficultyeasy, range_start1, range_end10):&…

Vue基础使用之V-Model绑定单选、复选、动态渲染选项的值

这里要说明一下&#xff0c;在v-model 绑定的值是id还是value是和<option>中的v-bind保持一致的&#xff0c;如第四个&#xff0c;如果是 <option :value"op[1]" 那v-model绑定的就是数组第二项的值2&#xff0c;4&#xff0c;6 如果是 <option :va…

《AI编程类工具之一——CodeArts Snap》

一.简介 CodeArts Snap是一款基于华为云研发的智能开发助手&#xff0c;它覆盖软件开发的全生命周期&#xff0c;提供端到端的智能支持。该工具的核心功能包括代码生成、研发知识问答、单元测试用例生成、代码解释、代码注释、代码翻译、代码调试以及代码检查等八大方面&#…

软件开发的20条原则

原则是工作的准则,代表了许多人从经验中总结出来的集体智慧 源自《软件开发的201个原则》 需求 需要明确 需求是什么?需求有具体文档记录吗?需求经过多方评审了吗?需求合理吗?需求投入产出比如何?原则46:避免再需求分析时进行系统设计 需求分析:定义系统/软件的黑盒行…

Arduino通过I2C驱动MT6701磁编码器并读取角度数据

Arduino通过I2C驱动MT6701磁编码器并读取角度数据 &#x1f4cd;相关篇《Arduino通过Wire库读取AS5600编码器数据》 ✨测试了使用STM32硬件I2C扫描其地址失败。使用软件I2C可以。 &#x1f4d1;MT6701&#xff08;基于差分霍尔的磁性角度传感器芯片&#xff09;芯片特性简介 &…

WPF中DataGrid主从数据(父子数据)展示

在wpf中可以使用DataGrid控件,进行主从数据展示,也称父子数据展示。下面展示纯原生控件编码实现功能(样式自己可以根据需求进行修改)。 效果如下: 点击图标,展开和收缩可以自由的切换,也可以自己重新写一个样式,比如+,-或者类似图标的样式,都是可以的。 1.首先创建一…

spispispi

SPI C.. & C.. logic是SPI的控制逻辑&#xff0c;芯片内部进行地址锁存、数据读写等操作&#xff0c;都是由控制逻辑自动完成。控制逻辑的左边是SPI的通信引脚&#xff0c;这些引脚和主控芯片相连&#xff0c;主控芯片通过SPI协议&#xff0c;把指令和数据发送给控制逻辑&a…

多线程传参以及线程的优缺点

进程是资源分配的基本单位 线程是调度的基本单位 笼统来说&#xff0c;线程有以下优点&#xff1a; 创建一个新线程的代价要比创建一个新进程小得多 与进程之间的切换相比&#xff0c;线程之间的切换需要操作系统做的工作要少很多 线程占用的资源要比进程少很多 能充分利用多…

leetcode1448.统计二叉树中的好节点数目

1. 题目描述 题目链接 2. 解题思路 首先看一下题目的“核心”&#xff0c;什么是好节点&#xff1a;从根到该节点 X 所经过的节点中&#xff0c;没有任何节点的值大于 X 的值。也就是说&#xff0c;我们只要知道了从根节点到该节点的所有的值&#xff0c;就可以判断该节点是…

Blender3.0 下载地址及安装教程

Blender是一款开源的3D计算机图形软件&#xff0c;广泛应用于动画制作、游戏开发、建模、渲染等领域。它提供了一套强大的工具和功能&#xff0c;让用户能够进行三维建模、动画制作和视觉效果的创作。 Blender支持多种文件格式的导入和导出&#xff0c;使用户能够与其他软件进…

《AI编程类工具之二——ModelArts》

一.简介 ModelArts是华为云推出的面向AI开发者的一站式开发平台。它旨在为用户提供从数据处理、算法开发、模型训练到模型部署的全流程解决方案。 二.功能介绍 自动化超参调整和模型评估&#xff1a;ModelArts提供了自动化的超参调整功能&#xff0c;能够根据设定的参数范围…

中国建筑模板出口供应商

随着"一带一路"倡议的深入推进,中国基建企业"走出去"的步伐正在加快。与之相应,建筑模板产品作为工程建设的重要材料,其国际化供应也愈发受到重视。在众多建筑模板生产企业中,贵港市能强优品木业有限公司以其卓越的产品质量和丰富的出口经验,成为了国内知名…

MongoDB分片部署(windows)

OS&#xff1a;win10 MongoDB&#xff1a;4.4.24 分片架构 从图中可以看出&#xff0c;分片集群中主要由三个部分组成&#xff0c;即分片服务器&#xff08; Shard &#xff09;、路由服务器 &#xff08; Mongos &#xff09;以及配置服务器&#xff08; Config Server &am…

Vision GNN: An Image is Worth Graph of Nodes

感受野&#xff1a;在卷积神经网络中,感受野(Receptive Field)是指特征图上的某个点能看到的输入图像的区域,即特征图上的点是由输入图像中感受野大小区域的计算得到的。 感受野并非越大越好&#xff0c;反而可能因为过大而过于发散梯度下降&#xff08;Gradient Descent GD&am…

C#面:介绍 Hashtable 和 Dictionary的区别

Hashtable 和 Dictionary 都是 C# 中用于存储键值对的数据结构&#xff0c; 它们之间的区别如下&#xff1a; 1. 实现方式&#xff1a; Hashtable 是基于哈希表实现的&#xff0c;而 Dictionary 是基于泛型实现的。 2. 类型安全&#xff1a; Hashtable 是非泛型的&#xf…