企业生产环境中的麒麟V10(ARM架构)操作系统部署jdk和redis三主三从交叉版集群

v10,arm,jdk,redis · 浏览次数 : 0

小编点评

**redis.conf配置文件修改** ``` # Redis服务器地址 bind 10.0.0.8:6379 # Redis服务器日志文件路径 log file /home/redis/log/redis.log # Redis服务器数据文件目录 data dir /home/redis/data # Redis服务器pid文件 pidfile /home/redis/run/redis.pidlog # Redis集群配置 cluster-config-file nodes-6379.conf # Redis主节点认证密码 requirepass ********** # Redis连接密码 appendfilename "appendonly_6379.aof" # Redis集群绑定IP bind 10.0.0.8 # Redis集群节点超时时间 cluster-node-timeout 2000 # Redis守护进程 daemonize yes ``` **其他设置** * 将 `vm.overcommit_memory=1` 添加到 `/etc/sysctl.conf` 文件的 `kernel` 选项中。 * 重新启动或运行 `sudo sysctl -p` 命令以使其生效。 * 在启动 Redis 服务之前,请确保所有服务器都具有相同的密码。

正文

前言:麒麟ARM操作系统是国企和政务机关推行信创化选择率比较高的一款操作系统,然而ARM操作系统非主流的X86系统,除了命令一样,在架构方面差别极大,初次接触多多少少会踩坑,下面我将在公司中部署的实例列举出来,供大家参考,ip和设计机密信息不方便展示,统用虚拟信息代替。
经过多次验证,用了多种通用版本JDK版本,发现都不行,只有两个办法可以适配麒麟ARM操作系统。
方法一:Oracle官网以下的版本:jdk-8u411-linux-aarch64.tar.gz
第一步:上次安装包
第二步:解压 tar -zxvf jdk-8u411-linux-aarch64.tar.gz
第三步:
创建目录mkdir -p /usr/local/java
移动安装包mv jdk1.8.0_341/ /usr/local/java/
设置所有者chown -R root:root /usr/local/java/
配置环境变量vim /etc/profile
第四步:添加以下内容
export JAVA_HOME=/usr/local/java/jdk1.8.0_411
export JRE_HOME=/usr/local/java/jdk1.8.0_411/jre
export CLASSPATH=.😒{JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
第五步:使用命令让环境变量生效source /etc/profile
第六步:测试是否安装成功java -version

方法二:使用麒麟系统指定的openjdk
安装命令:yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel后执行Y
注意:为什么要加java-1.8.0-openjdk-devel,这个是我在公司用Maven命令编译nacos源码,进行打包成适配国产达梦数据库时因报错信息,得出的经验。说个题外话,如果有网友需要支持ARM操作系统并适配达梦数据库的nacos安装包的话,可以评论找我要。
1.找到jdk位置 ,输入命令:which java
2.继续查看,输入命令:ll /usr/bin/java
3.继续查看java信息,输入命令:ll /etc/alternatives/java
4.继续查看,输入命令:
ll /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-0.p01.ky10.p01.aarch64/
*此时如果环境变量未配置的话则返回空
5.进行配置,输入命令:vim /etc/profile
在最后增加:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-0.p01.ky10.p01.aarch64/jre
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-0.p01.ky10.p01.aarch64/jre
export CLASSPATH=.😒{JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

6.保存退出,输入命令:source /etc/profile

安装redis:
先查看是否安装c++的编译器; 执行 yum -y install gcc-c++(否则直接安装redis没依赖环境)
第一步:上传安装包,并将安装包用scp传输给需要的节点服务器;
第二步:在/usr/local/redis/路径下解压tar -zxvf redis-6.2.0.tar;
第三步:进入redis-6.2.0路径;
第四步:配置依赖库
latomic 代表的是 libatomic.so,麒麟ARM架构系统在编译的过程中,需要 libatomic.so 库,而系统又找不到这个库;
解决方法是手动找到这个库,可能存在如下几种情况:
1、通过执行下列命令安装相关依赖。
yum -y install libatomic libatomic_ops-devel
2、使用软链接的方法将依赖库libatomic.so链接到正确路径,执行如下命令:
ln -s /usr/lib64/libatomic.so.1.2.0 /usr/lib/libatomic.so
再执行 make 编译,问题解决,编译通过。
第五步:make
第六步:安装
输入命令:make PREFIX=/usr/local/redis install

七步:移动redis.conf文件到redis用户的home目录
mv redis.conf /home/redis/
第八步:更改配置文件/home/redis/redis.conf
命令:vim redis.conf
bind到本机地址:
bind IP号
设置redis访问密码(要设置为强密码,可更改):
requirepass **********
设置log文件,pid文件,数据文件目录:
pidfile /home/redis/run/redis.pid
logfile /home/redis/log/redis.log
dir /home/redis/data
第八步:启动redis
进入src目录下,输入命令启动redis
cd src
./redis-server

报错
处理方法:将“vm.overcommit_memory=1”添加到/etc/sysctl.conf,然后重新启动或运行命令“sudo sysctl -p”以使其生效。

Redis三主三从交叉集群部署:
第一步:创建节点配置文件路径:
创建目录:mkdir -p /home/redis/data
mkdir -p /home/redis/log
mkdir -p /home/redis/run

第二步:创建节点配置文件:
命令: cp redis.conf /home/redis/
cp -r redis.conf redis6379.conf
cp -r redis.conf redis6380.conf
每台服务器复制redis目录redis.conf为redis6379.conf和redis6380.conf为,按以下内容进行调整。
redis6379.conf:
pidfile /home/redis/run/redis6379.pid pid文件以端口来区分
port 6379 监听端口不同, 可以更改端口提高安全性
logfile "/home/redis/log/redis6379.log" logfile以端口来区分
dir /home/redis/data redis数据文件存放目录
dbfilename dump6379.rdb 数据文件dbfilename以端口来区分
masterauth *********** 主节点认证密码
requirepass *********** Redis连接密码,和requirepass设置成相同的值
appendfilename "appendonly_6379.aof" 追加文件名appendfilename以端口来区分
cluster-config-file nodes-6379.conf cluster-config-file以端口来区分
cluster-enabled yes 启用集群
bind 10.0.0.8 绑定IP保证集群时能正常连接
cluster-node-timeout 2000 集群节点超时时间
daemonize yes 开启守护进程

redis6380.conf:
pidfile /home/redis/run/redis6380.pid pid文件以端口来区分
port 6380 监听端口不同, 可以更改端口提高安全性
logfile "/home/redis/log/redis6380.log" logfile以端口来区分
dir /home/redis/data redis数据文件存放目录
dbfilename dump6380.rdb 数据文件dbfilename以端口来区分
masterauth *********** 主节点认证密码
requirepass *********** Redis连接密码,和requirepass设置成相同的值
appendfilename "appendonly_6380.aof" 追加文件名appendfilename以端口来区分
cluster-config-file nodes-6380.conf cluster-config-file以端口来区分
cluster-enabled yes 启用集群
bind 10.0.0.8 绑定IP保证集群时能正常连接
cluster-node-timeout 2000 集群节点超时时间
daemonize yes 开启守护进程

第三步:启动服务
进入路径:cd /usr/local/redis/bin/
./redis-server /home/redis/redis6379.conf &
./redis-server /home/redis/redis6380.conf &

.8(1节点)

.9(2节点)

.10(3节点)

第四步:启动redis集群
在服务器上使用以下命令启动redis集群
命令:./redis-cli --cluster create 10.0.0.8:6379 10.0.0.9:6379 10.0.0.10:6379 10.0.0.9:6380 10.0.0.10:6380 10.0.0.8:6380 --cluster-replicas 1 -a ***********(密码)

第五步:检查集群是否配置成功
命令:./redis-cli -h 10.0.0.8 -p 6379
输入密码:auth ***********(密码)
查看集群信息:cluster info

cluster_state:ok 代表集群可用
cluster_known_nodes:6 代表集群有6节点
第六步:放行端口
如集群配置完成后开启防火墙报节点无法连接,需做放行端口配置:
放行端口:
firewall-cmd --zone=public --add-port=6379/tcp --permanent 放行6379端口
firewall-cmd --zone=public --add-port=6380/tcp --permanent 放行6380端口

firewall-cmd --zone=public --add-port=16379/tcp --permanent 放行16379 redis内部通讯端口
firewall-cmd --zone=public --add-port=26379/tcp --permanent 放行26379 redis内部通讯端口

firewall-cmd --reload 重新载入 返回 success 代表成功

firewall-cmd --zone=public --query-port=6379/tcp 查看 返回 yes 代表开启成功
firewall-cmd --zone=public --query-port=6380/tcp 查看 返回 yes 代表开启成功

firewall-cmd --zone=public --query-port=16379/tcp 查看 返回 yes 代表开启成功
firewall-cmd --zone=public --query-port=26379/tcp 查看 返回 yes 代表开启成功

与企业生产环境中的麒麟V10(ARM架构)操作系统部署jdk和redis三主三从交叉版集群相似的内容:

企业生产环境中的麒麟V10(ARM架构)操作系统部署jdk和redis三主三从交叉版集群

前言:麒麟ARM操作系统是国企和政务机关推行信创化选择率比较高的一款操作系统,然而ARM操作系统非主流的X86系统,除了命令一样,在架构方面差别极大,初次接触多多少少会踩坑,下面我将在公司中部署的实例列举出来,供大家参考,ip和设计机密信息不方便展示,统用虚拟信息代替。 经过多次验证,用了多种通用版

【云享·人物】华为云AI高级专家白小龙:AI如何释放应用生产力,向AI工程化前行?

摘要:AI技术发展,正由应用落地阶段向效率化生产阶段演进,AI工程化能力将会不断深入业务,释放企业生产力。 本文分享自华为云社区《【云享·人物】华为云AI高级专家白小龙:AI如何释放应用生产力,向AI工程化前行?》,作者: 华为云社区精选。 在新科技革命和产业变革的大环境中,人工智能技术迭代和商业化

如何在.NET电子表格应用程序中创建流程图

前言 流程图是一种常用的图形化工具,用于展示过程中事件、决策和操作的顺序和关系。它通过使用不同形状的图标和箭头线条,将任务和步骤按照特定的顺序连接起来,以便清晰地表示一个过程的执行流程。 在企业环境中,高管和经理利用流程图来规划业务流程,使他们能够识别瓶颈、优化生产力并增强决策能力……用例列表不胜枚

疫情大环境下科技互联网公司开源节流降本增效

三年疫情改变了人们的生活,也改变了行业的趋势。三年大疫,让一路疾驰的科技互联网急踩刹车,减速换挡,很多企业从高歌猛进到黯然失色,甚至是伤感落幕。活着的公司也都纷纷砍一刀。 2022年1月,百度,AIG、MEG多业务线精简,约10-15%,涉及基层,中层和高层 2022年2月,滴滴,网络车、货运、中台

[转帖]Linux性能调优,看这一篇就够了

调优是一件因地制宜的事情,生搬硬套可能适得其反。互联网企业,生产环境大多数都是linux操作系统,Linux服务器性能调优,是一个重要的课题。linux有成百上千的参数可以调整,对这些参数的理解,可以帮助我们更好的理解服务器工作的原理,帮助更快的找到瓶颈和解决问题。 为了帮助理解,先上一个Linux

Docker简介

Docker简介 1、是什么 问题:为什么会有docker出现 假定你在开发一个网络商城,您使用的是一台笔记本电脑而且您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。此外,您的企业还拥有标准化的测试和生产环境境,且具有自身

QMS质量管理系统:打造企业质量控制的新纪元

在当今竞争激烈的市场环境下,产品质量是决定企业生存与发展的关键因素之一。为了确保从设计到交付的每一步都符合最高标准,一套高效、全面的质量管理系统(Quality Management System, QMS)成为了企业的必备工具。本文将深入介绍QMS系统的概念、核心功能及其亮点,展示如何通过这一综合

MES/MOM国内市场现状趋势与新生态模式参考

华为云数字工厂顺应最新发展趋势,发展与联合生态伙伴,尝试走出“平台生成生态应用”的新服务模式道路,与生态伙伴“分工明确、协同作战”一起改善国内工业软件的市场环境,加速使能中小制造企业实现数字化升级。

智能化生产应用搭建的实战案例

摘要:本文主要为大家介绍使用华为云数字工厂平台,快速搭建一个智能化生产管理应用的实战案例。 本文分享自华为云社区《数字工厂深入浅出系列(一):智能化生产应用搭建的实战案例》,作者: 云起MAE。 华为云数字工厂平台,专门面向中小型制造企业的生产制造数字化场景设计,端到端整合了构建生产制造数字化应用所

基于工业互联网平台智能制造方案【工业互联网甄选联盟】

工业互联网甄选联盟自发布委员会管理制度以来,得到了广大朋友的支撑。经过反复沟通和酝酿,最终形成《基于工业互联网平台智能制造方案》。在今后的实践过程中会不断完善本方案。现在入选4家会员单位,后续再不断择优选取脚踏实地为生产企业服务的公司。