🗒️Linux系统软件安装
00 分钟
2024-3-1
2024-3-2
type
status
date
slug
summary
tags
category
icon
password

实战章节:在Linux上部署各类软件

前言

为什么学习各类软件在Linux上的部署

在前面,我们学习了许多的Linux命令和高级技巧,这些知识点比较零散,同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用,但是并没有一些具体的实操能够串联起来这些知识点。
所以,现在我们设计了各类软件在Linux上部署安装的实战章节,可以让同学们:
  • 对前面学习的各类操作命令进行复习和练习,从而深度掌握它们
  • 本章节中演示部署的软件,包含了IT行业各类岗位中所必须使用的,如:Java后台、大数据开发、运维开发、测试、AI等。无论学习Linux后从事什么岗位,这些内容都会给你带来帮助
对于零基础学员,实战课程中所讲解的软件大概率多数大家并不了解。
所以,课程仅涉及到安装部署,不对软件的使用做详细说明。
同学们在这个过程中,可能会遇到各种各样的错误,不要怕,解决它,将会给你带来极大的提升。

学习目标

对于本部分的内容学习,我们设计两个目标:
  • 对于零基础或未从业的学员,不要求深入理解所安装部署的软件是什么,仅仅能够跟随课程成功的将其部署安装并运行成功即可
    • 在这个过程中,主要锻炼大家对Linux操作系统的熟练度,此乃零基础未从业学员的第一学习目标
  • 对于有基础或已从业的学员,本章节讲解的软件涵盖了大多数IT从业者所能接触到的,特别是大数据开发、后端开发两个主流方向,可以作为参考资料,以便在工作中有所帮助。
本章节内的各类软件安装,==不强制要求全部学习==
  1. 零基础学员,建议全部学习,作为前面学习内容的总结和实战
  1. IT从业者、有经验学员,可以按需选择,选择工作中需要用到的进行学习
章节内包含的软件并非100%涵盖了IT开发领域中所需要的内容。
如果您对某些软件的安装有强烈需求,且课程中没有提供教程,可以私信B站:"黑马大数据曹老师",老师会酌情根据时间安排补充上去哦。

为什么不使用PPT而是使用文档进行授课

从现在开始,将要进入到Linux的实操阶段,在这个阶段我们将会涉及到非常多的软件部署等操作,涉及到:
  • 各类命令的使用
  • 各种过程的结果
  • 复杂的流程步骤
这些信息的展示,并不适合于使用PPT作为载体进行授课,所以从现在开始我们将使用操作文档的模式为大家进行讲解。
使用文档模式还有一个好处,除了学习视频以外,拿到课程中使用的操作文档,同样可以作为重要的参考手册进行使用。
一举两得

前置要求

  1. 实战章节要求同学们==务必全部学习前面的知识点==,即:初识Linux、Linux基础命令、Linux权限管理、Linux高阶技巧这4个章节,请勿跳过前面的章节学习实战章节。
  1. 实战章节中会开启多台虚拟机,请尽量确保电脑的内存在:8GB(包含8GB)以上。如内存不足可以扩充内存条或购买阿里云、UCloud等云服务器临时使用(1个月多台低配服务器几十块左右)
对于云平台上购买服务器,可以参阅最后的章节(云服务)

注意

下面全部的软件安装的相关流程,90%都是取自软件自身的官方网站。
一个合格的程序员要有良好的信息收集能力哦

MySQL数据库管理系统安装部署【简单】

简介

MySQL数据库管理系统(后续简称MySQL),是一款知名的数据库系统,其特点是:轻量、简单、功能丰富。
MySQL数据库可谓是软件行业的明星产品,无论是后端开发、大数据、AI、运维、测试等各类岗位,基本上都会和MySQL打交道。
让我们从MySQL开始,进行实战的Linux软件安装部署。
本次课程分为2个版本进行安装:
  • MySQL 5.7版本安装
  • MySQL 8.x版本安装
由于MySQL5.x和8.x各自有许多使用者,所以这两个版本我们都演示安装一遍

注意

MySQL的安装过程中,除了会使用Linux命令外,还会使用到少量的数据库专用的:SQL语句
对于SQL语句我们并未涉及,所以可以跟随教程的内容,复制粘贴即可
如有时间,建议可以在学习完Linux系统之后,学习一下MySQL数据库
无论从事什么方面的开发,Java后端、大数据、AI、前端、Linux运维等,都会要求掌握MySQL数据库的
可以说,MySQL是IT开发从业者必备的技能了。

MySQL5.7版本在CentOS系统安装

注意:安装操作需要root权限
MySQL的安装我们可以通过前面学习的yum命令进行。

安装

  1. 配置yum仓库
    1. notion image
      由于MySQL并不在CentOS的官方仓库中,所以我们通过上述rpm命令:
      • 导入MySQL仓库的密钥
      • 配置MySQLQ的yum仓库
  1. 使用yum安装MySQL
    1. notion image
  1. 安装完成后,启动MySQL并配置开机自启动
    1. MySQL安装完成后,会自动配置为名称叫做:mysqld的服务,可以被systemctl所管理
  1. 检查MySQL的运行状态
    1. notion image

配置

