集群软件部署

目录

    • 软件部署
      • 集群软件前置环境
        • 网络配置
        • ssh配置
      • JDK环境
        • 防火墙和SELinux
        • 制作快照
      • scp(ssh cp)
      • ZooKeeper
        • 介绍
        • 安装
      • Hadoop
        • 介绍
        • Hadoop集群角色
        • 角色和节点分配
        • 安装
          • 内存调整
          • Hadoop集群安装
        • 报错分析
        • 结果
      • Spark
        • 介绍
        • 下载安装

软件部署

  1. 包含zookeeper、Hadoop、spark的安装过程
  2. 这个文件来及黑马B站课程的配套笔记
    Linux系统软件安装.md

集群软件前置环境

网络配置
  1. 克隆(关掉虚拟机再克隆速度很快的)
  2. 主机名修改(hostnamectl set-hostname nodexxx)
  3. IP地址修改(vim /etc/sysconfig/network-scripts/ifcfg-ens33 进入网络配置修改)
  4. 修改UUID(systemctl restart network 重启网络)
  5. xshell连接虚拟机
  6. 配置主机名映射(分别在window和虚拟机中的hosts文件添加三台虚拟机的映射)
ssh配置
  1. ssh远程登陆:ssh username@xxx.xxx.xxx.xxx
  2. ssh免密登录:
    1. 生成ssh公钥:ssh-keygen -t rsa -b 4096(每一台机器都要执行)
    2. 将公钥分享给指定ip地址的机器(ssh-copy-id xxx)

JDK环境

  1. 下载JDK开发包(下载的速度一开始很慢,后面就飞快了)
  2. xftp上传JDK到虚拟机
  3. 创建文件夹(mkdir -p /export/server)部署JDK
  4. 解压缩JDK安装文件(tar -zxvf jdk-8u401-linux-x64.tar.gz -C /export/server)
  5. 配置JDK软链接(ln -s /export/server/jdk1.8.0_401 jdk)
  6. 配置JAVA_HOME环境变量,以及将$JAVA_HOME/bin文件夹加入PATH环境中
# 编辑 /etc/profile 文件
vim /etc/profile
# 配置环境变量JAVA_HOME
export JAVA_HOME=/export/server/jdk
# PATH环境变量 添加JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin
  1. 生效环境变量(source /etc/profile)
  2. 删除系统自带java(which java找到java的位置;rm -f /usr/bin/java删除)
  3. 软链接自己的java(ln -s /export/server/jdk/bin/java /usr/bin/java)
  4. 添加了各种软连接,是为了切换不同版本的java的时候更加方便,核心还是全局能够方便使用java
防火墙和SELinux
  1. 防火墙
# 停止防火墙
systemctl stop firewalld
# 关闭防火墙自启动
systemctl disable firewalld
  1. SELinux:Linux的安全模块,用以限制用户和程序的相关权限
    1. !!!注意:是disabled,中文是残疾人;不是disable,中文是禁用
    2. 单词拼错了系统无法启动
# 编辑selinux的配置文件
vim /etc/sysconfig/selinux

# 将第七行,SELINUX=enforcing 修改为
SELINUX=disabled
# 保存退出重启虚拟机
制作快照

在完成上述设置后为每一台虚拟机制作快照(万一在配置过程中出了什么岔子可以快速回去)

scp(ssh cp)

  1. 功能:在不同的linux服务器之间通过SSH协议互相传输文件
  2. 语法:scp [-r] 参数1 参数2
    1. -r:复制文件夹必须使用-r
    2. 将参数1的内容传输给参数2
    3. 使用案例:
scp -r /export/server/jdk root@node2:/export/server/

# 将本机当前路径的jdk文件夹 复制到node2服务器的同名路径下
cd /export/server
scp -r jdk node2:`pwd`/
scp -r jdk node2:$PWD

ZooKeeper

