背景
客戶指定服務器環境歐拉操作系統,版本:6.6.0-72.0.0.76.oe2403sp1.x86_64
需要把Java 應用以及各種中間件部署在歐拉操作系統上。
問題
-
適配MySQL
1.1 編譯報錯
mysql-5.7.40-el7-x86_64.tar.gz版本在CentOS7環境安裝正常
當前歐拉環境直接使用CentOS7的MySQL安裝包,導致安裝MySQL失敗
解決:更新MySQL為 mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz版本,安裝正常,問題解決
1.2 啟動異常
通過查看啟動日志,發現安裝過程中生成mysqld 單元服務是按安裝路徑/usr/local/mysql
啟動的,所以啟動失敗,因為我自定義了安裝路徑,使用service start是正常的,在CentOS7.9環境
啟動也是正常,所以我只能認為是當前歐拉環境默認使用systemd代替傳統service服務導致
解決:把service start 啟動命令放到/etc/rc.local里讓它開機自啟,重啟服務器,問題解決 -
適配Redis
編譯報錯
Redis-5.0.5版本在CentOS7.9環境中GCC版本4.8.5安裝正常
當前歐拉環境使用GCC版本是12.3.1,GCC版本太高導致安裝Redis失敗
解決:升級Redis到7.2.10版本,安裝正常,問題解決 -
適配Kafka
啟動異常
整個安裝過程沒問題,安裝結束后,發現Kafka沒啟動,
原因是沒有systemd自啟服務以及service自啟服務配置,它是把啟動命令放到/etc/rc.local
因為是接手的項目,所以我沒有直接處理這個問題,我通過journalctl -u rc-local.service -b命令查看啟動日志發現
是由于沒有指定JAVA環境導致啟動失敗,這在CentOS7.9環境倒是沒有出現過,啟動都正常
解決:在rc.local中指定JAVA環境,重啟服務器,Kafka服務正常,問題解決 -
適配ELK
安裝ELK過程都正常包括service服務配置,Kibana服務依賴Elastic服務,正常情況重啟后Kibana服務異常,
因為它啟動先于Elastic服務,配置了啟動優先級也不好使,不過歐拉操作系統默認會用systemd服務代替傳統的service服務,
所以在歐拉操作系統重啟Kibana服務依然正常 -
適配Zookeeper
啟動異常
問題跟Kafka一樣
解決:在rc.local中指定JAVA環境,重啟服務器,Kafka服務正常,問題解決 -
適配Nginx
安裝Nginx報錯,缺少依賴庫
解決:執行dnf install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel命令,問題解決 -
適配sshpass
編譯報錯
sshpass-1.06-2.el7.x86_64.rpm包是CentOS7.9環境下使用
當前歐拉環境不適用
解決:下載通用二進制包sshpass-1.06.tar.gz,重新安裝,問題解決