Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wk1234123
DolphinScheduler
提交
b482eedd
DolphinScheduler
项目概览
wk1234123
/
DolphinScheduler
与 Fork 源项目一致
Fork自
apache / DolphinScheduler
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
DolphinScheduler
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b482eedd
编写于
6月 17, 2019
作者:
L
lgcareer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add init hdfs path
上级
6c6ad862
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
26 addition
and
19 deletion
+26
-19
escheduler-common/src/main/java/cn/escheduler/common/utils/HadoopUtils.java
...src/main/java/cn/escheduler/common/utils/HadoopUtils.java
+26
-19
未找到文件。
escheduler-common/src/main/java/cn/escheduler/common/utils/HadoopUtils.java
浏览文件 @
b482eedd
...
...
@@ -24,19 +24,14 @@ import com.alibaba.fastjson.JSONObject;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.hadoop.conf.Configuration
;
import
org.apache.hadoop.fs.
FSDataInputStream
;
import
org.apache.hadoop.fs.
*
;
import
org.apache.hadoop.fs.FileSystem
;
import
org.apache.hadoop.fs.FileUtil
;
import
org.apache.hadoop.fs.Path
;
import
org.apache.hadoop.fs.FileStatus
;
import
org.apache.hadoop.security.UserGroupInformation
;
import
org.apache.hadoop.yarn.client.cli.RMAdminCLI
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.io.*
;
import
java.security.PrivilegedAction
;
import
java.security.PrivilegedActionException
;
import
java.security.PrivilegedExceptionAction
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -54,12 +49,18 @@ public class HadoopUtils implements Closeable {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
HadoopUtils
.
class
);
private
static
String
hdfsUser
=
PropertyUtils
.
getString
(
Constants
.
HDFS_ROOT_USER
);
private
static
volatile
HadoopUtils
instance
=
new
HadoopUtils
();
private
static
volatile
Configuration
configuration
;
private
static
FileSystem
fs
;
private
HadoopUtils
(){
if
(
StringUtils
.
isEmpty
(
hdfsUser
)){
hdfsUser
=
PropertyUtils
.
getString
(
Constants
.
HDFS_ROOT_USER
);
}
init
();
initHdfsPath
();
}
public
static
HadoopUtils
getInstance
(){
...
...
@@ -70,26 +71,19 @@ public class HadoopUtils implements Closeable {
* init escheduler root path in hdfs
*/
private
void
initHdfsPath
(){
String
hdfsUser
=
getString
(
Constants
.
HDFS_ROOT_USER
);
String
hdfsPath
=
getString
(
Constants
.
DATA_STORE_2_HDFS_BASEPATH
);
Path
path
=
new
Path
(
hdfsPath
);
try
{
UserGroupInformation
ugi
=
UserGroupInformation
.
createProxyUser
(
hdfsUser
,
UserGroupInformation
.
getLoginUser
());
ugi
.
doAs
(
new
PrivilegedExceptionAction
<
Boolean
>()
{
@Override
public
Boolean
run
()
throws
Exception
{
if
(!
fs
.
exists
(
path
)){
return
fs
.
mkdirs
(
path
);
}
return
true
;
}
});
try
{
if
(!
fs
.
exists
(
path
))
{
fs
.
mkdirs
(
path
);
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
}
/**
* init hadoop configuration
*/
...
...
@@ -127,7 +121,20 @@ public class HadoopUtils implements Closeable {
}
if
(
fs
==
null
)
{
fs
=
FileSystem
.
get
(
configuration
);
if
(
StringUtils
.
isNotEmpty
(
hdfsUser
)){
//UserGroupInformation ugi = UserGroupInformation.createProxyUser(hdfsUser,UserGroupInformation.getLoginUser());
UserGroupInformation
ugi
=
UserGroupInformation
.
createRemoteUser
(
hdfsUser
);
ugi
.
doAs
(
new
PrivilegedExceptionAction
<
Boolean
>()
{
@Override
public
Boolean
run
()
throws
Exception
{
fs
=
FileSystem
.
get
(
configuration
);
return
true
;
}
});
}
else
{
logger
.
warn
(
"hdfs.root.user is not set value!"
);
fs
=
FileSystem
.
get
(
configuration
);
}
}
String
rmHaIds
=
getString
(
YARN_RESOURCEMANAGER_HA_RM_IDS
);
String
appAddress
=
getString
(
Constants
.
YARN_APPLICATION_STATUS_ADDRESS
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录