介绍
  1. 分布式、开源的 分布式应用程序的协调服务
  2. Hadoop和Hbase的重要组件
  3. 提供服务:配置维护、域名服务、分布式同步、组服务
  4. 可以在多台服务器上部署,并协同组成分布式集群一起工作
安装
  1. 一下安装操作基于以上前置环境准备工作
  2. node1 下载Zookeeper安装包并解压
# 下载
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz

# 2024.3.11 直接下载报错 需要加上 --no-check-certificate
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz --no-check-certificate

# 没有这个文件夹的可以建一个
mkdir -p /export/server

# 解压
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C export/server
  1. node1创建软链接
ln -s xxx /export/server/apache-zookeeper-3.5.9-bin zookeeper
  1. node1 修改配置文件
# 将zoo_sample改名为zoo.cfg 这是提供的一个样本文件
mv zoo_sample.cfg zoo.cfg

# 编辑zoo.cfg
vim /export/server/zookeeper/conf/zoo.cfg

# 将对应位置的项进行修改
tickTime=2000
# zookeeper数据存储目录
dataDir=/export/server/zookeeper/data
# 客户端连接端口
clientPort=2181
initLimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
  1. node1 配置myid
# 创建zookeeper的数据目录
mkdir /export/server/zookeeper/data

# 创建文件记录myid
vim /export/server/zookeeper/data/myid
# 在文件内填入1
  1. node1 将整个zookeeper目录(不是软链接)复制给node2 node3
# 复制到node2 node3的同样路径下
cd /export/server

scp -r apache-zookeeper-3.5.9-bin node2:`pwd`/
scp -r apache-zookeeper-3.5.9-bin node3:`pwd`/
  1. node2修改配置
# 创建软链接
cd /export/server
ln -s apache-zookeeper-3.5.9-bin zookeeper

# 修改myid
cd zookeeper/data
vim myid
# 将1修改为2 保存退出
  1. node3 修改配置
# 创建软链接
cd /export/server
ln -s apache-zookeeper-3.5.9-bin zookeeper

# 修改myid
cd zookeeper/data
vim myid
# 将1修改为3 保存退出
  1. node1 node2 node3 启动zookeeper
# 启动命令
/export/server/zookeeper/bin/zkServer.sh start
  1. node1 node2 node3 检查zookeeper进程是否启动
jps
# 结果中有QuorumPeerMain 进程即可
  1. node1 验证zookeeper
/export/server/zookeeper/zkCli.sh
# 如果出现连接不上的情况请检查zoo.cfg跟myid是否对应一致
# 修改之后通过zkServer.sh stop停止服务再按照以上步骤重启

# 进入Zookeeper控制台中 执行
ls /
无报错即配置成功

Hadoop

介绍
  1. 分布式系统基础架构
  2. 主要解决海量数据的存储和分析计算问题
  3. HDFS提供分布式海量数据存储能力
  4. YARN提供分布式集群资源管理能力
  5. MapReduce提供分布式海量数据计算能力
Hadoop集群角色
  1. HDFS管理角色:Namenode进程(1个)
  2. HDFS工作角色:Datanode进程(多个,一个机器启动一个)
  3. YARN管理角色:ResourceManager进程(1个)
  4. YARN工作角色:NodeManager(多个,一个机器启动一个)
  5. 历史记录服务器角色:HistoryServer进程(1个)
  6. 代理服务器角色:WebProxyServer进程(1个)
  7. Zookeeper的进程:QuorumPeerMain进程(Zookeeper的工作者,越多越好)
角色和节点分配

角色分配如下:

  1. node1:Namenode、ResourceManager、HistoryServer、HistoryServer、WebProxyServer、Datanode、NodeManager、QuorumPeerMain
  2. node2:Datanode、NodeManager、QuorumPeerMain
  3. node3:Datanode、NodeManager、QuorumPeerMain
安装
内存调整
  1. node1 4GB以上内存
  2. node2 和 node3 2GB以上内存
Hadoop集群安装
  1. 安装过程看这个文件就好了

Linux系统软件安装.md

  1. 验证
    1. 9870端口是hdfs的
    2. 8088端口是yarn的
