目录一、环境... 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/java2.2.把JDK1.8.0_211.tar.gz安装包上传到服务器/home/java目录下2.3.在/home/java目录解压tar -xzvf jdk-8u241-linux-x64.tar.gz2.4.配置环境变量vi /etc/profile2.4.新增如下配置并保存export JAVA_HOME/home/java/jdk1.8.0_241export PATH$JAVA_HOME/bin:$PATHexport CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JRE_HOME$JAVA_HOME/jre2.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.xz4.3.修改成mysql文件mv mysql-8.0.19-linux-glibc2.12-x86_64 mysql4.4. 在/usr/local/mysql目录下创建data目录mkdir /usr/local/mysql/data4.4.创建mysql用户组和用户groupadd mysqluseradd -r -g mysql mysql4.6.编辑配置my.cnf文件vi /etc/my.cnf添加配置如下[mysqld]datadir/usr/local/mysql/dataport3306sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLESsymbolic-links0max_connections600innodb_file_per_table1log-error/usr/local/mysql/data/error.loglower_case_table_names14.7进入bin目录cd /usr/local/mysql/bin4.8.编译安装并初始化mysql./mysqld --initialize --usermysql --datadir/usr/local/mysql/data --basedir/usr/local/mysql --lower-case-table-names1下图表示编译并成功初始化务必记住初始化输出日志末尾的密码数据库管理员临时密码4.9. 更改mysql目录下所有的目录及文件夹所属的用户组和用户以及权限chown -R mysql:mysql /usr/local/mysqlchmod -R 755 /usr/local/mysql4.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/mysqlln -s /usr/local/mysql/bin/mysql /usr/bin/mysqlln -s /var/lib/mysql/mysql.sock /tmp/mysql.sockservice mysql restart4.12. 登录mysql修改密码(初始登录密码为步骤4.8生成的临时密码)mysql -u root -pALTER 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.Userroot;flush privileges;4.15. 通过可视化连接工具测试远程连接。注意远程连接时需要开放远程服务器的连接端口此处mysql服务开启端口为33064.16.设置开机启动第一步将服务文件拷贝到init.d下并重命名为mysqlcp /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 numactl4.17.2 问题#启动时弹出消息:Starting MySQL.2020-07-18T08:31:06.248700Z mysqld_safe error: log-error set to /var/log/mariadb/mariadb.log, however file dont exists. Create writable for user mysql.解决方法因为没有路径也没有权限所以创建此路径并授权给mysql用户mkdir /var/log/mariadbtouch /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 dont exists.解决方法如果var/lib/mysql 不存在则创建mkdir -p var/lib/mysql给目录 /var/lib/mysql 付予写入权限或者最大权限chmod -R 777 /var/lib/mysql4.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_names1并在安装初始化时加上--lower-case-table-names14.17.5 问题输入数据库密码时弹出消息ERROR 2002 (HY000): Cant 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 关闭mysqlsystemctl stop mysqld.service5.3 启动MySQL服务systemctl start mysqld.service5.4 重启MySQL服务service mysql restart5.5 设置开机自动启动mysqlsystemctl enable mysqldsystemctl daemon-reload六、redis部署6.1.新建redis文件目录mkdir -p /opt/redis6.2.把redis-4.0.8.tar.gz文件拷贝到/opt/redis文件目录下6.3.解压tar -zvxf redis-4.0.8.tar.gz6.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 yes6.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.conf7.3.进入redis客户端./redis-cli7.4.查看所有keykeys7.5.根据key获取valueget kye7.6.key赋值set key “BBB”下图为7.3-7.6的执行过程7.7.查看当前数据总记录数dbsize7.8. redis有16个数据库切换到数据库2select 2说明redis一般默认数据库为0下图为7.7-7.8的执行过程7.9 清空数据flushdb7.10. 在主机ip127.0.0.1 端口6379 并发50 请求数10000执行压力测试redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000下图执行结果说明1万请求50个并发每个请求3个字节执行完所有请求需要0.22s7.11.关闭exit #关闭客户端redis-cli shutdown #在客户端端关闭服务端下图完成redis的关闭八、安装elasticsearch8.1创建ES用户第一步创建esuser这个用户并添加root组useradd elasticsearch -G root第二步给esuser用户设置密码passwd esuser第三步输入自定义密码点击键盘回车键说明因为es不能使用root用户启动运行所以我们需要创建新用户esuser8.2.把elasticsearch-7.4.0-linux-x86_64.tar.gz文件上传到/home/esuser目录下83.解压tar -xzf elasticsearch-7.4.0-linux-x86_64.tar.gz8.4修改配置都在root用户下进行第一步修改elasticsearch.ymlvi /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,也可修改成服务器iphttp.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: falsebootstrap.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.confvi /etc/sysctl.conf在文件后面添加vm.max_map_count 262144保存退出执行命令刷新生效sysctl –p8.6 修改文件limits.confvi /etc/security/limits.conf添加如下内容并保存* hard nofile 65536* soft nofile 65536* soft nproc 65535* hard nproc 65535* soft nproc 655358.7.给新创建esuser用户授权chown -R esuser /home/esuser/elasticsearch-7.4.08.8.切换用户启动elasticsearch第一步切换用户sudo esuser第二步:启动cd /home/esuser/elasticsearch-7.4.0/bin ./elasticsearch8.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.ymlcluster.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 启动elasticsearchcd /home/esuser/elasticsearch-7.5.0/bin ./elasticsearch9.3 配置内存vi /home/esuser/elasticsearch-7.5.0/config/jvm.options-Xms1g # Xms表示总堆空间都初始化内存-Xmx1g # Xmx表示总堆空间都初最大内存说明每个服务器都内存配置都是不一样的不合理都配置会造成elasticsearch无法启动一般配置数值不要超过机器内存的50%即可。
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/java2.2.把JDK1.8.0_211.tar.gz安装包上传到服务器/home/java目录下2.3.在/home/java目录解压tar -xzvf jdk-8u241-linux-x64.tar.gz2.4.配置环境变量vi /etc/profile2.4.新增如下配置并保存export JAVA_HOME/home/java/jdk1.8.0_241export PATH$JAVA_HOME/bin:$PATHexport CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JRE_HOME$JAVA_HOME/jre2.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.xz4.3.修改成mysql文件mv mysql-8.0.19-linux-glibc2.12-x86_64 mysql4.4. 在/usr/local/mysql目录下创建data目录mkdir /usr/local/mysql/data4.4.创建mysql用户组和用户groupadd mysqluseradd -r -g mysql mysql4.6.编辑配置my.cnf文件vi /etc/my.cnf添加配置如下[mysqld]datadir/usr/local/mysql/dataport3306sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLESsymbolic-links0max_connections600innodb_file_per_table1log-error/usr/local/mysql/data/error.loglower_case_table_names14.7进入bin目录cd /usr/local/mysql/bin4.8.编译安装并初始化mysql./mysqld --initialize --usermysql --datadir/usr/local/mysql/data --basedir/usr/local/mysql --lower-case-table-names1下图表示编译并成功初始化务必记住初始化输出日志末尾的密码数据库管理员临时密码4.9. 更改mysql目录下所有的目录及文件夹所属的用户组和用户以及权限chown -R mysql:mysql /usr/local/mysqlchmod -R 755 /usr/local/mysql4.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/mysqlln -s /usr/local/mysql/bin/mysql /usr/bin/mysqlln -s /var/lib/mysql/mysql.sock /tmp/mysql.sockservice mysql restart4.12. 登录mysql修改密码(初始登录密码为步骤4.8生成的临时密码)mysql -u root -pALTER 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.Userroot;flush privileges;4.15. 通过可视化连接工具测试远程连接。注意远程连接时需要开放远程服务器的连接端口此处mysql服务开启端口为33064.16.设置开机启动第一步将服务文件拷贝到init.d下并重命名为mysqlcp /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 numactl4.17.2 问题#启动时弹出消息:Starting MySQL.2020-07-18T08:31:06.248700Z mysqld_safe error: log-error set to /var/log/mariadb/mariadb.log, however file dont exists. Create writable for user mysql.解决方法因为没有路径也没有权限所以创建此路径并授权给mysql用户mkdir /var/log/mariadbtouch /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 dont exists.解决方法如果var/lib/mysql 不存在则创建mkdir -p var/lib/mysql给目录 /var/lib/mysql 付予写入权限或者最大权限chmod -R 777 /var/lib/mysql4.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_names1并在安装初始化时加上--lower-case-table-names14.17.5 问题输入数据库密码时弹出消息ERROR 2002 (HY000): Cant 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 关闭mysqlsystemctl stop mysqld.service5.3 启动MySQL服务systemctl start mysqld.service5.4 重启MySQL服务service mysql restart5.5 设置开机自动启动mysqlsystemctl enable mysqldsystemctl daemon-reload六、redis部署6.1.新建redis文件目录mkdir -p /opt/redis6.2.把redis-4.0.8.tar.gz文件拷贝到/opt/redis文件目录下6.3.解压tar -zvxf redis-4.0.8.tar.gz6.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 yes6.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.conf7.3.进入redis客户端./redis-cli7.4.查看所有keykeys7.5.根据key获取valueget kye7.6.key赋值set key “BBB”下图为7.3-7.6的执行过程7.7.查看当前数据总记录数dbsize7.8. redis有16个数据库切换到数据库2select 2说明redis一般默认数据库为0下图为7.7-7.8的执行过程7.9 清空数据flushdb7.10. 在主机ip127.0.0.1 端口6379 并发50 请求数10000执行压力测试redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000下图执行结果说明1万请求50个并发每个请求3个字节执行完所有请求需要0.22s7.11.关闭exit #关闭客户端redis-cli shutdown #在客户端端关闭服务端下图完成redis的关闭八、安装elasticsearch8.1创建ES用户第一步创建esuser这个用户并添加root组useradd elasticsearch -G root第二步给esuser用户设置密码passwd esuser第三步输入自定义密码点击键盘回车键说明因为es不能使用root用户启动运行所以我们需要创建新用户esuser8.2.把elasticsearch-7.4.0-linux-x86_64.tar.gz文件上传到/home/esuser目录下83.解压tar -xzf elasticsearch-7.4.0-linux-x86_64.tar.gz8.4修改配置都在root用户下进行第一步修改elasticsearch.ymlvi /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,也可修改成服务器iphttp.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: falsebootstrap.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.confvi /etc/sysctl.conf在文件后面添加vm.max_map_count 262144保存退出执行命令刷新生效sysctl –p8.6 修改文件limits.confvi /etc/security/limits.conf添加如下内容并保存* hard nofile 65536* soft nofile 65536* soft nproc 65535* hard nproc 65535* soft nproc 655358.7.给新创建esuser用户授权chown -R esuser /home/esuser/elasticsearch-7.4.08.8.切换用户启动elasticsearch第一步切换用户sudo esuser第二步:启动cd /home/esuser/elasticsearch-7.4.0/bin ./elasticsearch8.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.ymlcluster.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 启动elasticsearchcd /home/esuser/elasticsearch-7.5.0/bin ./elasticsearch9.3 配置内存vi /home/esuser/elasticsearch-7.5.0/config/jvm.options-Xms1g # Xms表示总堆空间都初始化内存-Xmx1g # Xmx表示总堆空间都初最大内存说明每个服务器都内存配置都是不一样的不合理都配置会造成elasticsearch无法启动一般配置数值不要超过机器内存的50%即可。