第二部分:Linux软件部署

news/2024/12/16 5:30:57/
注意:安装操作需要root权限

1.MySQL数据库管理系统安装[单机软件]

MySQL的安装操可以通过前面学习的yum命令进行。

1.1 MySQL5.7在CentOS版本

安装
1. 配置yum仓库
#更新密钥(导入yum仓库需要的密钥)rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
#安装MySQL yum库(从网络中获取软件包,类似Windows中的exe)rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
2. 使用yum安装MySQL
#yum安装mysqlyum -y install mysql-community-server
3. 安装完成后,启动MySQL并配置开机自启动systemctl start mysqld  #启动systemctl enable mysqld  #开启自启
MySQL安装完成后,会自动配置为名称叫做:mysql的服务,可以被systemctl所管理;
4. 检查MySQL的运行状态systemctl status mysqld
配置
主要配置管理员用户root的密码以及配置允许远程登录的权限;
5. 获取MySQL的初始密码
grep 'temporary password' /var/log/mysql.log
6. 登录MySQL数据库系统
#执行
mysql -uroot -p
解释
# -u,登录的用户,MySQL数据库的管理员用户同Linux一样,都是root
# -p,表示使用密码登录
# 执行完毕后输入刚刚得到的初始化密码,即可进入MySQL数据库,实现执行sql语句;

1.2 MySQL8.0在CentOS版本

安装流程和安装5.7类似;

1.3 MySQL5.7在Ubuntu(WSL环境)版本

安装操作需root权限
1. 通过 sudo su -,切换到root用户
2. 或在每一个命令前,加上sudo,用来临时提升权限
安装
3. 下载apt仓库文件
#下载apt仓库的安装包,Ubuntu的安装包是.deb文件
wget https://dev.mysql.com/get/mysql-apt-config.0.8.12-1_all.deb
4. 配置apt仓库
#使用dpkg命令安装仓库
dpkg -i mysql-apt-config_0.8.12-1_all.deb
弹出框中选择:ubuntu bionic(Ubuntu18.04系统的代号是bionic,选择18.0的版本库用来安装)
5. 更新apt仓库的信息
# 首先导入仓库的密钥信息
apt -key adv --keyserver keyserver.ubuntu.com --recv-keys 4678942D3A79BD29
# 更新仓库信息
apt update
6. 检查是否成功配置MySQL5.7的仓库
apt -cache polity mysql-server
7. 安装MySQL5.7
#使用apt安装mysql客户端和mysql服务器
apt install -f -y mysql-client=5.7* mysql-community-server=5.7*
弹出框中输入root密码并选择ok,密码任意;
8. 启动MySQL
/etc/init.d/mysql start    #启动
/etc/init.d/mysql stop    #停止
/etc/init.d/mysql status   #查看状态9. 对MySQL进行初始化 

1.4 MySQL8.0在Ubuntu(WSL环境)版本

安装流程和安装5.7类似;

2.Tomcat安装部署

Tomcat是由Apache开发的一个Servlet容器,实现了对Servlet和JSP的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台,安全域管理和Tomcat阀等。
tomcat是一个Web应用程序的托管平台,可以让用户编写的WEB应用程序,被Tomcat所托管,并提供网站服务;
即让与用户开发的web应用程序,变成可以被访问的网页;
安装
Tomcat的安装主要分为2部分:
1.安装jdk环境;2.解压并安装Tomcat;
注意:tomcat建议使用非root用户安装并启动,可以创建一个用户:tomcat用以部署;

3.Nginx安装部署

Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了MMAP/POP3/SMTP服务,同Tomcat一样,Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务,同时也可以作为流量代理服务器,控制流量的中转;
Nginx在WEB开发领域,基本上也是必备组件之一;
注意:安装Nginx的操作需要root权限;
1. 安装yum依赖程序
2. 手动添加,nginx的yum仓库;
3. 通过yum安装最新稳定版的nginx;
4. 启动;
5. 配置防火墙放行;

