fix
continuous-integration/drone/push Build is passing Details

master
wanggang 4 years ago
parent b0ab3731a7
commit 965d1628f0

@ -1,6 +1,7 @@
FROM centos:centos7
ENV GPDBVER=6.16.2 \
DATADIR=/data
DATADIR=/data \
DATABASE=exampledb
COPY install.sh /tmp/install.sh
COPY entrypoint.sh /entrypoint.sh

@ -1,2 +1,2 @@
docker build --progress=plain -t 76527413/greenplum:6.16.2 .
docker push 76527413/greenplum:6.16.2
#docker push 76527413/greenplum:6.16.2

@ -3,10 +3,11 @@ services:
dev:
image: 76527413/greenplum:6.16.2
build: .
hostname: greenplum_singlenode
environment:
- DATABASE=example
ports:
- 5432:5432
volumes:
- ./data:/data
- ./log:/home/gpadmin/gpAdminLogs
- ./entrypoint.sh:/entrypoint.sh
command: bash -c "/entrypoint.sh"

@ -1,17 +1,20 @@
#!/bin/bash
/var/run/sshd/sshd_start.sh && sleep 5s
if [ "$(ls -A $DATADIR)" = "" ]; then
mkdir -p $DATADIR/master
mkdir -p $DATADIR/primary
chown -R gpadmin:gpadmin $DATADIR
source /home/gpadmin/.bashrc
if [ ! $MASTER_DATA_DIRECTORY ]; then
su - gpadmin -l -c "echo -e 'source /usr/local/greenplum-db/greenplum_path.sh' >> ~/.bashrc"
su - gpadmin -l -c "echo -e 'export MASTER_DATA_DIRECTORY=$DATADIR/master/gpseg-1/' >> ~/.bashrc"
su - gpadmin -l -c "echo -e 'export PGPORT=5432' >> ~/.bashrc"
su - gpadmin -l -c "echo -e 'export PGUSER=gpadmin' >> ~/.bashrc"
su - gpadmin -l -c "echo -e 'export PGDATABASE=postgres' >> ~/.bashrc"
fi
if [ "$(ls -A $DATADIR)" = "" ]; then
mkdir -p $DATADIR/master
mkdir -p $DATADIR/primary
chown -R gpadmin:gpadmin $DATADIR
su - gpadmin -l -c "source ~/.bashrc;gpinitsystem -a --ignore-warnings -c /home/gpadmin/gpinitsystem_config_singlenode -h /home/gpadmin/gp_hosts_list"
su - gpadmin -l -c "source ~/.bashrc;psql -d postgres -U gpadmin -f /home/gpadmin/initdb_gpdb.sql"
@ -19,15 +22,8 @@ if [ "$(ls -A $DATADIR)" = "" ]; then
su - gpadmin -l -c "source ~/.bashrc;gpconfig -c gp_enable_global_deadlock_detector -v on"
su - gpadmin -l -c "echo \"host all all 0.0.0.0/0 password\" >> $DATADIR/master/gpseg-1/pg_hba.conf"
su - gpadmin -l -c "source ~/.bashrc && sleep 5s && gpstop -u && tail -f gpAdminLogs/*.log"
else
# su - gpadmin -l -c "echo -e 'source /usr/local/greenplum-db/greenplum_path.sh' >> ~/.bashrc"
# su - gpadmin -l -c "echo -e 'export MASTER_DATA_DIRECTORY=$DATADIR/master/gpseg-1/' >> ~/.bashrc"
# su - gpadmin -l -c "echo -e 'export PGPORT=5432' >> ~/.bashrc"
# su - gpadmin -l -c "echo -e 'export PGUSER=gpadmin' >> ~/.bashrc"
# su - gpadmin -l -c "echo -e 'export PGDATABASE=postgres' >> ~/.bashrc"
#su - gpadmin -l -c "source ~/.bashrc && gpstart -a && tail -f gpAdminLogs/*.log"
su - gpadmin -l -c "source ~/.bashrc && sleep 5s && gpstop -u && createdb ${DATABASE} && tail -f gpAdminLogs/*.log"
su - gpadmin -l -c "source ~/.bashrc && source /usr/local/greenplum-db/greenplum_path.sh && gpstart -a && tail -f gpAdminLogs/*.log"
else
su - gpadmin -l -c "source ~/.bashrc && gpstart -a && tail -f gpAdminLogs/*.log"
fi

