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 b38af8b59..1736748ab 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 @@
MySQL PID Dir
MySQL Pid Dir
+
+ mysql_data_dir
+ ${mysql_home}/data
+ MySQL Data Dir
+ MySQL Data Dir
+
content
@@ -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
]]>
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 39474a6a1..fbee45be4 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 static String generateRandomFileName() {
*/
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 e3cf4726d..916dea6f1 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 static ShellResult execCmd(String command, String tenant) throws IOExcept
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 73deafa77..b7bc49b08 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 @@
@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 MySQLParams(ComponentCommandPayload componentCommandPayload) {
common();
}
+ @Override
+ public void initGlobalParams() {
+ super.initGlobalParams();
+
+ Map 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 common() {
Map common = LocalSettings.configurations(getServiceName(), "common");
rootPassword = common.get("root_password").toString();
@@ -63,8 +74,6 @@ public Map common() {
@GlobalParams
public Map myCnf() {
Map 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 351613fab..6ba9e2da5 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 ShellResult configure(Params params) {
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 ShellResult prepare(Params params) {
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 097b4c416..58899ff7e 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 static ShellResult configure(Params params) {
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 f8d8b68a9..8866a9ca9 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 2a89b51be..5c7091ca3 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