4.RabbbitMQ安装

RabbitMQ一款知名的开源消息队列系统,为企业提供消息的发布、订阅、点对点传输等消息服务,RabbitMQ在企业开发中十分常见;
1. 准备yum仓库;
2. 安装RabbitMQ;
3. 启动;
4. 放行防火墙,RabbitMQ使用5672、15672、25672,3个端口;
5. 启动RbbitMQ的WEB管理控制台;
6. 添加admin用户,并赋予权限;
7. 浏览器打开管理控制台;

5.Redis安装[单机软件]

redis是一个开源的,使用C语言编写的、支持网络交互的、可基于内存也可持久化的key-value数据库;
redis的特点是:快,可以基于内存存储数据并提供超低延迟、超快的检索速度,一般用于在系统中提供快速缓存的能力;
1. 配置EPEL仓库;
2. 安装redis;
3. 启动redis;
4. 放行防火墙,redis是哟个端口6379;
5. 进入redis服务;

6.Elasticsearch安装[单机软件]

全文搜索最常见的需求,开源的Elasticsearch(简称es)是目前全文搜索引擎的首选,它可以快速的储存,搜索和分析海量数据,维基百科、stack overflow、Github都采用它;
Elasticsearch简称es,在企业内同样是一款应用非常广泛的搜索引擎服务,很多服务中的搜索功能,都是基于es来实现的;
1. 添加yum仓库;
2. 安装es;
3. 配置es;
4. 启动es;
5. 关闭防火墙;
6. 测试;

7.集群化软件安装前置准备

部署:
一、配置多台Linux虚拟机
安装集群化软件,首要条件就是要有多台Linux服务器可用;
可以使用VMware提供的克隆功能,将我们的虚拟机额外克隆3台来使用;
1.首先,关机当前CentOS系统虚拟机(可以使用root用户执行init 0来快速关机);
2. 新建文件夹,文件夹起名为:虚拟机集群;
3. 克隆;
4. 同样的操作克隆出:node2和node3(类似有多台Linux服务器,它们之间可以通过网络进行通信);
5. 开启node1,修改主机名为node1,并修改固定ip为:192.168.88.131;
6. 同样的操作启动node2和node3;
修改node2主机名为node2,设置ip为192.168.88.132;
修改node3主机名为node3,设置ip为192.168.88.133;
7. 配置FinalShell,配置连接到node1,node2,node3的连接;二、准备主机名映射
8. 在Windows系统中修改hosts文件,填入如下内容:
sudo su -,切换到root
修改/etc/hosts文件
主机名映射:
192.168.88.131 node1 
192.168.88.132 node2
192.168.88.133 node3 
9. 在3台Linux的/etc/hosts文件中,填写如下内容(3台都要添加)
192.168.88.131 node1 
192.168.88.132 node2
192.168.88.133 node3 三、配置SSH免密登录
简介:
SSH服务是一种用于远程登录的安全认证协议,通过FinalShell远程连接到Linux,就是使用SSH服务;
SSH服务支持:
通过账户+密码的认证方式来做用户认证;
通过账户+密钥文件的方式做用户认证;
SSH可以让我们通过SSH命令,远程的登录到其他的主机上,比如:
node1执行:ssh root@node2,将以root用户登录node2服务器,输入密码即可成功登录;
SSH免密配置
后续安装的集群化软件,多数需要远程登录以及远程执行命令,可以简单起见,配置三台Linux服务器之间的免密码互相SSH登录;
10. 在每一台机器都执行:ssh root-keygen -t rsa -b 4096,一路回车到底即可;
11. 在每一台机器都执行:
ssh -copy -id node1
ssh -copy -id node2
ssh -copy -id node3
12. 执行完毕后,node1,node2,node3之间将完成root用户之间的免密互通;四、配置jdk环境 
后续大数据集群软件,多数是需要Java运行环境的,所以需要为每一台机器都配置jdk环境;
jdk配置参阅:Tomcat安装部署环节;五、关闭防火墙和SELinux
集群化软件之间需要通过端口互相通讯,为了避免出现网络不通的问题,可以简单的在集群内部关闭防火墙
每台机器都执行:
systemctl stop firewalld
systemctl disable firewalld
Linux有一个安装模块:SELinux,用以限制用户和程序的相关权限,来确保系统的安全稳定;
SELinux的配置同防火墙一样,非常复杂,课程中不多涉及,后续是情况可以出一章SELinux的配置课程;
当前只需关闭SELinux功能,避免导致后面的软件运行出现问题即可;
vim /etc/sysconfig/selinux六、添加快照
为了避免后续出现问题,在完成上述设置后,为每一台虚拟机都制作快照,留待使用;