@ -7,8 +7,8 @@ ERROR_MSG="[ERROR] "
INFO_MSG="[INFO] "
function log() {
TIME=$(date +"%Y-%m-%d %H:%M:%S")
echo "$TIME $1"
TIME=$(date +"%Y-%m-%d %H:%M:%S")
echo "$TIME $1"
}
function package_install() {
@ -29,35 +29,35 @@ function package_check_ok() {
fi
}
function gpdb_install(){
log "$INFO_MSG Start to install greenplum for single node."
function gpdb_install() {
log "$INFO_MSG Start to install greenplum for single node."
package=(epel-release wget)
for p in ${package[@]}; do
package_install $p
done
package=(epel-release wget)
for p in ${package[@]}; do
package_install $p
done
/usr/sbin/groupadd gpadmin
/usr/sbin/useradd gpadmin -g gpadmin
usermod -G gpadmin gpadmin
echo "${PASSWORD}" | passwd --stdin gpadmin
/usr/sbin/groupadd gpadmin
/usr/sbin/useradd gpadmin -g gpadmin
usermod -G gpadmin gpadmin
echo "${PASSWORD}" | passwd --stdin gpadmin
sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sed -i -r 's/^.*StrictHostKeyChecking\s+\w+/StrictHostKeyChecking no/' /etc/ssh/ssh_config
sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
systemctl restart sshd
sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sed -i -r 's/^.*StrictHostKeyChecking\s+\w+/StrictHostKeyChecking no/' /etc/ssh/ssh_config
sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
systemctl restart sshd
su gpadmin -l -c "ssh-keygen -t rsa -f ~/.ssh/id_rsa -q -P \"\""
su gpadmin -l -c "cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys"
su gpadmin -l -c "chmod 600 ~/.ssh/authorized_keys" && \
su gpadmin -l -c "ssh-keygen -t rsa -f ~/.ssh/id_rsa -q -P \"\""
su gpadmin -l -c "cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys"
su gpadmin -l -c "chmod 600 ~/.ssh/authorized_keys" &&
su gpadmin -l -c "ssh-keyscan -H localhost 2>/dev/null | grep rsa | awk '{print \"localhost \" \$2 \" \" \$3 }' >> ~/.ssh/known_hosts"
#wget "https://github.com.cnpmjs.org/greenplum-db/gpdb/releases/download/$GPDBVER/open-source-greenplum-db-$GPDBVER-rhel7-x86_64.rpm"
yum install -y "/open-source-greenplum-db-$GPDBVER-rhel7-x86_64.rpm"
rm -rf "/open-source-greenplum-db-$GPDBVER-rhel7-x86_64.rpm"
#wget "https://github.com.cnpmjs.org/greenplum-db/gpdb/releases/download/$GPDBVER/open-source-greenplum-db-$GPDBVER-rhel7-x86_64.rpm"
yum install -y "/open-source-greenplum-db-$GPDBVER-rhel7-x86_64.rpm"
rm -rf "/open-source-greenplum-db-$GPDBVER-rhel7-x86_64.rpm"
rm -f /home/gpadmin/gpinitsystem_config_singlenode
cat > /home/gpadmin/gpinitsystem_config_singlenode << EOF
rm -f /home/gpadmin/gpinitsystem_config_singlenode
cat >/home/gpadmin/gpinitsystem_config_singlenode <<EOF
ARRAY_NAME="Greenplum Data Platform"
SEG_PREFIX=gpseg
PORT_BASE=6000
@ -69,15 +69,15 @@ TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
EOF
cat > /home/gpadmin/gp_hosts_list << EOF
cat >/home/gpadmin/gp_hosts_list <<EOF
localhost
EOF
cat > /home/gpadmin/initdb_gpdb.sql << EOF
cat >/home/gpadmin/initdb_gpdb.sql <<EOF
ALTER ROLE "gpadmin" WITH PASSWORD '$PASSWORD';
EOF
chown -R gpadmin:gpadmin /home/gpadmin
chown -R gpadmin:gpadmin /home/gpadmin
log "$INFO_MSG Install single node Greenplum cluster success!"
log "$INFO_MSG Install single node Greenplum cluster success!"
}
gpdb_install
gpdb_install

Loading…
Cancel
Save