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