8.scp命令

scp命令是cp命令的升级版,即ssh、cp,通过SSH协议完成文件的复制;
其主要的功能就是,在不同的Linux服务器之间,通过【SSH协议互相传输文件】;
只要知晓服务器的账户和密码(或密钥),即可通过SCP互传文件
语法:
scp [-r] 参数1 参数2
-r 选项用于复制文件夹使用,如果复制文件夹,必须使用-r;
参数1:本机路径 或 远程目标路径;
参数2:远程目标路径 或  本机路径;

9.Zookeeper安装部署[集群化软件]

Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件,它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等;
除了为Hadoop和HBase提供协调服务外,Zookeeper也被其他许多软件采用作为器分布式状态一致性的依赖,比如Kafka,又或者一些软件项目中,也经常能见到Zookeeper作为一致性协调服务存在;
Zookeeper不论是大数据领域亦或是其他服务器开发领域,涉及到分布式状态一致性的场景,总有它的身影存在;安装:
Zookeeper是一款分布式的集群化软件,可以在多台服务器上部署,并协同组成分布式集群一起工作;
1. 首先,要确保已经完成了集群化环境前置准备环节的全部内容;
2. 【node1上操作】下载Zookeeper安装包,并解压;
3. 【node1上操作】创建软链接;
4. 【node1上操作】修改配置文件;
5. 【node1上操作】配置myid

10.Kafka集群部署[集群化软件]

Kafka是一款分布式的,去中心化的、高吞吐低延迟、订阅模式的消息队列系统;
同RabbitMQ一样,Kafaka也是消息队列,不过RabbitMQ多用于后端系统,因其更加专注于消息的延迟和容错;
Kafka多用于大数据体系,因其更加专注于数据的吞吐能力;
Kafka多数都是运行在分布式(集群化)模式下,所以课程将以3台服务器,来完成Kafka集群的安装部署;
安装:
1. 确保已经跟随前面学习,安装不熟练JDK和Zookeeper服务;
2. 【node1上操作】下载并上传Kafka的安装包;
3. 【node1上操作】解压;
4. 【node1上操作】修改Kafka目录内config目录内的server.properties文件;
5. 【node1上操作】将node1的Kafka复制到node2和node3;
6. 【node2上操作】
7. 【node3上操作】
8. 启动Kafka(前台启动,后台启动);
9. 验证Kafka启动;
10. 测试Kafka能否正常使用
创建测试主题(在node1执行,创建一个主题)->运行测试,在finalShell中打开2个node1的终端页面(终端页面1:启动一个模拟的数据生产者、终端页面2:再启动一个模拟的 数据消费者); 

11.Hadoop集群部署[集群化软件]

