当前位置: 首页 > news >正文

linux-安装配置jdk mysql redis elasticsearch

目录

一、环境... 1

二、JDK部署... 1

三、JDK工作状态判断... 1

四、mysql部署... 2

五、mysql工作状态判断... 7

六、redis部署... 8

七、redis工作状态判断... 9

八、安装elasticsearch.. 12

九、elasticsearch工作状态判断... 15

一、环境

操作系统:centos7.6JDK:1.8.0_241mysql:8.0.19redis:4.0.8elasticsearch: 7.5

二、JDK部署

2.1.新建目录:

mkdir /home/java

2.2.把JDK1.8.0_211.tar.gz安装包上传到服务器/home/java目录下

2.3.在/home/java目录解压:

tar -xzvf jdk-8u241-linux-x64.tar.gz

2.4.配置环境变量:

vi /etc/profile

2.4.新增如下配置并保存:

export JAVA_HOME=/home/java/jdk1.8.0_241

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JRE_HOME=$JAVA_HOME/jre

2.6.环境变量即时生效:

source /etc/profile

三、JDK工作状态判断

3.1.查看jdk是否安装成功

java –version

成功显示如下图:

3.2.查看java是否已配置环境变量

echo $PATH

下图第一行为jdk的环境变量配置

四、mysql部署

4.1.把mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz安装包上传到服务器/usr/local/目录下

4.2.在/usr/local目录下解压:

tar xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz

4.3.修改成mysql文件:

mv mysql-8.0.19-linux-glibc2.12-x86_64 mysql

4.4. 在/usr/local/mysql目录下创建data目录:

mkdir /usr/local/mysql/data

4.4.创建mysql用户组和用户

groupadd mysql

useradd -r -g mysql mysql

4.6.编辑配置my.cnf文件:

vi /etc/my.cnf

添加配置如下:

[mysqld]

datadir=/usr/local/mysql/data

port=3306

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

symbolic-links=0

max_connections=600

innodb_file_per_table=1

log-error=/usr/local/mysql/data/error.log

lower_case_table_names=1

4.7.进入bin目录:

cd /usr/local/mysql/bin

4.8.编译安装并初始化mysql

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower-case-table-names=1

下图表示编译并成功初始化,务必记住初始化输出日志末尾的密码(数据库管理员临时密码):

4.9. 更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限

chown -R mysql:mysql /usr/local/mysql

chmod -R 755 /usr/local/mysql

4.10.启动mysql数据库:

/usr/local/mysql/support-files/mysql.server start

下图表示启动成功

4.11. 添加软连接,并重启mysql服务

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

service mysql restart

4.12. 登录mysql,修改密码(初始登录密码为步骤4.8生成的临时密码)

mysql -u root -p

ALTER USER USER() IDENTIFIED BY 'rootpwd';

4.13.刷新权限:

flush privileges;

下图为4.12-4.13操作截图,注意初始密码是4.8步骤时务必要记住的那个密码

4.14.开放远程连接

use mysql;

update user set user.Host='%' where user.User='root';

flush privileges;

4.15. 通过可视化连接工具,测试远程连接。

注意远程连接时,需要开放远程服务器的连接端口,此处mysql服务开启端口为3306

4.16.设置开机启动

第一步:将服务文件拷贝到init.d下,并重命名为mysql

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

第二步:赋予可执行权限

chmod +x /etc/init.d/mysqld

第三步:添加服务

chkconfig --add mysqld

显示服务列表,可查看是否已设置开机启动

chkconfig –list

下图表示mysql开机自启设置成功

4.17 安装过程中遇到的问题及解决

4.17.1问题:4.8.编译安装出现如下错误信息:

bin/mysqld: error while loading shared libraries: libnuma.so.1

解决方法:缺少numactl

如果是Centos操作系统执行

yum -y install numactl

如果是ubuntu操作系统执行

sudo apt-get install numactl

4.17.2 问题:#启动时弹出消息:

Starting MySQL.2020-07-18T08:31:06.248700Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.

解决方法:因为没有路径也没有权限,所以创建此路径并授权给mysql用户

mkdir /var/log/mariadb

touch /var/log/mariadb/mariadb.log

用户组及用户授权

chown -R mysql:mysql /var/log/mariadb/

4.17.3 问题:启动时弹出消息:

mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.

解决方法:如果var/lib/mysql 不存在则创建

mkdir -p var/lib/mysql

给目录 /var/lib/mysql 付予写入权限或者最大权限:

chmod -R 777 /var/lib/mysql

4.17.4 问题:启动时弹出消息:

ERROR! The server quit without updating PID file (/usr/local/mysql/data/VM_0_17_centos.pid).

error.log 报错: Different lower_case_table_names settings for server ('0') and data dictionary ('1').

解决方法:在my.cnf 添加:

lower_case_table_names=1

并在安装初始化时加上

--lower-case-table-names=1

4.17.5 问题:输入数据库密码时,弹出消息:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

解决方法:my.cnf 配置

socket=/var/lib/mysql/mysql.sock

