linux-配置系列五 jdk mysql redis elasticsearch

目录

一、环境... 1

二、JDK部署... 1

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

四、mysql部署... 2

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

六、redis部署... 8

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

八、安装elasticsearch.. 12

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

 

 

 

一、环境

操作系统:centos7.6 JDK: 1.8.0_241 mysql: 8.0.19 redis:4.0.8 elasticsearch: 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步骤时务必要记住的那个密码

linux-配置系列五 jdk mysql redis elasticsearch_第1张图片

 

4.14.开放远程连接

use mysql;

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

flush privileges;

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

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

linux-配置系列五 jdk mysql redis elasticsearch_第2张图片

 

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开机自启设置成功

linux-配置系列五 jdk mysql redis elasticsearch_第3张图片

 

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

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

linux-配置系列五 jdk mysql redis elasticsearch_第4张图片

 

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能正常工作

linux-配置系列五 jdk mysql redis elasticsearch_第5张图片

 

七、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的执行过程

linux-配置系列五 jdk mysql redis elasticsearch_第6张图片

 

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

dbsize

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

select 2

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

下图为7.7-7.8的执行过程

linux-配置系列五 jdk mysql redis elasticsearch_第7张图片

 

7.9 清空数据

flushdb

linux-配置系列五 jdk mysql redis elasticsearch_第8张图片

 

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

linux-配置系列五 jdk mysql redis elasticsearch_第9张图片

7.11.关闭

exit #关闭客户端

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

下图完成redis的关闭

linux-配置系列五 jdk mysql redis elasticsearch_第10张图片

 

 

八、安装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

下图表示启动成功

linux-配置系列五 jdk mysql redis elasticsearch_第11张图片

 

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%即可。

你可能感兴趣的:(#,Linux)