Hadoop是一个由Apache基金会所开发的分布式系统基础架构;
主要解决海量数据的存储和海量数据的分析计算问题;
广义上来说,Hadoop通常是指一个更广泛的概念---Hadoop生态圈;
三大组件:
Hadoop HDFS 提供分布式海量数据存储能力;
Hadoop YARN 提供分布式集群资源管理能力;
Hadoop MapReduce 提供分布式海量数据计算能力;前置要求:
请确保完成了集群化环境前置章节的内容;
即:JDK、SSH免密、关闭防火墙、配置主机名映射等前置操作;Hadoop集群角色:
Hadoop生态体系中总共会出现如下进程角色:
1. Hadoop HDFS的管理角色:Namenode进程(仅需一个即可,管理者一个就够);
2. Hadoop HDFS的工作角色:Datanode进程(需要多个(工人,越多越好,一个机器启动一个));
3. Hadoop YARN的管理角色:ResourceManager进程(仅需一个即可,管理者一个就够);
4. Hadoop YARN的工作角色:NodeManager进程(需要多个(工人,越多越好,一个机器启动一个));
5. Hadoop历史记录服务器角色:HistoryServer进程(仅需一个即可,功能进程无需太多,一个足够);
6. Hadoop代理服务器角色:WebProxyServer进程(仅需一个即可,功能进程无需太多,一个足够);
7. Zookeeper的进程:QuorumPeerMain进程(仅需一个即可,Zookeeper的工作者,越多越好);
Hadoop集群部署
8. 下载Hadoop安装包、解压、配置软链接;
9. 修改配置文件:hadoop-env.sh ;
10. 修改配置文件:core-site.xml;
11. 配置:hdfs-site.xml文件;
12. 配置:mapred-env.sh文件;
13. 配置:mapred-site.xml文件;
14. 配置:yarn-env.sh文件;
15. 配置:yarn-site.xml文件;
16. 修改workers文件;
17. 分发hadoop到其他机器;
18. 在node2、node3执行;
19. 创建所需目录;
20. 配置环境变量;
21. 格式化NameNode,在node执行;
22. 启动Hadoop的hdfs集群,在node1执行即可;
23. 启动hdoop的yarn集群,在node1执行即可;
24. 启动历史服务器;
25. 启动web代理服务器
验证Hadoop集群运行情况
26. node1、node2、node3上通过jps验证进程是否都启动成功;
27. 验证HDFS,浏览器打开:http://node1:9870
28. 验证YARN,浏览器打开:http://node1:8088

12.HBase集群部署[集群化软件]

HBase是一种分布式,可扩展、支持海量数据存储的NoSQL数据库;
和Redis一样,HBase是一款KeyValue型存储的数据库;
不过和Redis设计方向不同:
- redis设计为少量数据,超快检索;
- HBase设计为海量数据,快速检索;
- HBase在大数据领域应用十分广泛,现在我们来在node1、node2、node3上部署HBase集群;安装:
1. HBase依赖Zookeeprer、JDK、Hadoop(HDFS),请确保已经完成前面;
2. 【node1执行】下载HBase安装包;
3. 【node1执行】修改配置文件,修改conf/hbase-env.sh文件;
4. 【node1执行】修改配置文件,修改conf/hbase-site.xml文件;
5. 【node1执行】修改配置文件,修改conf/regionservers文件;
6. 【node1执行】分发hbase到其他机器;
7. 【node2、node3执行】配置软链接;
8. 【node1、node2、node3执行】,配置环境变量;
9. 【node1执行】启动HBase;
10. 验证HBase;
11. 简单测试使用HBase; 

13.Spark分布式内存计算集群部署[集群化软件]

Spark是一款分布式内存计算引擎,可以支撑海量数据的分布式计算;
Spark在大数据体系是明星产品,作为最新一代的综合计算引擎,支持离线计算和实时计算;
在大数据领域广泛应用,是目前世界上使用最多的大数据分布式计算引擎;
将基于前面构建的Hadoop、部署Spark Standalone集群;安装:
1. 【node1执行】下载并解压;
2. 【node1执行】修改配置文件名称;
3. 【node1执行】修改配置文件,spark-env.sh;
4. 【node1执行】修改配置文件,slaves;
5. 【node1执行】分发;
6. 【node2、node3执行】设置软链接;
7. 【node1执行】启动Spark集群;
8. 打开Spark监控页面,浏览器打开:http://node1:8081;
9. 【node1执行】提交测试任务;