建立软连接

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

五、mysql工作状态判断

5.1 查看myql是否正常运行

service mysql status

下图表示mysql数据库正在运行

5.2 关闭mysql

systemctl stop mysqld.service

5.3 启动MySQL服务

systemctl start mysqld.service

5.4 重启MySQL服务:

service mysql restart

5.5 设置开机自动启动mysql

systemctl enable mysqld

systemctl daemon-reload

六、redis部署

6.1.新建redis文件目录:

mkdir -p /opt/redis

6.2.把redis-4.0.8.tar.gz文件拷贝到/opt/redis文件目录下

6.3.解压:

tar -zvxf redis-4.0.8.tar.gz

6.4. 进入redis-4.0.8文件夹的src目录下编译

第一步:进入文件夹:

cd /opt/redis/redis-4.0.8/src

第二步编译:

make all && make install

注意下图编译之后文件状态

6.4.将src文件编译好的文件拷贝到redis目录下

cp redis-benchmark /opt/redis/redis-benchmark #压力测试工具

cp redis-check-aof /opt/redis/redis-check-aof #完成持久化

cp redis-check-rdb /opt/redis/redis-check-rdb #默认持久化,适合大面积

cp redis-cli /opt/redis/redis-cli #客户端

cp redis-sentinel /opt/redis/redis-sentinel #哨兵机制(集群使用)

cp redis-server /opt/redis/redis-server #服务端

6.6.把根目录的redis.conf配置文件拷贝到/opt/redis目录下并修改配置配置

第一步: 复制配置文件

cp /opt/redis/redis-4.0.8/redis.conf /opt/redis

第二步:修改配置文件的内容(开启守护进程):

把daemonize no改成daemonize yes

6.7. 启动redis服务,并进行测试

第一步:进入执行目录

cd /opt/redis

第二步:启动

redis-server ./redis.conf

下图表示redis启动成功

6.8.测试是否安装成功

第一步:进入redis客户端

./redis-cli

第二步:赋值

set key “cese”

第三步:查看key值

get key

下图表示redis能正常工作

七、redis工作状态判断

7.1 查看redis是否启动

ps aux | grep redis-server #第一种方式

netstat -tunple | grep 6379 #第二种方式

7.2 启动ridis

进入redeis目录,执行以下命令:

redis-server ./redis.conf

7.3.进入redis客户端

./redis-cli

7.4.查看所有key

keys

7.5.根据key获取value

get kye

7.6.key赋值

set key “BBB”

下图为7.3-7.6的执行过程

7.7.查看当前数据总记录数

dbsize

7.8. redis有16个数据库,切换到数据库2

select 2

说明:redis一般默认数据库为0

下图为7.7-7.8的执行过程

7.9 清空数据

flushdb

7.10. 在主机ip:127.0.0.1 端口:6379 并发:50 请求数10000,执行压力测试

redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000

下图执行结果说明:1万请求,50个并发,每个请求3个字节,执行完所有请求需要0.22s

7.11.关闭

exit #关闭客户端

redis-cli shutdown #在客户端端关闭服务端

下图完成redis的关闭

八、安装elasticsearch

8.1:创建ES用户

第一步:创建esuser这个用户并添加root组:

useradd elasticsearch -G root

第二步:给esuser用户设置密码:

passwd esuser

第三步:输入自定义密码,点击键盘回车键

说明:因为es不能使用root用户启动运行,所以我们需要创建新用户:esuser

8.2.把elasticsearch-7.4.0-linux-x86_64.tar.gz文件上传到/home/esuser目录下

83.解压:

tar -xzf elasticsearch-7.4.0-linux-x86_64.tar.gz

8.4.修改配置(都在root用户下进行)

第一步:修改elasticsearch.yml:

vi /home/esuser/elasticsearch-7.4.0/config/elasticsearch.yml

修改内容如下:

node.name: node-1 #节点名

cluster.initial_master_nodes: ["node-1"] # 这里的node-1为node-name配置的值

network.host: 0.0.0.0 #0.0.0.0表示本地ip,也可修改成服务器ip

http.port: 9200 #端口

################################下面是集群配置##############################

cluster.name: es #设置集群名

index.number_of_shards: 2 #集群设置es索引分片数量,分布式存储,提高查询效率等

index.number_of_replicas: 1 #集群设置分片副本数量,提供数据高可用

path.data: /data/es_data #集群设置es索引数据存放位置

discovery.zen.ping.unicast.hosts: ["192.168.31.127", "192.168.31.127"] #集群设置集群节点成

bootstrap.memorylock: false

bootstrap.systemcallfilter: false

参数说明:

1.network.host:不修改,那么只能localhost访问,不能通过ip访问

2.node.attr.rack指定节点的部落属性,这是一个比集群更大的范围。

3.node.master指定是否为主节点。该属性可不指定,节点之间自主选举。

4.node.data指定是否存储数据(数据节点)

