dolphinscheduler2.0.3搭建+Kerberos+hadoop结合

dolphinscheduler官网只是给出了搭建方式 具体使用中需要和hdfs结合的话需要配置更多参数

如果配置了数据目录不会自动创建,记得自己手动创建一下

例子

data.basedir.path=/data/dsdata

初次搭建的时候可以直接设置成kerberos模式
kerberosStartUp="true"
krb5ConfPath="/etc/krb5.conf"
keytabUserName="hdfs/hdfs"
keytabPath="/var/lib/keytab/hdfs.keytab"
kerberosExpireTime="24"
记得要用能操作hdfs的用户

服务目录需要
ln -s /etc/hadoop/conf/core-site.xml  .
ln -s /etc/hadoop/conf/hdfs-site.xml  .

搭建完成之后的配置存放在 conf下的 common.properties 中 初步搭建完成之后可以修改这里的配置来进行调整

跟hadoop有关需要调整的配置有下面几个

不配置kerberos的话只需要这几个
# resource storage type: HDFS, S3, NONE
resource.storage.type=HDFS  

fs.defaultFS=hdfs://nameservice1 #ha模式下不仅需要配置ha的地址,同时需要把core-site.xml和hdfs-site.xml放到conf目录下
cd到你部署ds的conf目录下
ln -s /etc/hadoop/conf/core-site.xml  .
ln -s /etc/hadoop/conf/hdfs-site.xml  .

kerberos下还需要配置这几个

# whether to startup kerberos
hadoop.security.authentication.startup.state=true

# java.security.krb5.conf path
java.security.krb5.conf.path=/etc/krb5.conf

# login user from keytab username
login.user.keytab.username=hdfs/hdfs@TEST.COM #需要一个可以操作hdfs的用户 我复用了hive的用户不行,后来在kerbers上新生成了这个用户

# login user from keytab path
login.user.keytab.path= /var/lib/keytab/hdfs.keytab # key要把属主属组改成ds的 不然没权限

# kerberos expire time, the unit is hour
kerberos.expire.time=24

然后移动到

conf下的env 修改dolphinscheduler_env.sh

修改默认的配置

export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop
export HADOOP_CONF_DIR=/etc/hadoop/conf
export YARN_HOME=/opt/cloudera/parcels/CDH/lib/hadoop-yarn
export FLINK_HOME=/data/flink-1.12.1
export HIVE_HOME=/opt/cloudera/parcels/CDH/lib/hive
export ZOOKEEPER_HOME=/opt/cloudera/parcels/CDH/lib/zookeeper
export HBASE_HOME=/opt/cloudera/parcels/CDH/lib/hbase
export SPARK_HOME=/opt/cloudera/parcels/CDH/lib/spark
export JAVA_HOME=/usr/local/jdk
export DATAX_HOME=/data/datax
export PYTHON_HOME=/usr/bin/python3
export KAFKA_HOME=/opt/cloudera/parcels/CDH/lib/kafka
export SOLR_HOME=/opt/cloudera/parcels/CDH/lib/solr
export IMPALA_HOME=/opt/cloudera/parcels/CDH/lib/impala
export HADOOP_COMMON_HOME=/opt/cloudera/parcels/CDH/lib/hadoop
export HADOOP_HDFS_HOME=/opt/cloudera/parcels/CDH/lib/hadoop-hdfs
export HADOOP_MAPRED_HOME=/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce
export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_HOME/bin:
$PATH

按照你的环境进行更改 注意最下面的SPARK1改成删掉1,改成SPARK

我是基于cdh的 如果你也是cdh 那应该只需要修改datax flink 其他都可以复制我的

配置完成之后 回到最上级目录

sh ./bin/stop-all.sh

sh ./bin/start-all.sh

打开web ui

资源中心—文件管理—随便创建一个文件夹 成功了就是配置完成 失败 需要去master的logs里查

dolphinscheduler-api.log

这个日志 排查问题

如果是kerberos环境则需要先建立租户

安全中心–租户管理–创建租户—这个租户用服务器上已经有的用户即可 我直接复用了dolphinscheduler

然后在用户管理里创建一个新用户或者把admin 放到你的租户下

然后使用你已经放到租户下的用户去

资源中心—文件管理—随便创建一个文件夹 成功了就是配置完成 失败 需要去master的logs里查

经验分享 程序员 微信小程序 职场和发展