14.Flink分布式内存计算集群部署[集群化软件]

Flink同Spark一样,是一款分布式内存计算引擎,可以支持海量数据的分布式计算;
Flink在大数据体系同样是明星产品,作为最新一代的综合计算引擎,支持离线计算和实时计算;
在大数据领域广泛应用,是目前世界上出去Spark以外,应用最为广泛的分布式计算引擎;将基于前面构建的Hadoop集群,部署Flink、Standalone集群;
Spark更加偏向于离线计算而Flink更加偏向于实时计算;安装:
1. 【node1操作】下载安装包;
2. 【node1操作】修改配置文件,conf/flink-conf.yaml;
3. 【node1操作】修改配置文件,conf/slaves;
4. 【node1操作】分发Flink安装包到其他机器;
5. 【node2、node3操作】
6. 【node1操作】,启动Flink;
7. 验证Flink启动;
8. 提交测试任务;

http://www.ppmy.cn/news/1555504.html

相关文章

【077】基于51单片机智能消毒柜【Proteus仿真+Keil程序+报告+原理图】

☆、设计硬件组成:51单片机最小系统DHT11温湿度传感器LCD1602液晶显示AT24C02存储芯片紫外线灯继电器按键设置限位开关蜂鸣器LED灯。 1、设计采用STC89C51/52、AT89C51/52、AT89S51/52作为主控芯片; 2、采用DHT11温湿度传感器实时检测温湿度数值&#…

数字证书管理工具 openssl keytool

OPENSSL 命令 openssl command [ command_opts ] [ command_args ] 常用command: version 用于查看版本信息 enc 用于加解密 ciphers 列出加密套件 genrsa 用于生成私钥 -des|-des3|-idea:用来加密私钥文件的三种对称加密算法。 rsa …

在 React 中,创建和嵌套组件、添加标签和样式、显示数据、渲染条件和列表、对事件做出响应并更新界面以及在组件间共享数据是常见的任务

文章目录 1. 创建和嵌套组件创建组件嵌套组件 2. 添加标签和样式添加标签添加样式 3. 显示数据显示静态数据显示动态数据 4. 渲染条件和列表条件渲染列表渲染 5. 对事件做出响应并更新界面处理事件 6. 在组件间共享数据使用 Context API react 如何创建和嵌套组件 如何添加标签…

【LC】231. 2 的幂

题目描述: 给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n 2x ,则认为 n 是 2 的幂次方。 示例 1: 输入:n 1 输出&a…

从2D到3D:解锁视频中的隐形魔法世界

点击访问 chatTools 免费体验GPT最新模型,包括o1推理模型、GPT4o 和Claude等模型! ## 技术革命:普通视频中的惊人秘密 在数字技术日新月异的今天,3D建模和虚拟现实领域一直存在着巨大的挑战。传统的3D数据获取方式不仅耗时耗力&a…

bug之浮点数精度求和计算

bug描述:电商项目多件商品进行结算时,总金额出现微小偏差;如0.10.20.3吗?还有可能展示成0.30000000000000004;bug原因:由于计算过程中使用浮点数运算,计算机只识别二进制,所以先把0.…

智能引导小车充电系统设计(论文+源码)

1总体方案设计 在16*16点阵LED字符显示器的设计中,系统总体框架如图2.4所示,包括单片机主控模复位电路模块、晶振电路模块、按键电路模块、LED点阵驱动电路模块,蓝牙模块等构成。系统功能实现主要是利用系统在软件程序编写过程中&#xff0c…

UE4_贴花_贴花基础知识一

贴花可以将材料和各种材料元素投影到表面上。您可以使用它们来添加独特的效果。贴花 是一种可以投射到网格体(包括静态网格体和骨骼网格体)上的材质。无论这些网格体的移动性(Mobility)是静态(Static)还是可…