From 4b6286a66272f094eb3c476bd4e2cb4be190b5a5 Mon Sep 17 00:00:00 2001 From: Hui Li <52318143+plum-lihui@users.noreply.github.com> Date: Tue, 16 Apr 2024 14:19:19 +0800 Subject: [PATCH] Add files via upload add the shell script for modify system paramerter for taosd server --- packaging/tools/quick_deploy.sh | 219 ++++++++++++++++++++++++++++++++ 1 file changed, 219 insertions(+) create mode 100644 packaging/tools/quick_deploy.sh diff --git a/packaging/tools/quick_deploy.sh b/packaging/tools/quick_deploy.sh new file mode 100644 index 0000000000..e667539c37 --- /dev/null +++ b/packaging/tools/quick_deploy.sh @@ -0,0 +1,219 @@ +#!/bin/bash +log_date_time=`date +%m%d%Y-%H%M` +log=${log_date_time}.log +dataDir=/data +logDir=/data/taos/log + + +echo "#########collect sysinfo############" +cat /etc/os-release +free -g +cat /proc/cpuinfo |grep processor +uname -a +df -h +lsblk +blkid +cat /etc/fstab +mount +cat /etc/sysctl.conf +cat /etc/security/limits.conf +sysctl -p + + +######check hostname ##### +echo "#########hostname" +hostname +hostname -f +echo "#########/etc/hostname" +cat /etc/hostname +echo "#########/etc/hosts" +cat /etc/hosts + + +echo "#########Step 1############" +echo "$#" +######single node without config file##### +if [ "$#" -eq 0 ] ;then + echo "#########This is for single node !!" + echo "#########Please provide config.ini file for cluster installation !!" + first_ep=`hostname -f`:6030 + second_ep="" +fi + + +echo "#########Step 2############" +######use config file to configre cluster!##### +echo $1 +config_file=$1 +if [ "$#" -eq 1 ] ;then + echo "#########Use $1 file to configure cluster." + echo "#########The configure of cluster" + cat $config_file + +first_ep=`sed -n '1p' $config_file |awk '{print $2}'`:6030 +second_ep=`sed -n '2p' $config_file |awk '{print $2}'`:6030 +fi + +echo "#########Step 3############" + +################################################################ +echo "#########create data directory" +mkdir -p ${dataDir}/taos/{data,core,tmp,soft} +mkdir -p ${logDir} +chmod 777 ${dataDir}/taos/tmp +chmod 777 ${logDir} + +echo "#########install suggest package and disable firewall" +os=$(cat /etc/os-release| grep PRETTY_NAME | awk '{print $1}'|awk -F '=' '{print $2}' | sed 's/"//g') +if [ $os = 'Ubuntu' ] +then + echo "This is Ununtu!" + #apt install screen tmux gdb fio iperf3 sysstat net-tools ntp tree wget + ufw status + ufw stop + ufw disable +elif [ $os = 'CentOS' -o $os = 'Red' ] +then + echo "This is Centos/Red" + #yum install -y screen tmux gdb fio iperf3 sysstat net-tools ntp tree wget + systemctl status firewalld + systemctl stop firewalld + systemctl disable firewalld +else + echo "####$os" +fi + +sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config + + +echo "#########system tunning" +echo "fs.nr_open = 10485760" >>/etc/sysctl.conf +echo "net.core.somaxconn=10240" >> /etc/sysctl.conf +echo "net.core.netdev_max_backlog=20480" >> /etc/sysctl.conf +echo "net.ipv4.tcp_max_syn_backlog=10240" >> /etc/sysctl.conf +echo "net.ipv4.tcp_retries2=5" >> /etc/sysctl.conf +echo "net.ipv4.tcp_syn_retries=2" >> /etc/sysctl.conf +echo "net.ipv4.tcp_synack_retries=2" >> /etc/sysctl.conf +echo "net.ipv4.tcp_tw_reuse=1" >> /etc/sysctl.conf +echo "net.ipv4.tcp_tw_recycle=1" >> /etc/sysctl.conf +echo "net.ipv4.tcp_keepalive_time=600" >> /etc/sysctl.conf +echo "net.ipv4.tcp_abort_on_overflow=1" >> /etc/sysctl.conf +echo "net.ipv4.tcp_max_tw_buckets=5000" >> /etc/sysctl.conf +echo "net.ipv4.ip_local_port_range=10000 60999" >> /etc/sysctl.conf + +echo "* soft ntaosc 65536" >>/etc/security/limits.conf +echo "* soft nofile 1048576" >>/etc/security/limits.conf +echo "* soft stack 65536" >>/etc/security/limits.conf +echo "* hard ntaosc 65536" >>/etc/security/limits.conf +echo "* hard nofile 1048576" >>/etc/security/limits.conf +echo "* hard stack 65536" >>/etc/security/limits.conf +echo "root soft ntaosc 65536" >>/etc/security/limits.conf +echo "root soft nofile 1048576" >>/etc/security/limits.conf +echo "root soft stack 65536" >>/etc/security/limits.conf +echo "root hard ntaosc 65536" >>/etc/security/limits.conf +echo "root hard nofile 1048576" >>/etc/security/limits.conf +echo "root hard stack 65536" >>/etc/security/limits.conf + +echo "ulimit -c unlimited" >>/etc/profile +echo "kernel.core_pattern=${dataDir}/taos/core/core-%e-%p" >>/etc/sysctl.conf +sysctl -p +date + +####to do check date timezone and ntp######## +#cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime +#NTP +#SWAP +#reboot + + +echo "#########install TDengine" + +./install.sh -e no +pwd + +echo "#########Create /etc/taos/taos.cfg" +mv /etc/taos/taos.cfg /etc/taos/taos.cfg.bak + +cat /proc/cpuinfo | grep "processor" | wc -l +num=`cat /proc/cpuinfo | grep "processor" | wc -l` +cpunum=$(expr $num + $num) +host_name=`hostname -f` + +#####vi /etc/taos/taos.cfg +echo "firstEp $first_ep +secondEp $second_ep +fqdn $host_name +supportVnodes $cpunum +logDir $logDir +dataDir ${dataDir}/taos/data +tempDir ${dataDir}/taos/tmp +keepColumnName 0 +maxNumOfDistinctRes 10000000 +timezone UTC-8 +locale en_US.UTF-8 +charset UTF-8 +maxShellConns 100000 +maxConnections 100000 +audit 0 +auditFqdn localhost +monitor 1 +monitorFqdn localhost +logKeepDays 10 +debugflag 131 +shellActivityTimer 120 +numOfRpcSessions 30000" >> /etc/taos/taos.cfg +######################## +########################tunning taosadapter and taosx log directory +sed -i "/^\#*path/c\path\ =\ \"${logDir}\"" /etc/taos/taosadapter.toml +sed -i "/^\#*logs_home/c\logs_home\ =\ \"${logDir}\"" /etc/taos/taosx.toml +##########################single nodes +echo "#########Start toasd" +./start-all.sh +date +if [ "$#" -eq 0 ] ;then +sleep 5 +taos -s "show dnodes;" +taos -s "show cluster\G;" +echo "########" +taosd -k +curl -u root:taosdata ${host_name}:6041/rest/sql -d "select server_version()" +echo -e "\r" +echo "#########Installation completed########" +echo "#########Suggest reboot OS##########" +date +exit +fi +##########################use $config_file to config cluster +if test "$host_name"x = `sed -n '1p' $config_file |awk '{print $2}'`x ;then +echo "#########Add dnodes and mnodes" +while read ip_address host_name +do +echo "$host_name" +taos -s "create dnode '$host_name:6030';" +sleep 5 +done <$config_file +fi + + +host_name=`hostname -f` +if test "$host_name"x = `sed -n '3p' $config_file |awk '{print $2}'`x ;then +echo "#########Add mnodes" +taos -s "create mnode on dnode 2;" +sleep 5 +taos -s "create mnode on dnode 3;" +fi + +sleep 5 +taos -s "show dnodes;" +taos -s "show mnodes;" +taos -s "show grants\G;" +taos -s "show cluster\G;" +echo "########" +taosd -k +echo "#########Test TDengine" +curl -u root:taosdata ${host_name}:6041/rest/sql -d "select server_version()" +echo -e "\r" +echo "#########Installation completed########" +echo "#########Suggest reboot OS##########" +date +cd ..