龙空技术网

DolphinScheduler伪集群部署

程序员的交流电 73

前言:

现在看官们对“安装sshcopyid”大概比较讲究,你们都想要学习一些“安装sshcopyid”的相关资讯。那么小编同时在网络上网罗了一些关于“安装sshcopyid””的相关文章,希望看官们能喜欢,各位老铁们快快来学习一下吧!

之前写了一篇DolphinScheduler的Standalone的单机部署的文章,Standalone使用的是内置的内存式数据库H2,重启会丢失数据,并且且创建的任务流和任务有数量限制。这里我们演示的是DolphinScheduler伪集群部署。

伪集群是在单台机器上面部署DS服务,这个模式下面,master,worker,apiServer服务都是在同一台主机上面的。如果你是新手,想要体验一下ds的功能,推荐使用Standalone;如果你想体验DS的完整功能,或者更大的任务量,推荐使用伪集群模式;如果你是在生产中使用,推荐集群部署。

1.前期准备

JDK安装配置DS二进制安装包zookeepermysql

2.配置SSH免密登录

安装的时候需要向不同的机器发送资源,所以需要各台主机直接能够免密登录,这里我们虽然是伪集群单机部署,但是ssh到本机任然需要配置免密登录

# 配置免密登录,这里是直接复制公钥到authorized_keys免密登录文件中的,也可以使用ssh-copyid的方式ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys

3.解压,查看DS目录

4.修改相关配置

完成基础环境的准备之后,需要根据你的环境来修改配置文件。配置文件可以在目录bin/env中,两个配置文件install_env.sh和dolphinscheduler_env.sh。

修改install_env.sh配置文件,文件install_env.sh描述的是哪些机器安装了DS,以及每台主机安装哪些对应的服务。

ips=localhostsshPort=22masters=localhostworkers=localhost:defaultalertServer=localhostapiServers=localhost# 可以自定义路径installPath=<自定义路径>#配置用户,这里我直接使用rootdeployUser=root

修改 dolphinscheduler_env.sh配置文件

这个配置文件主要包含了以下的一些配置

数据库配置任务的外部依赖,如java,spark,hadoop等注册中心zookeeper服务端配置,比如缓存、时区设置

如果没有使用到一些相关外部依赖,可以忽略这些配置,但是必须修改JAVA_HOME,注册中心zookeeper,数据库等相关配置

export JAVA_HOME=${JAVA_HOME:-/opt/soft/java}export SPRING_PROFILES_ACTIVE=${DATABASE}export SPRING_DATASOURCE_URL="jdbc:postgresql://127.0.0.1:5432/dolphinscheduler"export SPRING_DATASOURCE_USERNAME={user}export SPRING_DATASOURCE_PASSWORD={password}# 这里我是本机安装了单节点的zkexport REGISTRY_TYPE=${REGISTRY_TYPE:-zookeeper}export REGISTRY_ZOOKEEPER_CONNECT_STRING=${REGISTRY_ZOOKEEPER_CONNECT_STRING:-localhost:2181}

5.初始化数据库

DS的元数据是存储在关系型数据库里面的,这里我们使用mysql,需要手动下载mysql的驱动放到DS的每个模块的libs目录下面,主要包括 api-server/libs 和 alert-server/libs 和 master-server/libs 和 worker-server/libs 和 tools/libs。

# 创建DS数据库mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;# 创建DS数据库的用户名密码mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';

然后修改./bin/env/dolphinscheduler_env.sh将username和password改成你在上一步中设置的用户名和密码

export DATABASE=${DATABASE:-mysql}export SPRING_PROFILES_ACTIVE=${DATABASE}export SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false"export SPRING_DATASOURCE_USERNAME=<mysql用户名>export SPRING_DATASOURCE_PASSWORD=<mysql密码>

完成配置之后,执行shell脚本来初始化数据库

bash tools/bin/upgrade-schema.sh

确认是否完成初始化。

6.一键部署

完成以上步骤之后,运行以下命令完成部署,这个命令是根据配置执行DS相关服务的部署。执行完成之后,项目也就同时启动。

bash ./bin/install.sh

7.登录 DolphinScheduler

浏览器的访问URl地址;ip地址>:12345/dolphinscheduler/ui,默认的用户名密码admin/dolphinscheduler123

8.相关启停服务命令

# 一键停止集群所有服务bash ./bin/stop-all.sh# 一键开启集群所有服务bash ./bin/start-all.sh# 启停 Masterbash ./bin/dolphinscheduler-daemon.sh stop master-serverbash ./bin/dolphinscheduler-daemon.sh start master-server# 启停 Workerbash ./bin/dolphinscheduler-daemon.sh start worker-serverbash ./bin/dolphinscheduler-daemon.sh stop worker-server# 启停 Apibash ./bin/dolphinscheduler-daemon.sh start api-serverbash ./bin/dolphinscheduler-daemon.sh stop api-server# 启停 Alertbash ./bin/dolphinscheduler-daemon.sh start alert-serverbash ./bin/dolphinscheduler-daemon.sh stop alert-server

9.异常情况

安装时,发现Master和Woker节点启动不了。查看对应的日志,发现是内存不足,master主机默认需要2G内存启动,虚拟机当时只分配了2G的内存空间,后来设置成8G,启动就成功了。

标签: #安装sshcopyid