4.cluster.initial_master_nodes参数:你可以通过为 cluster.initial_master_nodes 参数设置一系列符合主节点条件的节点的主机名或 IP 地址来引导启动集群。你可以在命令行或 elasticsearch.yml 中提供这些信息。你还需要配置发现子系统,这样节点就知道如何找到彼此。

8.5:修改/etc/sysctl.conf:

vi /etc/sysctl.conf

在文件后面添加:

vm.max_map_count = 262144

保存退出,执行命令刷新生效:

sysctl –p

8.6 修改文件limits.conf:

vi /etc/security/limits.conf

添加如下内容并保存

* hard nofile 65536

* soft nofile 65536

* soft nproc 65535

* hard nproc 65535

* soft nproc 65535

8.7.给新创建esuser用户授权

chown -R esuser /home/esuser/elasticsearch-7.4.0

8.8.切换用户,启动elasticsearch

第一步:切换用户:

sudo esuser

第二步:启动

cd /home/esuser/elasticsearch-7.4.0/bin && ./elasticsearch

8.9 测试部署是否成功:

curl 127.0.0.1:9200

下图表示启动成功

9.0 问题

9.0.1 问题:启动时弹出:

the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

解决方法:修改elasticsearch.yml

cluster.initial_master_nodes: ["node-1"]

9.0.2 问题:启动时弹出:

initial heap size [314572800] not equal to maximum heap size [629145600]; this can cause resize pauses and prevents mlockall from locking the entire heap

解决方法:jvm.options配置

-Xms1g -Xmx1g 初始最大配置成一样的

9.0.3 问题:启动不起来,报错已杀死

解决方法:服务器内存不够,配置jvm.options配置时 -Xms600m -600m 问题解决,设置内存最好不要超过本服务器内存的50%

九、elasticsearch工作状态判断

9.1 查看elasticsearch是否运行

ps aux | grep elasticsearch #第一种方式

netstat -tunple | grep 9200 #第二种方式

curl 127.0.0.1:9200 #第三种方式

9.2 启动elasticsearch

cd /home/esuser/elasticsearch-7.5.0/bin && ./elasticsearch

9.3 配置内存

vi /home/esuser/elasticsearch-7.5.0/config/jvm.options

-Xms1g # Xms表示总堆空间都初始化内存

-Xmx1g # Xmx表示总堆空间都初最大内存

说明:每个服务器都内存配置都是不一样的,不合理都配置会造成elasticsearch无法启动,一般配置数值不要超过机器内存的50%即可。

http://www.cnnetsun.cn/news/1333168.html

相关文章:

  • Python 之程序截图的几种方式(含chromedriver下载链接)
  • android studio项目 gradle-xx-bin.zip下载失败或很慢的解决方法
  • AperiSolve 开源项目教程
  • 企业决策视角下微服务全链路性能瓶颈分析平台对比及实践指南
  • 【C语言】程序环境与预处理
  • SCUT_thesis项目:解决长章名换行后不居中的排版问题
  • PowerPlatformConnectors三大类型深度对比:自定义、认证与独立发布者连接器怎么选?
  • Pleaserun vs 手动编写init脚本:效率提升10倍的秘密
  • dbblog部署教程:Docker容器化部署与服务器配置全流程
  • AniVu BitTorrent下载功能深度测评:速度与稳定性全面测试
  • DC-TTS语音合成效果对比:LJ Speech与KSS数据集实测
  • 提升Haskell开发效率:ghcid高级功能与实用技巧
  • Saasify:让API变现从未如此简单!一站式实现API商业化的终极指南
  • Ikemen-GO开发者指南:用Go语言构建自定义格斗游戏引擎
  • GoMLX未来路线图:即将发布的5大令人期待的功能
  • lidar_camera_calib常见问题排查:从数据准备到结果验证的全流程避坑指南
  • 如何用tinygrad实现高效目标检测:YOLO和RetinaNet完整指南
  • 如何用tinygrad实现高效全局优化:从模拟退火到能量最小化的完整指南
  • 提升深度学习模型性能:tinygrad图像数据增强完全指南
  • 如何利用tinygrad数据流水线实现高效数据加载和预处理:从理论到实践
  • 为什么选择gorilla/csrf?深入解析Go语言中最受欢迎的CSRF防护库
  • 终极指南:Renovate如何通过智能机制实现实时安全更新防护
  • 如何使用bevy_ecs_tilemap创建你的第一个瓦片地图:从安装到运行的简单教程
  • Ragnar开发者指南:如何利用IPC API构建自定义窗口管理插件
  • 终极Docker镜像优化指南:使用Dive实现99%效率的完整教程
  • 从入门到精通:Android Emulator Runner多API级别与设备配置实践
  • 如何为Tailwind Next.js Starter Blog配置自动化测试:Jest与React Testing Library完整指南
  • 【开题答辩全过程】以 基于ssm校园教室设备检修管理系统为例,包含答辩的问题和答案
  • 如何高效处理fzf加载事件:从初始列表到高级配置的完整指南
  • 华为OD机试双机位C卷-不等式是否满足约束并输出最大差 (C/C++/Py/Java/Js/Go)