Bash 安装ClickHouse

837 阅读1分钟
#!/bin/bash

set -e

source /etc/profile

HOST=$1
PACKAGE_PATH=/tmp
CH_STATIC_COMMON=clickhouse-common-static-19.17.3.7.tgz
CH_STATIC_COMMON_DBG=clickhouse-common-static-dbg-19.17.3.7.tgz
CH_SERVER=clickhouse-server-19.17.3.7.tgz
CH_CLIENT=clickhouse-client-19.17.3.7.tgz

wget ${HOST}/${CH_STATIC_COMMON} -P /tmp/
wget ${HOST}/${CH_STATIC_COMMON_DBG} -P /tmp/
wget ${HOST}/${CH_SERVER} -P /tmp/
wget ${HOST}/${CH_CLIENT} -P /tmp/

# installCommonStatic
mkdir -p ${PACKAGE_PATH}/clickhouse-common-static
mkdir -p /usr/share/doc/clickhouse-common-static
tar -zxf ${PACKAGE_PATH}/clickhouse-common-static-19.17.3.7.tgz -C ${PACKAGE_PATH}/clickhouse-common-static
cp -r ${PACKAGE_PATH}/clickhouse-common-static/usr/share/doc/clickhouse-common-static/* /usr/share/doc/clickhouse-common-static/
cp -r ${PACKAGE_PATH}/clickhouse-common-static/usr/bin/* /usr/bin/
cp -r ${PACKAGE_PATH}/clickhouse-common-static/etc/security/limits.d/clickhouse.conf /etc/security/limits.d/

# installCommonStaticDbg
mkdir -p ${PACKAGE_PATH}/clickhouse-common-static-dbg
mkdir -p /usr/share/doc/clickhouse-common-static-dbg
mkdir -p /usr/lib/debug/usr/bin
tar -zxf ${PACKAGE_PATH}/clickhouse-common-static-dbg-19.17.3.7.tgz -C ${PACKAGE_PATH}/clickhouse-common-static-dbg
cp -r ${PACKAGE_PATH}/clickhouse-common-static-dbg/usr/share/doc/clickhouse-common-static-dbg/* /usr/share/doc/clickhouse-common-static-dbg
cp -r ${PACKAGE_PATH}/clickhouse-common-static-dbg/usr/lib/debug/usr/bin/* /usr/lib/debug/usr/bin/

# intallClickHouseServer
mkdir -p ${PACKAGE_PATH}/clickhouse-server
mkdir -p /usr/share/doc/clickhouse-server
tar -zxf ${PACKAGE_PATH}/clickhouse-server-19.17.3.7.tgz -C ${PACKAGE_PATH}/clickhouse-server
cp -r ${PACKAGE_PATH}/clickhouse-server/usr/share/doc/clickhouse-server/* /usr/share/doc/clickhouse-server/
cp -r ${PACKAGE_PATH}/clickhouse-server/usr/bin/* /usr/bin/
mkdir -p /etc/clickhouse-server
cp -r ${PACKAGE_PATH}/clickhouse-server/lib/systemd/system/clickhouse-server.service /lib/systemd/system/clickhouse-server.service
cp -r ${PACKAGE_PATH}/clickhouse-server/etc/systemd/system/clickhouse-server.service /etc/systemd/system/clickhouse-server.service
cp -r ${PACKAGE_PATH}/clickhouse-server/etc/cron.d/clickhouse-server /etc/cron.d/clickhouse-server
cp -r ${PACKAGE_PATH}/clickhouse-server/etc/init.d/clickhouse-server /etc/init.d/clickhouse-server
cp -r ${PACKAGE_PATH}/clickhouse-server/etc/clickhouse-server/config.xml /etc/clickhouse-server/config.xml
cp -rf ${PACKAGE_PATH}/clickhouse-server/etc/clickhouse-server/* /etc/clickhouse-server/

# echo "install user & group: clikchouse.clickhouse"
adduser --group clickhouse
adduser  --disabled-login --no-create-home --shell /bin/bash --ingroup clickhouse --gecos "" clickhouse

source /etc/profile

# sudo /etc/init.d/clickhouse-server start
mkdir -p /var/log/clickhouse-server/clickhouse-server
chown -R clickhouse:clickhouse /var/log/clickhouse-server
touch /var/log/clickhouse-server/clickhouse-client.err.log /var/log/clickhouse-server/clickhouse-client.log /var/log/clickhouse-server/clickhouse-server /var/log/clickhouse-server/clickhouse-server.err.log /var/log/clickhouse-server/clickhouse-server.log /var/log/clickhouse-server/stderr.log /var/log/clickhouse-server/stdout.log
chown -R clickhouse:clickhouse /var/log/clickhouse-server/clickhouse-client.err.log /var/log/clickhouse-server/clickhouse-client.log /var/log/clickhouse-server/clickhouse-server /var/log/clickhouse-server/clickhouse-server.err.log /var/log/clickhouse-server/clickhouse-server.log /var/log/clickhouse-server/stderr.log /var/log/clickhouse-server/stdout.log

mkdir -p /var/run/clickhouse-server
chown -R clickhouse:clickhouse /var/run/clickhouse-server

# install clickhouse-client
mkdir -p ${PACKAGE_PATH}/clickhouse-client
mkdir -p /usr/share/doc/clickhouse-client/
tar -zxvf ${PACKAGE_PATH}/clickhouse-client-19.17.3.7.tgz -C ${PACKAGE_PATH}/clickhouse-client
cp -r ${PACKAGE_PATH}/clickhouse-client/usr/share/doc/* /usr/share/doc/clickhouse-client/
cp -r ${PACKAGE_PATH}/clickhouse-client/usr/bin/* /usr/bin/
mkdir -p /etc/clickhouse-client/
cp -r ${PACKAGE_PATH}/clickhouse-client/etc/clickhouse-client/config.xml /etc/clickhouse-client/config.xml

mkdir -p /var/log/clickhouse-client/
touch /var/log/clickhouse-server/clickhouse-client.log
touch /var/log/clickhouse-server/clickhouse-client.err.log

mkdir -p  /clickhouse-data
chown -R clickhouse:clickhouse  /clickhouse-data

mkdir -p /var/lib/clickhouse
chown -R clickhouse:clickhouse /var/lib/clickhouse

source /etc/profile
clickhouse-server -V
clickhouse-client -V