目录
一、环境... 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
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
3.1.查看jdk是否安装成功
java –version
成功显示如下图:
3.2.查看java是否已配置环境变量
echo $PATH
下图第一行为jdk的环境变量配置
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
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
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能正常工作
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的关闭
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%
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%即可。