This is an automated email from the ASF dual-hosted git repository.
liuhaopeng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/bigtop-manager.git
The following commit(s) were added to refs/heads/main by this push:
new c6279ab9 BIGTOP-4451: Error starting mysql when mysql client already
installed via package manager (#233)
c6279ab9 is described below
commit c6279ab9a5d4ec84ae5e0e971d87ba8eebc7df74
Author: Zhiguo Wu <[email protected]>
AuthorDate: Thu Jun 26 15:16:21 2025 +0800
BIGTOP-4451: Error starting mysql when mysql client already installed via
package manager (#233)
---
.../1.0.0/services/mysql/configuration/my.cnf.xml | 12 +++++++++++-
.../stack/core/utils/linux/LinuxFileUtils.java | 1 +
.../stack/core/utils/linux/LinuxOSUtils.java | 1 +
.../stack/infra/v1_0_0/mysql/MySQLParams.java | 17 +++++++++++++----
.../stack/infra/v1_0_0/mysql/MySQLServerScript.java | 21 +++++++++++++--------
.../stack/infra/v1_0_0/mysql/MySQLSetup.java | 1 +
dev-support/docker/image/Dockerfile.openeuler24 | 2 +-
dev-support/docker/image/Dockerfile.rocky8 | 2 +-
8 files changed, 42 insertions(+), 15 deletions(-)
diff --git
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/mysql/configuration/my.cnf.xml
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/mysql/configuration/my.cnf.xml
index b38af8b5..1736748a 100644
---
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/mysql/configuration/my.cnf.xml
+++
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/mysql/configuration/my.cnf.xml
@@ -31,6 +31,12 @@
<display-name>MySQL PID Dir</display-name>
<description>MySQL Pid Dir</description>
</property>
+ <property>
+ <name>mysql_data_dir</name>
+ <value>${mysql_home}/data</value>
+ <display-name>MySQL Data Dir</display-name>
+ <description>MySQL Data Dir</description>
+ </property>
<!-- my.cnf -->
<property>
<name>content</name>
@@ -40,13 +46,17 @@
[mysqld]
port=3306
basedir=${mysql_home}
-datadir=${mysql_home}/data
+datadir=${mysql_data_dir}
+socket=/tmp/mysql.sock
pid-file = ${mysql_pid_dir}/mysqld.pid
log-error = ${mysql_log_dir}/error.log
general-log-file = ${mysql_log_dir}/general.log
slow-query-log-file = ${mysql_log_dir}/slow.log
log-bin = ${mysql_log_dir}/mysql-bin.log
default-storage-engine=INNODB
+
+[client]
+socket=/tmp/mysql.sock
]]>
</value>
<attrs>
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/linux/LinuxFileUtils.java
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/linux/LinuxFileUtils.java
index 39474a6a..fbee45be 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/linux/LinuxFileUtils.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/linux/LinuxFileUtils.java
@@ -158,6 +158,7 @@ public class LinuxFileUtils {
*/
public static void createDirectories(
String dirPath, String owner, String group, String permissions,
boolean recursive) {
+ log.info("Creating directory: [{}]", dirPath);
if (StringUtils.isBlank(dirPath)) {
log.error("dirPath must not be null");
return;
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/linux/LinuxOSUtils.java
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/linux/LinuxOSUtils.java
index e3cf4726..916dea6f 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/linux/LinuxOSUtils.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/linux/LinuxOSUtils.java
@@ -76,6 +76,7 @@ public class LinuxOSUtils {
builderParameters.add("sh");
builderParameters.add("-c");
builderParameters.add(command);
+ log.info("Running command: [{}], user: [{}]", command, tenant);
return ShellExecutor.execCommand(builderParameters);
}
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLParams.java
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLParams.java
index 73deafa7..b7bc49b0 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLParams.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLParams.java
@@ -37,8 +37,9 @@ import java.util.Map;
@NoArgsConstructor
public class MySQLParams extends InfraParams {
- private String mysqlLogDir = "/var/log/mysql";
- private String mysqlPidDir = "/var/run/mysql";
+ private String mysqlLogDir;
+ private String mysqlPidDir;
+ private String mysqlDataDir;
private String rootPassword;
private String myCnfContent;
@@ -54,6 +55,16 @@ public class MySQLParams extends InfraParams {
common();
}
+ @Override
+ public void initGlobalParams() {
+ super.initGlobalParams();
+
+ Map<String, Object> map = getGlobalParamsMap();
+ mysqlPidDir = map.get("mysql_pid_dir").toString();
+ mysqlLogDir = map.get("mysql_log_dir").toString();
+ mysqlDataDir = map.get("mysql_data_dir").toString();
+ }
+
public Map<String, Object> common() {
Map<String, Object> common =
LocalSettings.configurations(getServiceName(), "common");
rootPassword = common.get("root_password").toString();
@@ -63,8 +74,6 @@ public class MySQLParams extends InfraParams {
@GlobalParams
public Map<String, Object> myCnf() {
Map<String, Object> myCnf =
LocalSettings.configurations(getServiceName(), "my.cnf");
- mysqlPidDir = myCnf.get("mysql_pid_dir").toString();
- mysqlLogDir = myCnf.get("mysql_log_dir").toString();
myCnfContent = myCnf.get("content").toString();
return myCnf;
}
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLServerScript.java
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLServerScript.java
index 351613fa..6ba9e2da 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLServerScript.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLServerScript.java
@@ -56,7 +56,8 @@ public class MySQLServerScript extends AbstractServerScript {
public ShellResult init(Params params) {
String user = params.user();
String binDir = params.serviceHome() + "/bin";
- runCommand(binDir + "/mysqld --initialize-insecure", user);
+ String confPath = params.serviceHome() + "/my.cnf";
+ runCommand(binDir + "/mysqld --defaults-file=" + confPath + "
--initialize-insecure", user);
return ShellResult.success();
}
@@ -93,24 +94,28 @@ public class MySQLServerScript extends AbstractServerScript
{
MySQLParams mysqlParams = (MySQLParams) params;
String user = params.user();
String binDir = params.serviceHome() + "/bin";
+ String confPath = params.serviceHome() + "/my.cnf";
String password = mysqlParams.getRootPassword();
runCommand(
MessageFormat.format(
- "{0}/mysql -u root -e \"ALTER USER 'root'@'localhost'
IDENTIFIED BY ''{1}'';\"",
- binDir, password),
+ "{0}/mysql --defaults-file={1} -u root -e \"ALTER USER
'root'@'localhost' IDENTIFIED BY ''{2}'';\"",
+ binDir, confPath, password),
user);
runCommand(
MessageFormat.format(
- "{0}/mysql -u root -p''{1}'' -e \"CREATE USER
''root''@''%'' IDENTIFIED BY ''{1}'';\"",
- binDir, password),
+ "{0}/mysql --defaults-file={1} -u root -p''{2}'' -e
\"CREATE USER ''root''@''%'' IDENTIFIED BY ''{2}'';\"",
+ binDir, confPath, password),
user);
runCommand(
MessageFormat.format(
- "{0}/mysql -u root -p''{1}'' -e \"GRANT ALL PRIVILEGES
ON *.* TO ''root''@''%'' WITH GRANT OPTION;\"",
- binDir, password),
+ "{0}/mysql --defaults-file={1} -u root -p''{2}'' -e
\"GRANT ALL PRIVILEGES ON *.* TO ''root''@''%'' WITH GRANT OPTION;\"",
+ binDir, confPath, password),
user);
runCommand(
- MessageFormat.format("{0}/mysql -u root -p''{1}'' -e \"FLUSH
PRIVILEGES;\"", binDir, password), user);
+ MessageFormat.format(
+ "{0}/mysql --defaults-file={1} -u root -p''{2}'' -e
\"FLUSH PRIVILEGES;\"",
+ binDir, confPath, password),
+ user);
return ShellResult.success();
}
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLSetup.java
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLSetup.java
index 097b4c41..58899ff7 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLSetup.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLSetup.java
@@ -44,6 +44,7 @@ public class MySQLSetup {
LinuxFileUtils.createDirectories(mysqlParams.getMysqlLogDir(),
mysqlUser, mysqlGroup, PERMISSION_755, true);
LinuxFileUtils.createDirectories(mysqlParams.getMysqlPidDir(),
mysqlUser, mysqlGroup, PERMISSION_755, true);
+ LinuxFileUtils.createDirectories(mysqlParams.getMysqlDataDir(),
mysqlUser, mysqlGroup, PERMISSION_755, true);
LinuxFileUtils.toFileByTemplate(
mysqlParams.getMyCnfContent(),
diff --git a/dev-support/docker/image/Dockerfile.openeuler24
b/dev-support/docker/image/Dockerfile.openeuler24
index f8d8b68a..8866a9ca 100644
--- a/dev-support/docker/image/Dockerfile.openeuler24
+++ b/dev-support/docker/image/Dockerfile.openeuler24
@@ -16,7 +16,7 @@
FROM openeuler/openeuler:24.03
RUN dnf install -y sudo wget openssh-clients openssh-server mariadb
mariadb-server net-tools chrony krb5-server krb5-libs krb5-workstation git
python3 procps-ng
-RUN dnf install -y postgresql java-17-openjdk-devel vim
+RUN dnf install -y postgresql java-17-openjdk-devel vim numactl
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk
ENV PATH=$JAVA_HOME/bin:$PATH
diff --git a/dev-support/docker/image/Dockerfile.rocky8
b/dev-support/docker/image/Dockerfile.rocky8
index 2a89b51b..5c7091ca 100644
--- a/dev-support/docker/image/Dockerfile.rocky8
+++ b/dev-support/docker/image/Dockerfile.rocky8
@@ -16,7 +16,7 @@
FROM rockylinux/rockylinux:8
RUN yum -y install sudo wget openssh-clients openssh-server vim postgresql
mariadb mariadb-server net-tools chrony krb5-server krb5-libs krb5-workstation
git rpm-build python3 procps-ng
-RUN dnf install -y postgresql java-17-openjdk-devel vim
+RUN dnf install -y postgresql java-17-openjdk-devel vim numactl
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk
ENV PATH=$JAVA_HOME/bin:$PATH