报错分析

在将hadoop的配置文件按照视频以及文档的修改好之后,启动hdfs没有显示node2 node3的hdfs文件夹创建警告,同时node2 node3中也确实也没有hdfs的文件夹。这种情况应该表示node1没有跟node2 node3连接上。但是这个问题应该怎么解决
image.png
启动yarn的时候也是没有一点node2 node3的文件夹创建警告
image.png
原因是我忘记了修改workers(workers默认的内容是localhost,也就是只有单机),导致hadoop根本没有去发起node2、node3的连接,因此也没有任何报错

结果

不容易,真不容易啊!!!!
放一下截图
image.png
image.png
image.png

Spark

介绍
  1. 分布式内存计算引擎,可以支撑海量数据的分布式计算
  2. 这里安装Spark的步骤基于前面构建的Hadoop集群
下载安装
  1. 大致的步骤可以直接参考上面的软件安装文件,流程跟Hadoop是差不多的
  2. 我采用先从window下载(Hadoop跟Spark的下载速度都挺慢的)再上传到虚拟机的方法;如果使用wget的方式下载可能需要在后面加上–no-check-certificate
  3. spark的端口是8081

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

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

相关文章

【Redis】redis持久化

redis 持久化 Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;当下次Redis重启时,利用持久化文件实现数据恢复。除此之…

nginx的使用,homebrew安装及使用nginx。

Nginx 是一个高性能的 HTTP 和反向代理服务器,它提供了诸如 IMAP、POP3 和 SMTP 等邮件代理服务。以下是 Nginx 的主要作用:12345 作为 Web 服务器。Nginx 能够以较少的系统资源提供高效率的服务,尤其在高并发连接下表现出色。1…

【java数据结构】HashMap和HashSet

目录 一.认识哈希表: 1.1什么是哈希表? 1.2哈希表的表示: 1.3常见哈希函数: 二.认识HashMap和HashSet: 2.1关于Map.Entry的说明:,> 2.2Map常用方法说明: 2.3HashMap的使用案例: 2.4Set常见方法…

图机器学习(1)--导论

0 引入 斯坦福大学CS224W图机器学习公开课-同济子豪兄中文精讲:https://github.com/TommyZihao/zihao_course/tree/main/CS224W 为什么是图?图是描述关联数据的通用语言。 前期的研究:节点之间独立同分布,没有关系。 图&#x…

解决input事件监听拼音输入法导致高频事件

1、业务场景 在文本框中输入内容,执行查询接口,但遇到一个问题,当用拼音打字写汉字去搜索的时候,会输入一些字母拼成汉字,怎么能监听等拼音文字输入完成后再触发文本框监听事件 2、解决方案 通过查阅资料得知在输入中…

【C++ Primer Plus学习记录】简单文件输入/输出

有时候,通过键盘输入并非最好的选择。例如,假设您编写了一个股票分析程序,并下载了一个文件,其中包含1000种股票的价格。在这种情况下,让程序直接读取文件,而不是手工输入文件中所有的值,将方便…

2024大广赛Canva可画都有哪些命题?

大广赛官网在3月8日发布了2024年Canva可画的命题,Canva可画是全球领先的视觉传播平台,2013年诞生于悉尼,2018年进入中国市场。秉承“赋予世界设计的力量”的使命,Canva可画为用户提供零门槛的设计编辑工具(网页端/App/小程序)&…

矢量图片转换软件Vector Magic mac中文版功能特色

Vector Magic mac中文版是一款非常流行的矢量图片转换软件,它的功能特色主要体现在以下几个方面: 首先,Vector Magic mac中文版拥有出色的矢量转换能力。它采用世界上最好的全彩色自动描摹器,能够将JPG、PNG、BMP和GIF等位图图像…

【C语言程序设计】C语言求圆周率π(三种方法)