主要配置管理员用户root的密码以及配置允许远程登录的权限。
  1. 获取MySQL的初始密码
    1. notion image
  1. 登陆MySQL数据库系统
    1. notion image
  1. 修改root用户密码
    1. [扩展],配置root的简单密码
      1. 我们可以给root设置简单密码,如123456.
        请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码
    1. [扩展],配置root运行远程登录
      1. 默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统
        请注意,允许root远程登录会带来安全风险
    1. 退出MySQL控制台页面
      1. 检查端口
        1. MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态
          notion image
      至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root密码。

      MySQL8.0版本在CentOS系统安装

      注意:安装操作需要root权限

      安装

      1. 配置yum仓库
        1. 使用yum安装MySQL
          1. 安装完成后,启动MySQL并配置开机自启动
            1. MySQL安装完成后,会自动配置为名称叫做:mysqld的服务,可以被systemctl所管理
          1. 检查MySQL的运行状态

            配置

            主要修改root密码和允许root远程登录
            1. 获取MySQL的初始密码
              1. 登录MySQL数据库系统
                1. 修改root密码
                  1. [扩展],配置root的简单密码
                    1. 我们可以给root设置简单密码,如123456.
                      请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码
                  1. 允许root远程登录,并设置远程登录密码
                    1. 默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统
                      请注意,允许root远程登录会带来安全风险
                  1. 退出MySQL控制台页面
                    1. 检查端口
                      1. MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态
                        notion image
                    至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root密码。

                    MySQL5.7版本在Ubuntu(WSL环境)系统安装

                    课程中配置的WSL环境是最新的Ubuntu22.04版本,这个版本的软件商店内置的MySQL是8.0版本
                    所以我们需要额外的步骤才可以安装5.7版本的MySQL
                    安装操作需root权限,你可以:
                    1. 通过 sudo su -,切换到root用户
                      1. 课程中选择这种方式操作
                    1. 或在每一个命令前,加上sudo,用来临时提升权限

                    安装

                    1. 下载apt仓库文件
                      1. notion image
                    1. 配置apt仓库
                      1. 弹出框中选择:ubuntu bionic (Ubuntu18.04系统的代号是bionic,选择18.04的版本库用来安装)
                        notion image
                        弹出框中选择:MySQL Server & Cluster
                        notion image
                        弹出框中选择:mysql-5.7
                        notion image
                        最后选择:ok
                        notion image
                    1. 更新apt仓库的信息
                      1. 检查是否成功配置MySQL5.7的仓库
                        1. notion image
                          看到如图所示字样,即成功
                      1. 安装MySQL5.7
                        1. 弹出框中输入root密码并选择ok,密码任意,课程中以123456代替
                          notion image
                          再次输入root密码确认
                          notion image
                      1. 启动MySQL
                        1. notion image
                      1. 对MySQL进行初始化
                        1. 输入密码:
                          1. notion image
                        2. 是否开启密码验证插件,如果需要增强密码安全性,输入y并回车,不需要直接回车(课程中选择直接回车)
                          1. notion image
                        3. 是否更改root密码,需要输入y回车,不需要直接回车(课程不更改)
                          1. notion image
                        4. 是否移除匿名用户,移除输入y回车,不移除直接回车(课程选择移除)
                          1. notion image
                        5. 是否进制root用户远程登录,禁止输入y回车,不禁止直接回车(课程选择不禁止)
                          1. notion image
                        6. 是否移除自带的测试数据库,移除输入y回车,不移除直接回车(课程选择不移除)
                          1. notion image
                        7. 是否刷新权限,刷新输入y回车,不刷新直接回车(课程选择刷新)
                          1. notion image
                      1. 登陆MySQL
                        1. notion image
                      至此,在Ubuntu上安装MySQL5.7版本成功。

                      MySQL8.0版本在Ubuntu(WSL环境)系统安装

                      课程中配置的WSL环境是最新的Ubuntu22.04版本,这个版本的软件商店内置的MySQL是8.0版本
                      所以直接可以通过apt安装即可
                      注意,课程是以WSL获得的Ubuntu操作系统环境。
                      如果你通过VMware虚拟机的方式获得了Ubuntu操作系统环境,操作步骤不用担心,和课程中使用WSL环境是==完全一致的==
                      安装操作需root权限,你可以:
                      1. 通过 sudo su -,切换到root用户
                        1. 课程中选择这种方式操作
                      1. 或在每一个命令前,加上sudo,用来临时提升权限

                      安装

                      1. 如果已经安装过MySQL5.7版本,需要卸载仓库信息哦
                        1. 更新apt仓库信息
                          1. 安装mysql
                            1. 启动MySQL
                              1. 登陆MySQL设置密码
                                1. 设置密码
                                  1. 退出MySQL控制台
                                    1. 对MySQL进行初始化
                                      1. 输入密码:
                                        1. notion image
                                      2. 是否开启密码验证插件,如果需要增强密码安全性,输入y并回车,不需要直接回车(课程中选择直接回车)
                                        1. notion image
                                      3. 是否更改root密码,需要输入y回车,不需要直接回车(课程不更改)
                                        1. notion image
                                      4. 是否移除匿名用户,移除输入y回车,不移除直接回车(课程选择移除)
                                        1. notion image
                                      5. 是否进制root用户远程登录,禁止输入y回车,不禁止直接回车(课程选择不禁止)
                                        1. notion image
                                      6. 是否移除自带的测试数据库,移除输入y回车,不移除直接回车(课程选择不移除)
                                        1. notion image
                                      7. 是否刷新权限,刷新输入y回车,不刷新直接回车(课程选择刷新)
                                        1. notion image
                                    1. 重新登陆MySQL(用更改后的密码)
                                      1. notion image
                                    至此,在Ubuntu上安装MySQL5.7版本成功。

                                    Tomcat安装部署【简单】

                                    简介

                                    Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。
                                    简单来说,Tomcat是一个WEB应用程序的托管平台,可以让用户编写的WEB应用程序,被Tomcat所托管,并提供网站服务。
                                    即让用户开发的WEB应用程序,变成可以被访问的网页。

                                    安装

                                    Tomcat的安装非常简单,主要分为2部分:
                                    1. 安装JDK环境
                                    1. 解压并安装Tomcat
                                    本次安装使用Tomcat版本是:10.0.27版本,需要Java(JDK)版本最低为JDK8或更高版本
                                    课程中使用的JDK版本是:JDK8u351版本

                                    安装JDK环境

                                    1. 下载JDK软件
                                      1. 在页面下方找到:
                                        notion image
                                        下载jdk-8u351-linux-x64.tar.gz
                                        notion image
                                        ==在弹出的页面中输入Oracle的账户密码即可下载(如无账户,请自行注册,注册是免费的)==
                                    1. 登陆Linux系统,切换到root用户
                                      1. notion image
                                    1. 通过FinalShell,上传下载好的JDK安装包
                                      1. notion image
                                    1. 创建文件夹,用来部署JDK,将JDK和Tomcat都安装部署到:/export/server 内
                                      1. 解压缩JDK安装文件
                                        1. 配置JDK的软链接
                                          1. 配置JAVA_HOME环境变量,以及将$JAVA_HOME/bin文件夹加入PATH环境变量中
                                            1. 生效环境变量
                                              1. 配置java执行程序的软链接
                                                1. 执行验证:

                                                  解压并部署Tomcat

                                                  Tomcat建议使用非Root用户安装并启动
                                                  可以创建一个用户:tomcat用以部署
                                                  1. 首先,放行tomcat需要使用的8080端口的外部访问权限
                                                    1. CentOS系统默认开启了防火墙,阻止外部网络流量访问系统内部
                                                      所以,如果想要Tomcat可以正常使用,需要对Tomcat默认使用的8080端口进行放行
                                                      放行有2种操作方式:
                                                      1. 关闭防火墙
                                                      1. 配置防火墙规则,放行端口
                                                      方便起见,建议同学们选择方式1,直接关闭防火墙一劳永逸
                                                      防火墙的配置非常复杂,后面会视情况独立出一集防火墙配置规则的章节。
                                                  1. 以root用户操作,创建tomcat用户
                                                    1. 下载Tomcat安装包
                                                      1. 如果Linux内下载过慢,可以复制下载链接在Windows系统中使用迅雷等软件加速下载然后上传到Linux内即可
                                                        或者使用课程资料中提供的安装包
                                                    1. 解压Tomcat安装包
                                                      1. 创建Tomcat软链接
                                                        1. 修改tomcat安装目录权限
                                                          1. 切换到tomcat用户
                                                            1. 启动tomcat
                                                              1. tomcat启动在8080端口,可以检查是否正常启动成功
                                                                1. notion image
                                                              1. 打开浏览器,输入:
                                                                1. 使用主机名(需配置好本地的主机名映射)或IP地址访问Tomcat的WEB页面
                                                                  notion image
                                                              至此,Tomcat安装配置完成。

                                                              Nginx安装部署【简单】

                                                              简介

                                                              Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
                                                              同Tomcat一样,Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务,同时也可以作为流量代理服务器,控制流量的中转。
                                                              Nginx在WEB开发领域,基本上也是必备组件之一了。

                                                              安装

                                                              Nginx同样需要配置额外的yum仓库,才可以使用yum安装
                                                              安装Nginx的操作需要root身份
                                                              1. 安装yum依赖程序
                                                                1. 手动添加,nginx的yum仓库
                                                                  1. yum程序使用的仓库配置文件,存放在:/etc/yum.repo.d内。
                                                                    通过如上操作,我们手动添加了nginx的yum仓库
                                                                1. 通过yum安装最新稳定版的nginx
                                                                  1. 启动
                                                                    1. 配置防火墙放行
                                                                      1. nginx默认绑定80端口,需要关闭防火墙或放行80端口
                                                                    1. 启动后浏览器输入Linux服务器的IP地址或主机名即可访问
                                                                      1. ps:80端口是访问网站的默认端口,所以后面无需跟随端口号
                                                                        显示的指定端口也是可以的比如:
                                                                    至此,Nginx安装配置完成。
                                                                    notion image

                                                                    RabbitMQ安装部署【简单】

                                                                    简介

                                                                    RabbitMQ一款知名的开源消息队列系统,为企业提供消息的发布、订阅、点对点传输等消息服务。
                                                                    RabbitMQ在企业开发中十分常见,课程为大家演示快速搭建RabbitMQ环境。

                                                                    安装

                                                                    rabbitmq在yum仓库中的版本比较老,所以我们需要手动构建yum仓库
                                                                    1. 准备yum仓库
                                                                      1. 安装RabbitMQ
                                                                        1. 启动
                                                                          1. 放行防火墙,RabbitMQ使用5672、15672、25672 3个端口
                                                                            1. 启动RabbitMQ的WEB管理控制台
                                                                              1. 添加admin用户,并赋予权限
                                                                                1. 浏览器打开管理控制台
                                                                                  1. notion image
                                                                                至此,RabbitMQ已经安装完成了。

                                                                                Redis安装部署【简单】

                                                                                简介

                                                                                redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。
                                                                                redis的特点就是:,可以基于内存存储数据并提供超低延迟、超快的检索速度
                                                                                一般用于在系统中提供快速缓存的能力。

                                                                                安装

                                                                                1. 配置EPEL仓库
                                                                                  1. EPEL 的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。EPEL则为服务器版本提供大量的rpm包(yum程序所使用的程序安装包,类似Windows的exe),而且大多数rpm包在官方 repository 中是找不到的。
                                                                                1. 安装redis
                                                                                  1. 启动redis
                                                                                    1. 放行防火墙,redis使用端口6379
                                                                                      1. 进入redis服务
                                                                                        至此,redis安装完成。

                                                                                        ElasticSearch安装部署

                                                                                        简介

                                                                                        全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 es)是目前全文搜索引擎的首选。
                                                                                        它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。
                                                                                        Elasticsearch简称es,在企业内同样是一款应用非常广泛的搜索引擎服务。
                                                                                        很多服务中的搜索功能,都是基于es来实现的。

                                                                                        安装

                                                                                        1. 添加yum仓库
                                                                                          1. 安装es
                                                                                            1. 配置es
                                                                                              1. 启动es
                                                                                                1. 关闭防火墙
                                                                                                  1. 测试
                                                                                                    1. 浏览器打开:http://ip:9200/?pretty
                                                                                                      notion image

                                                                                                  集群化环境前置准备

                                                                                                  介绍

                                                                                                  在前面,我们所学习安装的软件,都是以单机模式运行的。
                                                                                                  后续,我们将要学习大数据相关的软件部署,所以后续我们所安装的软件服务,大多数都是以集群化(多台服务器共同工作)模式运行的。
                                                                                                  所以,在当前小节,我们需要完成集群化环境的前置准备,包括创建多台虚拟机,配置主机名映射,SSH免密登录等等。

                                                                                                  部署

                                                                                                  配置多台Linux虚拟机

                                                                                                  安装集群化软件,首要条件就是要有多台Linux服务器可用。
                                                                                                  我们可以使用VMware提供的克隆功能,将我们的虚拟机额外克隆出3台来使用。
                                                                                                  1. 首先,关机当前CentOS系统虚拟机(可以使用root用户执行init 0来快速关机)
                                                                                                  1. 新建文件夹
                                                                                                    1. notion image
                                                                                                      文件夹起名为:虚拟机集群
                                                                                                  1. 克隆
                                                                                                    1. notion image
                                                                                                      notion image
                                                                                                      notion image
                                                                                                      notion image
                                                                                                      notion image
                                                                                                      notion image
                                                                                                      notion image
                                                                                                      notion image
                                                                                                  1. 同样的操作克隆出:node2和node3
                                                                                                    1. notion image
                                                                                                  1. 开启node1,修改主机名为node1,并修改固定ip为:192.168.88.131
                                                                                                    1. 同样的操作启动node2和node3,
                                                                                                      1. 修改node2主机名为node2,设置ip为192.168.88.132
                                                                                                        修改node2主机名为node3,设置ip为192.168.88.133
                                                                                                    1. 配置FinalShell,配置连接到node1、node2、node3的连接
                                                                                                      1. 为了简单起见,建议配置root用户登录

                                                                                                    准备主机名映射

                                                                                                    1. 在Windows系统中修改hosts文件,填入如下内容:
                                                                                                      1. 如果同学们使用MacOS系统,请:
                                                                                                        1. sudo su -,切换到root
                                                                                                        1. 修改/etc/hosts文件
                                                                                                    1. 在3台Linux的/etc/hosts文件中,填入如下内容(==3台都要添加==)

                                                                                                      配置SSH免密登录

                                                                                                      简介

                                                                                                      SSH服务是一种用于远程登录的安全认证协议。
                                                                                                      我们通过FinalShell远程连接到Linux,就是使用的SSH服务。
                                                                                                      SSH服务支持:
                                                                                                      1. 通过账户+密码的认证方式来做用户认证
                                                                                                      1. 通过账户+秘钥文件的方式做用户认证
                                                                                                      SSH可以让我们通过SSH命令,远程的登陆到其它的主机上,比如:
                                                                                                      在node1执行:ssh root@node2,将以root用户登录node2服务器,输入密码即可成功登陆
                                                                                                      或者ssh node2,将以当前用户直接登陆到node2服务器。

                                                                                                      SSH免密配置

                                                                                                      后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,配置三台Linux服务器之间的免密码互相SSH登陆
                                                                                                      1. 在每一台机器都执行:ssh-keygen -t rsa -b 4096,一路回车到底即可
                                                                                                      1. 在每一台机器都执行:
                                                                                                        1. 执行完毕后,node1、node2、node3之间将完成root用户之间的免密互通

                                                                                                        配置JDK环境

                                                                                                        后续的大数据集群软件,多数是需要Java运行环境的,所以我们为==每一台==机器都配置JDK环境。
                                                                                                        JDK配置参阅:Tomcat安装部署环节。

                                                                                                        关闭防火墙和SELinux

                                                                                                        集群化软件之间需要通过端口互相通讯,为了避免出现网络不通的问题,我们可以简单的在集群内部关闭防火墙。
                                                                                                        ==在每一台机器都执行==
                                                                                                        Linux有一个安全模块:SELinux,用以限制用户和程序的相关权限,来确保系统的安全稳定。
                                                                                                        SELinux的配置同防火墙一样,非常复杂,课程中不多涉及,后续视情况可以出一章SELinux的配置课程。
                                                                                                        在当前,我们只需要关闭SELinux功能,避免导致后面的软件运行出现问题即可,
                                                                                                        ==在每一台机器都执行==

                                                                                                        添加快照

                                                                                                        为了避免后续出现问题,在完成上述设置后,为==每一台虚拟机==都制作快照,留待使用。

                                                                                                        补充命令 - scp

                                                                                                        后续的安装部署操作,我们将会频繁的在多台服务器之间相互传输数据。
                                                                                                        为了更加方面的互相传输,我们补充一个命令:scp
                                                                                                        scp命令是cp命令的升级版,即:ssh cp,通过SSH协议完成文件的复制。
                                                                                                        其主要的功能就是:在不同的Linux服务器之间,通过SSH协议互相传输文件。
                                                                                                        只要知晓服务器的账户和密码(或密钥),即可通过SCP互传文件。
                                                                                                        语法:

                                                                                                        Zookeeper集群安装部署

                                                                                                        简介

                                                                                                        ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
                                                                                                        除了为Hadoop和HBase提供协调服务外,Zookeeper也被其它许多软件采用作为其分布式状态一致性的依赖,比如Kafka,又或者一些软件项目中,也经常能见到Zookeeper作为一致性协调服务存在。
                                                                                                        Zookeeper不论是大数据领域亦或是其它服务器开发领域,涉及到分布式状态一致性的场景,总有它的身影存在。

                                                                                                        安装

                                                                                                        Zookeeper是一款分布式的集群化软件,可以在多台服务器上部署,并协同组成分布式集群一起工作。
                                                                                                        1. 首先,要确保已经完成了集群化环境前置准备环节的全部内容
                                                                                                        1. 【node1上操作】下载Zookeeper安装包,并解压
                                                                                                          1. 【node1上操作】创建软链接
                                                                                                            1. 【node1上操作】修改配置文件
                                                                                                              1. 【node1上操作】配置myid
                                                                                                                1. 【在node2和node3上操作】,创建文件夹
                                                                                                                  1. 【node1上操作】将Zookeeper 复制到node2和node3
                                                                                                                    1. 【在node2上操作】
                                                                                                                      1. 【在node3上操作】
                                                                                                                        1. 【在node1、node2、node3上分别执行】启动Zookeeper
                                                                                                                          1. 【在node1、node2、node3上分别执行】检查Zookeeper进程是否启动
                                                                                                                            1. 【node1上操作】验证Zookeeper
                                                                                                                              至此Zookeeper安装完成

                                                                                                                              Kafka集群安装部署

                                                                                                                              简介

                                                                                                                              Kafka是一款分布式的、去中心化的、高吞吐低延迟、订阅模式的消息队列系统。
                                                                                                                              同RabbitMQ一样,Kafka也是消息队列。不过RabbitMQ多用于后端系统,因其更加专注于消息的延迟和容错。
                                                                                                                              Kafka多用于大数据体系,因其更加专注于数据的吞吐能力。
                                                                                                                              Kafka多数都是运行在分布式(集群化)模式下,所以课程将以3台服务器,来完成Kafka集群的安装部署。

                                                                                                                              安装

                                                                                                                              1. 确保已经跟随前面的视频,安装并部署了JDK和Zookeeper服务
                                                                                                                                1. Kafka的运行依赖JDK环境和Zookeeper请确保已经有了JDK环境和Zookeeper
                                                                                                                              1. 【在node1操作】下载并上传Kafka的安装包
                                                                                                                                1. 【在node1操作】解压
                                                                                                                                  1. 【在node1操作】修改Kafka目录内的config目录内的server.properties文件
                                                                                                                                    1. 【在node1操作】将node1的kafka复制到node2和node3
                                                                                                                                      1. 【在node2操作】
                                                                                                                                        1. 【在node3操作】
                                                                                                                                          1. 启动kafka
                                                                                                                                            1. 验证Kafka启动
                                                                                                                                              1. notion image

                                                                                                                                            测试Kafka能否正常使用

                                                                                                                                            1. 创建测试主题
                                                                                                                                            1. 运行测试,请在FinalShell中打开2个node1的终端页面

                                                                                                                                            大数据集群(Hadoop生态)安装部署

                                                                                                                                            简介

                                                                                                                                            1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 2)主要解决,海量数据的存储和海量数据的分析计算问题。
                                                                                                                                            Hadoop HDFS 提供分布式海量数据存储能力
                                                                                                                                            Hadoop YARN 提供分布式集群资源管理能力
                                                                                                                                            Hadoop MapReduce 提供分布式海量数据计算能力

                                                                                                                                            前置要求

                                                                                                                                            • 请确保完成了集群化环境前置准备章节的内容
                                                                                                                                            • 即:JDK、SSH免密、关闭防火墙、配置主机名映射等前置操作

                                                                                                                                            Hadoop集群角色

                                                                                                                                            Hadoop生态体系中总共会出现如下进程角色:
                                                                                                                                            1. Hadoop HDFS的管理角色:Namenode进程(仅需1个即可(管理者一个就够)
                                                                                                                                            1. Hadoop HDFS的工作角色:Datanode进程(需要多个(工人,越多越好,一个机器启动一个)
                                                                                                                                            1. Hadoop YARN的管理角色:ResourceManager进程(仅需1个即可(管理者一个就够)
                                                                                                                                            1. Hadoop YARN的工作角色:NodeManager进程(需要多个(工人,越多越好,一个机器启动一个)
                                                                                                                                            1. Hadoop 历史记录服务器角色:HistoryServer进程(仅需1个即可(功能进程无需太多1个足够)
                                                                                                                                            1. Hadoop 代理服务器角色:WebProxyServer进程(仅需1个即可(功能进程无需太多1个足够)
                                                                                                                                            1. Zookeeper的进程:QuorumPeerMain进程(仅需1个即可(Zookeeper的工作者,越多越好)

                                                                                                                                            角色和节点分配

                                                                                                                                            角色分配如下:
                                                                                                                                            1. node1:Namenode、Datanode、ResourceManager、NodeManager、HistoryServer、WebProxyServer、QuorumPeerMain
                                                                                                                                            1. node2:Datanode、NodeManager、QuorumPeerMain
                                                                                                                                            1. node3:Datanode、NodeManager、QuorumPeerMain
                                                                                                                                            notion image

                                                                                                                                            安装

                                                                                                                                            调整虚拟机内存

                                                                                                                                            如上图,可以看出node1承载了太多的压力。同时node2和node3也同时运行了不少程序
                                                                                                                                            为了确保集群的稳定,需要对虚拟机进行内存设置。
                                                                                                                                            请在VMware中,对:
                                                                                                                                            1. node1设置4GB或以上内存
                                                                                                                                            1. node2和node3设置2GB或以上内存
                                                                                                                                            大数据的软件本身就是集群化(一堆服务器)一起运行的。
                                                                                                                                            现在我们在一台电脑中以多台虚拟机来模拟集群,确实会有很大的内存压力哦。

                                                                                                                                            Zookeeper集群部署

                                                                                                                                            Hadoop集群部署

                                                                                                                                            1. 下载Hadoop安装包、解压、配置软链接
                                                                                                                                              1. 修改配置文件:hadoop-env.sh
                                                                                                                                                1. Hadoop的配置文件要修改的地方很多,请细心
                                                                                                                                                  cd 进入到/export/server/hadoop/etc/hadoop,文件夹中,配置文件都在这里
                                                                                                                                                  修改hadoop-env.sh文件
                                                                                                                                                  此文件是配置一些Hadoop用到的环境变量
                                                                                                                                                  这些是临时变量,在Hadoop运行时有用
                                                                                                                                                  如果要永久生效,需要写到/etc/profile中
                                                                                                                                              1. 修改配置文件:core-site.xml
                                                                                                                                                1. 如下,清空文件,填入如下内容
                                                                                                                                              1. 配置:hdfs-site.xml文件
                                                                                                                                                1. 配置:mapred-env.sh文件
                                                                                                                                                  1. 配置:mapred-site.xml文件
                                                                                                                                                    1. 配置:yarn-env.sh文件
                                                                                                                                                      1. 配置:yarn-site.xml文件
                                                                                                                                                        1. 修改workers文件
                                                                                                                                                          1. 分发hadoop到其它机器
                                                                                                                                                          1. 在node2、node3执行
                                                                                                                                                            1. 创建所需目录
                                                                                                                                                                • 在node1执行:
                                                                                                                                                                  • 在node2执行:
                                                                                                                                                                    • 在node3执行:
                                                                                                                                                                  1. 配置环境变量
                                                                                                                                                                    1. 在node1、node2、node3修改/etc/profile
                                                                                                                                                                      执行source /etc/profile生效
                                                                                                                                                                  1. 格式化NameNode,在node1执行
                                                                                                                                                                    1. hadoop这个命令来自于:$HADOOP_HOME/bin中的程序
                                                                                                                                                                      由于配置了环境变量PATH,所以可以在任意位置执行hadoop命令哦
                                                                                                                                                                  1. 启动hadoop的hdfs集群,在node1执行即可
                                                                                                                                                                    1. start-dfs.sh这个命令来自于:$HADOOP_HOME/sbin中的程序
                                                                                                                                                                      由于配置了环境变量PATH,所以可以在任意位置执行start-dfs.sh命令哦
                                                                                                                                                                  1. 启动hadoop的yarn集群,在node1执行即可
                                                                                                                                                                    1. 启动历史服务器
                                                                                                                                                                      1. 启动web代理服务器

                                                                                                                                                                        验证Hadoop集群运行情况

                                                                                                                                                                        1. 在node1、node2、node3上通过jps验证进程是否都启动成功
                                                                                                                                                                        1. 验证HDFS,浏览器打开:http://node1:9870
                                                                                                                                                                          1. 创建文件test.txt,随意填入内容,并执行:
                                                                                                                                                                        1. 验证YARN,浏览器打开:http://node1:8088
                                                                                                                                                                          1. 执行:

                                                                                                                                                                        大数据NoSQL数据库HBase集群部署

                                                                                                                                                                        简介

                                                                                                                                                                        HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库。
                                                                                                                                                                        和Redis一样,HBase是一款KeyValue型存储的数据库。
                                                                                                                                                                        不过和Redis设计方向不同
                                                                                                                                                                        • Redis设计为少量数据,超快检索
                                                                                                                                                                        • HBase设计为海量数据,快速检索
                                                                                                                                                                        HBase在大数据领域应用十分广泛,现在我们来在node1、node2、node3上部署HBase集群。

                                                                                                                                                                        安装

                                                                                                                                                                        1. HBase依赖Zookeeper、JDK、Hadoop(HDFS),请确保已经完成前面
                                                                                                                                                                            • 集群化软件前置准备(JDK)
                                                                                                                                                                            • Zookeeper
                                                                                                                                                                            • Hadoop
                                                                                                                                                                            • 这些环节的软件安装
                                                                                                                                                                        1. 【node1执行】下载HBase安装包
                                                                                                                                                                          1. 【node1执行】,修改配置文件,修改conf/hbase-env.sh文件
                                                                                                                                                                            1. 【node1执行】,修改配置文件,修改conf/hbase-site.xml文件
                                                                                                                                                                              1. 【node1执行】,修改配置文件,修改conf/regionservers文件
                                                                                                                                                                                1. 【node1执行】,分发hbase到其它机器
                                                                                                                                                                                  1. 【node2、node3执行】,配置软链接
                                                                                                                                                                                    1. 【node1、node2、node3执行】,配置环境变量
                                                                                                                                                                                      1. 【node1执行】启动HBase
                                                                                                                                                                                        1. 请确保:Hadoop HDFS、Zookeeper是已经启动了的
                                                                                                                                                                                          由于我们配置了环境变量export PATH=$PATH:$HBASE_HOME/bin
                                                                                                                                                                                          start-hbase.sh即在$HBASE_HOME/bin内,所以可以无论当前目录在哪,均可直接执行
                                                                                                                                                                                      1. 验证HBase
                                                                                                                                                                                        1. 浏览器打开:http://node1:16010,即可看到HBase的WEB UI页面
                                                                                                                                                                                      1. 简单测试使用HBase
                                                                                                                                                                                        1. 【node1执行】

                                                                                                                                                                                      分布式内存计算Spark环境部署

                                                                                                                                                                                      注意

                                                                                                                                                                                      本小节的操作,基于:大数据集群(Hadoop生态)安装部署环节中所构建的Hadoop集群
                                                                                                                                                                                      如果没有Hadoop集群,请参阅前置内容,部署好环境。

                                                                                                                                                                                      简介

                                                                                                                                                                                      Spark是一款分布式内存计算引擎,可以支撑海量数据的分布式计算。
                                                                                                                                                                                      Spark在大数据体系是明星产品,作为最新一代的综合计算引擎,支持离线计算和实时计算。
                                                                                                                                                                                      在大数据领域广泛应用,是目前世界上使用最多的大数据分布式计算引擎。
                                                                                                                                                                                      我们将基于前面构建的Hadoop集群,部署Spark Standalone集群。

                                                                                                                                                                                      安装

                                                                                                                                                                                      1. 【node1执行】下载并解压
                                                                                                                                                                                        1. 【node1执行】修改配置文件名称
                                                                                                                                                                                          1. 【node1执行】修改配置文件,spark-env.sh
                                                                                                                                                                                            1. 【node1执行】修改配置文件,slaves
                                                                                                                                                                                              1. 【node1执行】分发
                                                                                                                                                                                                1. 【node2、node3执行】设置软链接
                                                                                                                                                                                                  1. 【node1执行】启动Spark集群
                                                                                                                                                                                                    1. 打开Spark监控页面,浏览器打开:http://node1:8081
                                                                                                                                                                                                    1. 【node1执行】提交测试任务

                                                                                                                                                                                                      分布式内存计算Flink环境部署

                                                                                                                                                                                                      注意

                                                                                                                                                                                                      本小节的操作,基于:大数据集群(Hadoop生态)安装部署环节中所构建的Hadoop集群
                                                                                                                                                                                                      如果没有Hadoop集群,请参阅前置内容,部署好环境。

                                                                                                                                                                                                      简介

                                                                                                                                                                                                      Flink同Spark一样,是一款分布式内存计算引擎,可以支撑海量数据的分布式计算。
                                                                                                                                                                                                      Flink在大数据体系同样是明星产品,作为最新一代的综合计算引擎,支持离线计算和实时计算。
                                                                                                                                                                                                      在大数据领域广泛应用,是目前世界上除去Spark以外,应用最为广泛的分布式计算引擎。
                                                                                                                                                                                                      我们将基于前面构建的Hadoop集群,部署Flink Standalone集群
                                                                                                                                                                                                      Spark更加偏向于离线计算而Flink更加偏向于实时计算。

                                                                                                                                                                                                      安装

                                                                                                                                                                                                      1. 【node1操作】下载安装包
                                                                                                                                                                                                        1. 【node1操作】修改配置文件,conf/flink-conf.yaml
                                                                                                                                                                                                          1. 【node1操作】,修改配置文件,conf/slaves
                                                                                                                                                                                                            1. 【node1操作】分发Flink安装包到其它机器
                                                                                                                                                                                                              1. 【node2、node3操作】
                                                                                                                                                                                                                1. 【node1操作】,启动Flink
                                                                                                                                                                                                                  1. 验证Flink启动
                                                                                                                                                                                                                    1. 提交测试任务
                                                                                                                                                                                                                      1. 【node1执行】

                                                                                                                                                                                                                    运维监控Zabbix部署

                                                                                                                                                                                                                    简介

                                                                                                                                                                                                                    Zabbix 由 Alexei Vladishev 创建,目前由其成立的公司—— Zabbix SIA 积极的持续开发更新维护, 并为用户提供技术支持服务。
                                                                                                                                                                                                                    Zabbix 是一个==企业级分布式开源监控解决方案==。
                                                                                                                                                                                                                    Zabbix 软件能够==监控==众多网络参数和服务器的==健康度、完整性==。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。

                                                                                                                                                                                                                    安装

                                                                                                                                                                                                                    安装整体步骤:
                                                                                                                                                                                                                    1. 准备Linux 服务器(虚拟机)
                                                                                                                                                                                                                    1. 安装Mysql
                                                                                                                                                                                                                    1. 安装zabbix( 包含 server agent web)
                                                                                                                                                                                                                    1. 配置 mysql, 为zabbix创建表结构
                                                                                                                                                                                                                    1. 配置zabbix server
                                                                                                                                                                                                                    1. 启动并开启开机自启动
                                                                                                                                                                                                                    notion image

                                                                                                                                                                                                                    安装前准备 - Mysql

                                                                                                                                                                                                                    安装ZabbixServer需要先安装好Mysql数据库
                                                                                                                                                                                                                    课程使用Mysql 5.7
                                                                                                                                                                                                                    安装步骤:

                                                                                                                                                                                                                    安装Zabbix Server 和 Zabbix Agent

                                                                                                                                                                                                                    初始安装,我们先安装ZabbixServer以及在Server本机安装Agent。
                                                                                                                                                                                                                    notion image
                                                                                                                                                                                                                    选择对应的版本,然后再下面官网给出了具体的安装命令,使用rpmyum来进行安装。
                                                                                                                                                                                                                    需要有网络。
                                                                                                                                                                                                                    以下内容来自官方页面

                                                                                                                                                                                                                    a. 安装Zabbix yum库

                                                                                                                                                                                                                    b. 安装Zabbix Server、前端、Agent

                                                                                                                                                                                                                    c. 初始化Mysql数据库

                                                                                                                                                                                                                    在Mysql中操作
                                                                                                                                                                                                                    测试在Zabbix Server服务器上能否远程登录Mysql,如果可以登录继续向下走。
                                                                                                                                                                                                                    Import initial schema and data. You will be prompted to enter your newly created password.

                                                                                                                                                                                                                    d. 为Zabbix Server配置数据库

                                                                                                                                                                                                                    Edit file /etc/zabbix/zabbix_server.conf

                                                                                                                                                                                                                    e. 配置Zabbix的PHP前端

                                                                                                                                                                                                                    Edit file /etc/httpd/conf.d/zabbix.conf, uncomment and set the right timezone for you.# php_value date.timezone Asia/Shanghai
                                                                                                                                                                                                                    Start Zabbix server and agent processes and make it start at system boot:
                                                                                                                                                                                                                    Now your Zabbix server is up and running!

                                                                                                                                                                                                                    配置zabbix 前端(WEB UI)

                                                                                                                                                                                                                    打开:http://192.168.88.131/zabbix
                                                                                                                                                                                                                    即可进入Zabbix页面,在首次打开的时候,会进入设置页面,如图:
                                                                                                                                                                                                                    notion image
                                                                                                                                                                                                                    点击下一步,会检查相应的设置是否都正常
                                                                                                                                                                                                                    notion image
                                                                                                                                                                                                                    如果一切正常,点击下一步。
                                                                                                                                                                                                                    配置DB连接
                                                                                                                                                                                                                    notion image
                                                                                                                                                                                                                    按具体情况填写即可
                                                                                                                                                                                                                    配置Server细节
                                                                                                                                                                                                                    notion image
                                                                                                                                                                                                                    具体配置即可,Name表示这个Zabbix服务的名字,这里起名叫ITHEIMA-TEST
                                                                                                                                                                                                                    安装前总结预览
                                                                                                                                                                                                                    检查确认没有问题就下一步
                                                                                                                                                                                                                    notion image
                                                                                                                                                                                                                    配置完成
                                                                                                                                                                                                                    notion image
                                                                                                                                                                                                                    初始管理员账户Admin密码zabbix
                                                                                                                                                                                                                    输入账户密码后,就能进入zabbix页面了。
                                                                                                                                                                                                                    如下图:
                                                                                                                                                                                                                    notion image
                                                                                                                                                                                                                    现在是一个崭新的zabbix等待我们去探索。

                                                                                                                                                                                                                    运维监控Grafana部署

                                                                                                                                                                                                                    简介

                                                                                                                                                                                                                    安装

                                                                                                                                                                                                                    部署形式

                                                                                                                                                                                                                    Grafana支持两种部署形式
                                                                                                                                                                                                                    1. 自行部署, 可以部署在操作系统之上. 自行提供服务器, 域名等.
                                                                                                                                                                                                                    1. Grafana官方托管. 无需安装, 在线注册即可得到一个专属于自己的Grafana, 但是要花钱的. 是一种SaaS服务
                                                                                                                                                                                                                    我们课程选择方式1

                                                                                                                                                                                                                    安装

                                                                                                                                                                                                                    Grafana支持常见的绝大多数操作系统, 如windows mac linux 同时也支持部署在docker中.
                                                                                                                                                                                                                    大多数情况下, Grafana都是部署在linux服务器之上. 所以本课程也是基于Linux系统来讲解.
                                                                                                                                                                                                                    windows mac系统 或 docker部署有兴趣的同学, 请参考: https://grafana.com/grafana/download
                                                                                                                                                                                                                    我们部署Grafana可以使用YUM来进行部署.

                                                                                                                                                                                                                    配置说明

                                                                                                                                                                                                                    grafana-server具有许多配置选项,这些选项可以在.ini配置文件中指定,也可以使用环境变量指定。
                                                                                                                                                                                                                    Note. Grafana needs to be restarted for any configuration changes to take effect.

                                                                                                                                                                                                                    配置文件注释

                                                                                                                                                                                                                    ;符号在.ini文件中全局表示注释 ()

                                                                                                                                                                                                                    配置文件路径

                                                                                                                                                                                                                    如果是自己解压安装, 或者自行编译的方式安装, 配置文件在:
                                                                                                                                                                                                                    • 默认: $WORKING_DIR/conf/defaults.ini
                                                                                                                                                                                                                    • 自定义:$WORKING_DIR/conf/custom.ini
                                                                                                                                                                                                                    • 自定义配置文件路径可以被参数-config覆盖
                                                                                                                                                                                                                    对于YUM RPM 安装的方式, 配置文件在: /etc/grafana/grafana.ini

                                                                                                                                                                                                                    使用环境变量

                                                                                                                                                                                                                    可以使用以下语法使用环境变量来覆盖配置文件中的所有选项:
                                                                                                                                                                                                                    其中SectionName是方括号内的文本。一切都应为大写,.应替换为_ 例如,给定以下配置设置:
                                                                                                                                                                                                                    Then you can override them using:

                                                                                                                                                                                                                    开始配置

                                                                                                                                                                                                                    Grafana支持使用Sqlite3 Postgresql Mysql这三种数据库作为其元数据的存储.
                                                                                                                                                                                                                    我们课程使用Mysql. 和zabbix的元数据mysql共用一个实例
                                                                                                                                                                                                                    只需要配置如下内容即可:
                                                                                                                                                                                                                    notion image
                                                                                                                                                                                                                    并登陆mysql, 执行:
                                                                                                                                                                                                                    create database grafana CHARACTER SET utf8 COLLATE utf8_general_ci;
                                                                                                                                                                                                                    创建Grafana使用的数据库作为元数据存储.

                                                                                                                                                                                                                    启动

                                                                                                                                                                                                                    浏览器打开:http://node1:3000
                                                                                                                                                                                                                    默认账户密码:admin/admin