Liunx 软件安装

一、JDK 安装

1. JDK安装包解压并放到 /usr/local/ 目录下

2. Linux环境变量配置都在:/etc/profile文件中

[root@localhost ~]# vim /etc/profile

编辑模式下,在结尾或开头添加如下:

export JAVA_HOME=/usr/local/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.ja

3. 重新载入配置文件

[root@localhost ~]# source /etc/profile

4. 检查新安装的JDK

[root@localhost ~]# java -version

二、Tomcat安装

1. Tomcat解压并放到 /usr/local/ 目录下

2. 把名字改成tomcat1

[root@localhost local]# mv apache-tomcat-9.0.37 tomcat1

3. 复制Tomcat1到Tomcat2、Tomcat3、Tomcat4

[root@localhost local]# cp -r tomcat1 tomcat2

4. 修改Tomcat端口

[root@localhost local]# vim tomcat2/conf/server.xml

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 开启

[root@localhost local]# ./tomcat2/bin/startup.sh

三、MongoDB安装

1. 下载MongoDB

2. 解压

3. 创建dbpath和logpath

4. 添加环境变量

修改/etc/profile,添加环境变量,方便执行MongoDB命令

export MONGODB_HOME=/usr/local/mongodb
PATH=$PATH:$MONGODB_HOME/bin

然后执行source /etc/profile 重新加载环境变量

5. 利用配置文件启动服务

编辑/mongodb/conf/mongo.conf文件,内容如下:

systemLog:
  destination: file
  path: /usr/local/mongodb/log/mongod.log
  logAppend: true
storage:
  dbPath: /usr/local/mongodb/data
  engine: wiredTiger #存储引擎
  journal: #是否启用journal日志
    enabled: true
net:
  port: 27017 # port
processManagement:
  fork: true

注意:一定要yaml格式

6. 启动MongoDB

mongod ‐f /usr/local/mongodb/conf/mongo.conf

-f 选项表示将使用配置文件启动mongodb

7. 关闭MongoDB服务

方式1:

mongod ‐‐port=27017 ‐‐dbpath=/mongodb/data ‐‐shutdown

方式2:

进入mongo shell

use admin
db.shutdownServer()

四、RabbitMQ安装

1. 安装Erlang语言包

Erlang下载地址

​ 下载完成后,可以尝试使用下面的指令安装

[root@worker1 tools]# rpm -ivh erlang-23.2.7-1.el7.x86_64.rpm 
警告:erlang-23.2.7-1.el7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 6026dfca: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:erlang-23.2.7-1.el7              ################################# [100%]

这样Erlang语言包就安装完成了。 安装完后可以使用 erl -version 指令检测下erlang是否安装成功。

[root@worker1 tools]# erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.1.8

2. 安装socat

使用 rpm -Uvh 指令安装RabbitMQ的rpm包时,会报错,需要安装一个socat。

yum install socat

3. 安装RabbitMQ

采用RPM安装包的方式。安装包可以到github仓库中下载发布包。
RabbitMQ下载地址
使用 rpm -Uvh 指令安装RabbitMQ的rpm包

[root@localhost local]# rpm -Uvh rabbitmq-server-3.9.15-1.el7.noarch.rpm
warning: rabbitmq-server-3.9.15-1.el7.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID 6026dfca: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
        package rabbitmq-server-3.9.15-1.el7.noarch is already installed

安装完成后,可以查看下他的安装情况

[root@localhost local]# whereis rabbitmqctl
rabbitmqctl: /usr/sbin/rabbitmqctl /usr/share/man/man8/rabbitmqctl.8.gz

启动RabbitMQ服务

[root@localhost local]# service rabbitmq-server start
Redirecting to /bin/systemctl start rabbitmq-server.service

查看服务状态

[root@localhost local]# service rabbitmq-server status

常用的启停操作

rabbitmq-server -deched --后台启动服务
rabbitmqctl start_app --启动服务
rabbitmqctl stop_app --关闭服务

这样RabbitMQ服务就启动完成了。 之后可以配置下打开他的Web管理页面:

[root@worker1 rabbitmq]# rabbitmq-plugins enable rabbitmq_management 
Enabling plugins on node rabbit@worker1:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@worker1...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

set 3 plugins.
Offline change; changes will take effect at broker restart.

可以看到,这时需要重启RabbitMQ服务才能生效。重启后,就可以访问Web控制台了。 访问端口192.168.xxx.xxx:15672。

​ 这时,可以使用默认的guest/guest用户登录。 但是注意下,默认情况下,只允许在localhost本地登录,远程访问是无法登录的。这时,可以创建一个管理员账户来登录。

[root@worker1 ~]# rabbitmqctl add_user admin admin
Adding user "admin" ...
Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.
[root@worker2 tools]# rabbitmqctl set_permissions -p / admin "." "." ".*"
Setting permissions for user "admin" in vhost "/" ...
[root@worker2 tools]# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...

