先根据伪集群来部署、部署中参考非伪集群
1、mysql数据库
mysql -h主机地址 -u用户名 -p
2、查看等
less:G、上下按键、ctrl+b、ctrl+f、q
find / -iname 'mysql'
更改目录所有者 chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler--bin
/usr/apache-dolphinscheduler-3.1.0-bin/tools/libs 里面也需要mysql驱动
3、mysql重新给root赋权限 https://blog.csdn.net/code_mzh/article/details/108243683
vim /etc/my.cnf
skip-grant-tables #在[mysqld]下面添加这一行,忽略权限表
systemctl restart mysqld.service
mysql -uroot -p回车登录即可
create user 'root'@'localhost' identified by 'Zcl124816.'; 如果报错用下面方法
flush privileges;刷新配置
create user 'root'@'localhost' identified by 'Zcl124816.';再次报错
drop user 'root'@'localhost';
create user 'root'@'localhost' identified by 'Zcl124816.';
GRANT ALL PRIVILEGES ON . TO 'root'@'localhost' WITH GRANT OPTION; #赋予所有库所有表操作权限
flush privileges;
vim /etc/my.cnf
skip-grant-tables 去除
systemctl restart mysqld.service
4、清掉重复的sudo免密登录的do账号
vim /etc/sudoers 里面重复的dolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL
5、/etc/hosts设置好三台机器的
127.0.0.1 localhost ds3
192.168.126.53 localhost ds3
192.168.126.54 ds4
192.168.126.55 ds5
6、ssh免密(普通用户之间的免密登陆和 使用root 进行免密登陆,基本设置都是一样的,只不过普通用户之间需要修改 .ssh 和 authorized_keys 的权限免密才能生效)
①确认ssh服务已经安装并打开;
②打开文件/etc/ssh/sshd_config,确保以下配置已经添加(如果被"#“注释了就把”#"删除):
AuthorizedKeysFile .ssh/authorized_keys
PubkeyAuthentication yes
③三台机器的/etc/hostname文件中的内容分别是node0、node1、node2;
⑤三台机器上都有非root账号,为了方便操作,这里为三台机器都创建了名为hadoop的账号和群组,创建命令:
groupadd hadoop && useradd -d /home/hadoop -g hadoop -m hadoop
创建完账号后记得用命令passwd初始化hadoop账号的密码;
⑥ 在node0机器上输入ssh hadoop@node1,尝试ssh登录node1,此时由于未配置免密码登录,所以控制台要求输入node1的密码,如下:
准备工作已经完成,接下来开始实战免密码登录配置;
⑦以hadoop账号登录;生成密钥开始!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
⑧输入ssh-keygen -t rsa (分别在服务器执行,不要批量),然后一路回车,顺利生成秘钥文件,如下:
⑨进入目录~/.ssh/可见如下内容:id_rsa id_rsa.pub known_hosts
配置秘钥授权文件
①以hadoop账号登录node0机器;
②生成一个空白文件:touch ~/.ssh/authorized_keys
③将node0自己的公钥放入文件authorized_keys中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
④以hadoop账号登录node1机器,执行以下命令,即可将node1的公钥传输到node0机器,文件名为node1.id_rsa.pub:
scp ~/.ssh/id_rsa.pub hadoop@node0:~/.ssh/node1.id_rsa.pub
期间会要求输入node0的hadoop账号的密码,输入后传输完成,在node0的/home/hadoop/.ssh目录下,多了个名为node1.id_rsa.pub的文件;
⑤在node0机器执行以下命令,即可将node1.id_rsa.pub的内容写入authorized_keys文件:
cat ~/.ssh/node1.id_rsa.pub >> ~/.ssh/authorized_keys
此时authorized_keys文件中已经有了node0和node1的公钥;
⑥以hadoop账号登录node2机器,执行以下命令,即可将node2的公钥传输到node0机器,文件名为node2.id_rsa.pub:
scp ~/.ssh/id_rsa.pub hadoop@node0:~/.ssh/node2.id_rsa.pub
期间会要求输入node0的hadoop账号的密码,输入后传输完成,在node0的/home/hadoop/.ssh目录下,多了个名为node2.id_rsa.pub的文件;
⑦在node0机器执行以下命令,即可将node2.id_rsa.pub的内容写入authorized_keys文件:
cat ~/.ssh/node2.id_rsa.pub >> ~/.ssh/authorized_keys
此时authorized_keys文件中已经有了node0、node1、node2的公钥;
同步秘钥授权文件:
①以hadoop账号登录node0机器,执行以下命令将秘钥授权文件同步到node1机器:
scp ~/.ssh/authorized_keys hadoop@node1:~/.ssh/authorized_keys
②以hadoop账号登录node0机器,执行以下命令将秘钥授权文件同步到node2机器:
scp ~/.ssh/authorized_keys hadoop@node2:~/.ssh/authorized_keys
至此,秘钥授权文件已经同步到所有机器,如果前面的所有操作用的是root账号,此时已经可以免密码登录成功了,但是今天我们用的不是root账号,此时在node0输入命令ssh hadoop@node1,却发现依然要求输入node1的hadoop账号的密码,这是因为文件和文件夹权限的问题导致的,接下来解决权限问题;
调整文件夹和文件的权限(三台机器都要执行)
①先调整文件夹~/.ssh的权限:
chmod 700 ~/.ssh
②再调整文件~/.ssh/authorized_keys的权限:
chmod 600 ~/.ssh/authorized_keys
③至此,非root账号的SSH免密码登录配置已经完成,在node0输入命令ssh hadoop@node1试试,如下,顺利登录,不需要输入密码:
ssh hadoop@node1
再去node1、node2机器上试试SSH登录其他机器,发现也能免密码登录;
7、删除免登录
/home/dolphinscheduler/.ssh 里删除三个文件rm
8、使用./zkServer.sh start-foreground启动
设置zk的配置 tickTime=60000
在zkServer.sh搜索 start-foreground在下面"-Dzookeeper.log.file=${ZOO_LOG_FILE}"后面加 "-Dzookeeper.admin.enableServer=false" \ 再用./zkServer.sh start-foreground
通过端口号查进程 netstat -tunlp | grep 端口号 、 然后根据进程号查进程 ps -ef|grep 15522
9、各服务器需要安装mysql客户端(先下载rpm文件再安装,mysql官网选针对centos的Red Hat Enterprise Linux/Oracle Linux\Red Hat Enterprise Linux7/Oracle Linux7 x86,64bit\RPM Package,Client Utilities)
rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm --nodeps --force