apche doris 2.0.0 Linux环境下一键安装部署脚本
1 #!/bin/bash
2 # doris部署环境要求:
3 #(1)一台或多台机器,操作系统CentOS 7.x-86_x64
4 #(2)硬件配置:内存4G+,CPU 2核+;
5 #(3)集群内各个机器之间能相互通信;
6 #(4)集群内各个机器可以访问外网,需要拉取文件;
7 #(5)提前安装 yum install -y wget
8
9 # 安装步骤
10 #1. 安装jdk 1.8.0_202
11 #2. 安装doris
12 #2.1 初始化环境
13 #2.2 下载 apache-doris-2.0.0-bin-x64.tar.gz
14 #2.3 安装 FE
15 #2.4 安装 BE
16
17 set -e
18
19 # 安装日志
20 install_log=/var/log/install_k8s.log
21 tm=$(date +'%Y%m%d %T')
22
23 # 日志颜色
24 COLOR_G="\x1b[0;32m" # green
25 RESET="\x1b[0m"
26
27 function info(){
28 echo -e "${COLOR_G}[$tm] [Info] ${1}${RESET}"
29 }
30
31 function run_cmd(){
32 sh -c "$1 | $(tee -a "$install_log")"
33 }
34
35 function run_function(){
36 $1 | tee -a "$install_log"
37 }
38
39 function install_java(){
40 yum install -y wget
41
42 info "1.自动下载jdk..."
43 wget --no-check-certificate https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
44
45 info "2.解压到/usr/local/java文件夹..."
46 mkdir /usr/local/java/
47 tar -zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/java
48
49 info "3.配置环境变量..."
50 echo "export JAVA_HOME=/usr/local/java/jdk1.8.0_202" >> /etc/profile
51 echo "export JRE_HOME=${JAVA_HOME}/jre" >> /etc/profile
52 echo "export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib" >> /etc/profile
53 echo "export PATH=${JAVA_HOME}/bin:$PATH" >> /etc/profile
54 source /etc/profile
55 ln -s /usr/local/java/jdk1.8.0_202/bin/java /usr/bin/java
56
57 info "4.测试 java 是否安装正确..."
58 java -version
59 }
60
61 function install_doris() {
62 info "初始化doris部署环境..."
63 init_env
64
65 info "下载doirs..."
66 download_doris
67
68 read -p "是否安装doris fe?默认为:no. Enter [yes/no]:" is_doris_fe
69 if [[ "$is_doris_fe" == 'yes' ]];then
70 run_function "install_doris_fe"
71 fi
72
73 read -p "是否安装doris be?默认为:no. Enter [yes/no]:" is_doris_be
74 if [[ "$is_doris_be" == 'yes' ]];then
75 run_function "install_doris_be"
76 fi
77 }
78
79 # 初始化部署环境
80 function init_env() {
81 info "关闭防火墙"
82 systemctl stop firewalld
83 systemctl disable firewalld
84
85 info "关闭selinux"
86 sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/g' /etc/selinux/config
87 source /etc/selinux/config
88
89 info "关闭swap(k8s禁止虚拟内存以提高性能)"
90 swapoff -a
91 sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab
92
93 info "设置文件句柄数"
94 echo "* soft nofile 204800" >> /etc/security/limits.conf
95 echo "* hard nofile 204800" >> /etc/security/limits.conf
96 echo "* soft nproc 204800" >> /etc/security/limits.conf
97 echo "* hard nproc 204800" >> /etc/security/limits.conf
98 echo fs.file-max = 6553560 >> /etc/sysctl
99
100 info "设置max_map_count"
101 echo vm.max_map_count = 2000000 >> /etc/sysctl
102 sysctl -w vm.max_map_count=2000000
103 }
104
105 function download_doris() {
106 yum install -y wget
107
108 info "1.下载Doris 2.0.0 tar.gz 文件..."
109 if [[ ! -f "/root/apache-doris-2.0.0-bin-x64.tar.gz" ]]; then
110 wget --no-check-certificate https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.0-bin-x64.tar.gz
111 fi
112
113 info "2.解压文件/opt/doris文件夹下..."
114 if [[ ! -d "/opt/doris/" ]]; then
115 mkdir /opt/doris/
116 fi
117 tar -zxvf apache-doris-2.0.0-bin-x64.tar.gz --strip-components 1 -C /opt/doris/
118 }
119
120 function install_doris_fe() {
121 sleep 1
122 read -p "请输入priority_networks 参数:" fe_ip
123 eval sed -i '58i\priority_networks=${fe_ip}/24' /opt/doris/fe/conf/fe.conf
124
125 info "FE 启动ing..."
126 sudo sh /opt/doris/fe/bin/start_fe.sh --daemo
127
128 info "设置FE自动启动..."
129 touch /etc/init.d/apache-doris-fe
130 echo '#!/bin/bash' >> /etc/init.d/apache-doris-fe
131 echo '# chkconfig: 3 88 88' >> /etc/init.d/apache-doris-fe
132 echo '/bin/bash /opt/doris/fe/bin/start_fe.sh --daemo' >> /etc/init.d/apache-doris-fe
133
134 chmod +x /etc/init.d/apache-doris-fe
135 chkconfig --add apache-doris-fe
136
137 info "检查FE 是否已启动(需等待一段时间,失败可忽略)..."
138 curl http://127.0.0.1:8030/api/bootstrap
139 }
140
141 function install_doris_be() {
142
143 sleep 1
144 read -p "请输入priority_networks 参数:" be_ip
145 eval sed -i '58i\priority_networks=${be_ip}/24' /opt/doris/be/conf/be.conf
146 sed -i '28i\JAVA_HOME=/usr/local/java/jdk1.8.0_202' /opt/doris/be/conf/be.conf
147
148 info "BE 启动ing..."
149 mv /opt/doris/extensions/* /opt/doris/be/lib/
150 sudo sh /opt/doris/be/bin/start_be.sh --daemo
151
152 info "设置BE自动启动..."
153 touch /etc/init.d/apache-doris-be
154 echo '#!/bin/bash' >> /etc/init.d/apache-doris-be
155 echo '# chkconfig: 3 88 88' >> /etc/init.d/apache-doris-be
156 echo '/bin/bash /opt/doris/be/bin/start_be.sh --daemo' >> /etc/init.d/apache-doris-be
157
158 chmod +x /etc/init.d/apache-doris-be
159 chkconfig --add apache-doris-be
160
161 info "检查BE 是否已启动(需等待一段时间,失败可忽略)..."
162 curl http://127.0.0.1:8040/metrics
163 }
164
165
166 # 安装jdk
167 read -p "是否安装jdk 1.8.0_202?默认为:no. Enter [yes/no]:" is_jdk
168 if [[ "$is_jdk" == 'yes' ]];then
169 run_function "install_java"
170 fi
171
172 # 安装k8s
173 read -p "是否安装is_doris?默认为:no. Enter [yes/no]:" is_doris
174 if [[ "$is_doris" == 'yes' ]];then
175 run_function "install_doris"
176 fi
apche doris 2.0.0 Linux环境下一键安装部署脚本的更多相关文章
- Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点
Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点 一.安装docker 执行代码如下: curl -sSL https://get.daocloud.io ...
- 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】
<ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...
- 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】
安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...
- Linux 环境下 Lua 安装(转)
系统环境:CentOS-6.2-x86_64. Lua 是嵌入式脚本语言,应用场景很广泛. 引自官网:Lua is used in many products and projects around ...
- 基础--Redis在Linux环境下的安装
1. 安装redis服务 1.1 检查安装依赖程序 yum install gcc-c++yum install -y tclyum install wget 1.1.1 下载redis安装包 (或者 ...
- PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)
源码地址:https://github.com/Tinywan/PHP_Experience 测试环境配置: 环境:Windows 7系统 .PHP7.0.Apache服务器 PHP框架:ThinkP ...
- 在LINUX环境下定时执行php脚本
1. 使用Crontab定时执行linux环境下的php脚本文件 Cron,它是一个linux下的定时执行工具.根用户以外的用户可以使用 crontab 工具来配置 cron 任务.所有用户定义的 c ...
- Linux环境下mysql安装并配置远程访问
环境:centOS 1.下载mysql安装文件 [root@localhost ~]# wget http://dev.mysql.com/get/mysql-community-release-el ...
- linux环境下redis安装
本篇文章主要说明的是Linux环境下redis数据库的安装: 首先进入目标目录: 下载安装包,执行命令: wget http://download.redis.io/releases/redis-4. ...
- Linux环境下Oracle安装参数设置
前面讲了虚拟机的设置和OracleLinux的安装,接下来我们来说下Oracle安装前的准备工作.1.系统信息查看系统信息查看首先服务器ip:192.168.8.120服务器系统:Oracle Lin ...
随机推荐
- .NET Core MVC基础之页面传值方式📃
.NET Core MVC基础之页面传值方式 前言 最近工作太忙了,浅浅更新一下.NET基础知识.大部分面试官都会问.NET页面传值的几种方式,那么接下来就来细讲与实现一下吧! 页面传值分成两类 第一 ...
- C语言的简单学习
C语言是编译型语言,先编译再运行,通常用gcc进行编译,于是安装了Ubuntu操作系统.至于编辑器,VS Code也能用,先sudo apt install build-essential gdb,再 ...
- rust项目中通过log4rs将日志写入文件
java项目中使用最广泛的日志系统应该是log4j(2)了.如果你也是一个Java程序员,可能在写rust的时候会想怎么能顺手地平移日志编写习惯到rust中来. log4rs就是干这个的.从名字就能看 ...
- python3求取大文件sha1值和md5
小文件 import hashlib import base64 filePath = "test.txt" with open(filePath, "rb") ...
- AVCODEC_MAX_AUDIO_FRAME_SIZE 未定义标识符
调用ffmpeg接口时,出现了这个问题:未定义标识符"AVCODEC_MAX_AUDIO_FRAME_SIZE" 在网上搜了一下,可能的解决方案是: 添加: #define AVC ...
- 阿里面试:说说@Async实现原理?
@Async 是 Spring 3.0 提供的一个注解,用于标识某类(下的公共方法)或某方法会执行异步调用. 接下来,我们来看下 @Async 的基本使用和实现原理. 1.基本使用 @Async 基本 ...
- Mybatis 一级缓存
Mybatis一级缓存介绍 什么是缓存 程序经常要调用的对象存在内容中,方法其使用时可以快速调用,不必去数据库或者其他持久化设备中查询,主要就是提高性能 Mybatis一级缓存 简介:一级缓存的作用域 ...
- 如何巧妙使用some函数来优化性能
什么时候会用的array.some? 需要从数组里快速找到符合条件的某一项 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测. 如果没有满足条件的元素,则返回false ...
- 持久化技术Mybatis知识精讲【形成知识体系篇】
环境要求 JDK1.8及以上版本 MySQL数据库 Apache Maven 3.6.1构建工具 IDEA/VSCode/Eclipse开发工具任选其一 思维导图:Xmind ZEN 技术要求 熟悉J ...
- 解码 xsync 的 map 实现
解码 xsync 的 map 实现 最近在寻找 Go 的并发 map 库的时候,翻到一个 github 宝藏库,xsync (https://github.com/puzpuzpuz/xsync) . ...