题目一&#xff1a; 利用公式①计求π的近似值&#xff0c;要求累加到最后一项小于10^(-6)为止。 程序代码&#xff1a; #include <stdio.h> #include <stdlib.h> #include <math.h> int main(){float s1;float pi0;float i1.0;float n1.0;while(fabs(i)&…

利用ffmpeg对两个音频文件进行混音处理

前言 最近&#xff0c;拿到了一个语音识别程序&#xff0c;想测试一下它识别的准确性。原本程序有一段自己的测试音频&#xff0c;准确性还可以&#xff0c;但是&#xff0c;自己想增加一下测试素材的复杂性。想到了在原本的测试音频中引入干扰数据&#xff08;噪点&#xff…

Policy Gradient Methods

Policy Gradient Methods 是一类直接对策略本身进行参数化并优化的强化学习算法。与基于值函数的方法&#xff08;如 Q-Learning 和其变种 DQN&#xff09;不同&#xff0c;策略梯度方法直接学习一个参数化策略&#xff0c;该策略指定了在给定状态下选择每个动作的概率。这些方…

沙发3d模型制作过程---模大狮模型网

制作沙发的3D模型通常需要经历以下步骤&#xff1a; 概念设计&#xff1a; 首先&#xff0c;根据设计师或客户的需求&#xff0c;进行概念设计。这包括通过手绘草图或数字绘图软件创建初始设计概念。 建模&#xff1a; 使用专业的3D建模软件(例如Blender、Maya、3ds Max)进行建…

jeecgboot 开放页面权限,免登录访问

前端需要配置路由和添加白名单 1、配置路由 2、 在permission.js里&#xff0c;把刚才的路由添加到白名单 3、 后端需要把该页面涉及到的接口排除权限拦截 比如我这个页面涉及到两个接口&#xff1a; 那么就在后端的excludeUrls把这两个接口加进去。 前端后端都设置好了&…

解决vue项目,运行npm install安装报缺少c++库问题

项目是前后端分离架构&#xff0c;前端使用的是vue框架&#xff0c;在部署前端项目时&#xff0c;需要下载安装一些基础的镜像配置&#xff0c;包括一些预处理&#xff0c;但是在使用npm install和yarn install命令时出现了如下错误&#xff0c;查阅资料总结如下&#xff1a; …

你的隐私堪忧!彻底清空磁盘,只需要1行Python代码

大家好&#xff0c;这是程序员晚枫。 今天给大家分享Python自动化办公的第81个功能&#xff1a;彻底抹除磁盘的使用记录。 使用场景 哪怕你不是明星&#xff0c;每次换电脑的时候&#xff0c;也会很头疼硬盘里的数据怎么彻底删除。 因为只是简单的右键删除&#xff0c;市面…

Linux 安装 Gitblit

1.下载Gitblit 官网地址&#xff1a;Gitblit&#xff0c;目前最新的是1.9.3 2.上传到服务器 ①在服务器上新建目录&#xff1a;/usr/local/gitblit ②将下载的文件上传到服务器&#xff1a;/usr/local/gitblit/gitblit-1.9.3.tar.gz ③解压文件&#xff1a; cd /usr/local…

vue3学习(更新中)

目录 创建一个vue应用编写APP组件main.tsAPP.vue setupref和reactiverefreactive toRefs和toReftoRefstoRef computedwatch和watchEffect标签的ref属性ts接口范型-自定义类型props的使用生命周期pina搭建pina环境存储读取数据 创建一个vue应用 npm create vuelatest 编写APP组…

【Java核心能力】高并发在简历上如何体现?

欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址…

力扣大厂热门面试算法题 12-14

12. 整数转罗马数字&#xff0c;13. 罗马数字转整数&#xff0c;14. 最长公共前缀&#xff0c;每题做详细思路梳理&#xff0c;配套Python&Java双语代码&#xff0c; 2024.03.11 可通过leetcode所有测试用例。 目录 12. 整数转罗马数字 解题思路 完整代码 Java Pytho…

​LeetCode解法汇总1261. 在受污染的二叉树中查找元素

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给出一个满足下述规则的二叉树&#xff1…