这样就可以用admin/admin用户登录Web控制台了。

4. RabbitMQ集群搭建

1:需要同步集群节点中的cookie。

默认会在 /var/lib/rabbitmq/目录下生成一个.erlang.cookie。 里面有一个字符串。我们要做的就是保证集群中三个节点的这个cookie字符串一致。

​ 我们实验中将worker1和worker3加入到worker2的RabbitMQ集群中,所以将worker2的.erlang.cookie文件分发到worker1和worker3。

​ 2:将worker1的服务加入到worker2的集群中。

首先需要保证worker1上的rabbitmq服务是正常启动的。 然后执行以下指令:

  1. 我们这时就用worker1为例,修改worker1虚拟机上的hostname
hostnamectl set-hostname worker1
  1. 把IP地址加入到hosts中,其中的IP是服务器的IP
echo 192.168.xxx.xxx worker1>>/etc/hosts
echo 192.168.xxx.xxx worker2>>/etc/hosts
echo 192.168.xxx.xxx worker3>>/etc/hosts

重启rabbit服务,然后查看rabbitMQ的状态

systemctl restart rabbitmq-server
rabbitmqctl status

在这里插入图片描述

[root@worker1 rabbitmq]# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@worker1 ...
[root@worker1 rabbitmq]# rabbitmqctl join_cluster --ram rabbit@worker2
Clustering node rabbit@worker1 with rabbit@worker2
[root@worker1 rabbitmq]# rabbitmqctl start_app
Starting node rabbit@worker1 ...

–ram 表示以Ram节点加入集群。RabbitMQ的集群节点分为disk和ram。disk节点会将元数据保存到硬盘当中,而ram节点只是在内存中保存元数据。

1、由于ram节点减少了很多与硬盘的交互,所以,ram节点的元数据使用性能会比较高。但是,同时,这也意味着元数据的安全性是不如disk节点的。在我们这个集群中,worker1和worker3都以ram节点的身份加入到worker2集群里,因此,是存在单点故障的。如果worker2节点服务崩溃,那么元数据就有可能丢失。在企业进行部署时,性能与安全性需要自己进行平衡。

2、这里说的元数据仅仅只包含交换机、队列等的定义,而不包含具体的消息。因此,ram节点的性能提升,仅仅体现在对元数据进行管理时,比如修改队列queue,交换机exchange,虚拟机vhosts等时,与消息的生产和消费速度无关。

3、如果一个集群中,全部都是ram节点,那么元数据就有可能丢失。这会造成集群停止之后就启动不起来了。RabbitMQ会尽量阻止创建一个全是ram节点的集群,但是并不能彻底阻止。所以,综合考虑,官方其实并不建议使用ram节点,更推荐保证集群中节点的资源投入,使用disk节点。

然后同样把worer3上的rabbitmq加入到worker2的集群中。

加入完成后,可以在worker2的Web管理界面上看到集群的节点情况:

连接时报错

在这里插入图片描述
解决方案:到主节点中将该节点移除集群: rabbitmqctl forget_cluster_node rabbit@worker3 (rabbit@worker3节点名称)

五、CentOS8 使用install安装软件时报错

Error: Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist

在CentOS 8上安装软件时,遇到如下报错
在CentOS 8上安装软件时,遇到如下报错
CentOS Linux 8 - AppStream 错误:为仓库 ‘appstream’ 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist

在网上一顿搜索也没能解决,最终在阿里云开发者社区找到了答案!网址为:阿里云开发者社区

问题原因
CentOS Linux 8在2022年12月31日来到生命周期终点(End of Life,EoL)。即CentOS Linux 8操作系统版本结束了生命周期(EOL),Linux社区已不再维护该操作系统版本。所以原来的CentOS Linux 8的yum源也都失效了!最终导致此问题的产生。

问题解决方法

  1. 更换CentOS Linux 8的yum源
[root@localhost local]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Linux-AppStream.repo          CentOS-Linux-Devel.repo             CentOS-Linux-Media.repo
CentOS-Linux-BaseOS.repo             CentOS-Linux-Extras.repo            CentOS-Linux-Plus.repo
CentOS-Linux-ContinuousRelease.repo  CentOS-Linux-FastTrack.repo         CentOS-Linux-PowerTools.repo
CentOS-Linux-Debuginfo.repo          CentOS-Linux-HighAvailability.repo  CentOS-Linux-Sources.repo
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv CentOS-Linux-* bak
[root@localhost yum.repos.d]# ls
bak

在这里插入图片描述
2. 下载新的源文件,并用命令yum makecache建立新的元数据缓存

下载源文件命令:

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
  1. 测试源
yum install socat
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值