【大数据】- 记一次华为云大数据服务对接问题记录

前言

由于我们在调研是否让自建IDC大数据机房上云服务,所以华为云进行一下测试。

问题一:impala的连接问题

由于我们开启了Kerberos,所以我们在终端执行impala-shell的时候,默认情况下是连不上的。需要通过Kerberos进行身份校验授权才可以访问。

我们创建了一个名字叫hiveuser的账号,目前所有的组件服务都通过该账号进行访问。

所以我们需要初始化和续期凭据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@node-str-coreoVpr ~]# impala-shell
Starting Impala Shell without Kerberos authentication
Error connecting: TTransportException, Could not connect to node-str-coreoVpr:21000
Kerberos ticket found in the credentials cache, retrying the connection with a secure transport.
Error connecting: TTransportException, Could not connect to node-str-coreoVpr:21000
***********************************************************************************
Welcome to the Impala shell.
(Impala Shell v3.2.0 (f63543a) built on Wed Nov 6 11:46:33 CST 2019)

Want to know what version of Impala you're connected to? Run the VERSION command to
find out!
***********************************************************************************
[Not connected] > quit;
Connection lost, reconnecting...
Error connecting: TTransportException, Could not connect to node-str-coreoVpr:21000
Goodbye root

可以看到,我们是连不上的。

1
2
3
4
5
6
7
8
9
[root@node-str-coreoVpr ~]# kinit hiveuser@122451B2_394D_494B_9FCA_B045F596D6D4.COM
Password for hiveuser@122451B2_394D_494B_9FCA_B045F596D6D4.COM:

[root@node-str-coreoVpr ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: hiveuser@122451B2_394D_494B_9FCA_B045F596D6D4.COM

Valid starting Expires Service principal
01/05/2021 17:05:25 01/06/2021 17:05:21 krbtgt/122451B2_394D_494B_9FCA_B045F596D6D4.COM@122451B2_394D_494B_9FCA_B045F596D6D4.COM

再次尝试连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@node-str-coreoVpr ~]# impala-shell -i node-ana-coretXnL
Starting Impala Shell without Kerberos authentication
Opened TCP connection to node-ana-coretXnL:21000
Error connecting: TTransportException, TSocket read 0 bytes
Kerberos ticket found in the credentials cache, retrying the connection with a secure transport.
Opened TCP connection to node-ana-coretXnL:21000
Connected to node-ana-coretXnL:21000
Server version: impalad version 3.2.0 RELEASE (build 83150778f5d85f48878f611da47face9328e9e6a)
***********************************************************************************
Welcome to the Impala shell.
(Impala Shell v3.2.0 (f63543a) built on Wed Nov 6 11:46:33 CST 2019)

Press TAB twice to see a list of available commands.
***********************************************************************************
[node-ana-coretXnL:21000] default>

可以看到,已经可以连接上了。

问题一:flume && kudu

目前,我们对基本配置如下:

服务 版本
flume 1.6
kudu 1.9

Kerberos

由于flume官方没有提供对应的sink。但是kudu有提供,所以我去找了kudu的sink的jar库下来。而版本对应嘛,一开始我们使用和kudu一样的1.9版本,发现api对应不上。查阅了资料之后,选择了1.4版本。

kudu-flume-sink-1.4.jar

需要把jar包放在 java运行程序的 classpath目录下,也就是 -cp 参数的目录下。由于不想通过修改GC_OPTS来指定目录,所以我选择了放在 /opt/Bigdata/MRS_2.1.0/install/FusionInsight-Flume-1.6.0/flume/lib/* 目录下。

可是谁曾想最后还要是动到 GC_OPTS到参数配置

还是类似的问题,目前遇到的问题几乎都是 Kerberos 引起的。因为以往我们并没有使用 Kerberos 作为身份认证。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# ===================================================
# = 定义信息 =
# = 华为云Agent必填: =
# = - server =
# = Agent中存在的sources: =
# = - src_http_41600 =
# = Agent中存在的channels: =
# = - ch_kudu_table =
# = Agent中存在的sinks: =
# = - sink_kudu_table =
# ===================================================
server.sources = src_http_41600
server.channels = ch_kudu_table
server.sinks = sink_kudu_table

# ===================================================
# = Http Source =
# ===================================================
server.sources.src_http_41600.type = http
server.sources.src_http_41600.port = 41600
server.sources.src_http_41600.channels = ch_kudu_table

# ===================================================
# = Http-Kudu's Channel =
# ===================================================
server.channels.ch_kudu_table.type = memory
server.channels.ch_kudu_table.capacity = 1000
server.channels.ch_kudu_table.transactionCapacity = 100


# server.sinks.sink_kudu_table.type = logger
# server.sinks.sink_kudu_table.channel = ch_kudu_table

# ===================================================
# = Kudu Sink =
# ===================================================
# 组件名,必须填写`org.apache.kudu.flume.sink.KuduSink`
server.sinks.sink_kudu_table.type = org.apache.kudu.flume.sink.KuduSink
# 要绑定读取的channel
server.sinks.sink_kudu_table.channel = ch_kudu_table
server.sinks.sink_kudu_table.masterAddresses = node-master1rfFB,node-ana-corezDdi,node-master2RSDt
server.sinks.sink_kudu_table.tableName = impala::kudu_test.my_first_table

测试的时候所采用的配置如上

1
omm      17051     1  0 11:31 ?        00:00:09 /opt/Bigdata/jdk1.8.0_212//bin/java -XX:OnOutOfMemoryError=bash /opt/Bigdata/MRS_2.1.0/install/FusionInsight-Flume-1.6.0/flume/bin/out_memory_error.sh /opt/Bigdata/MRS_2.1.0/1_7_Flume/etc %p -Xms2G -Xmx4G -XX:CMSFullGCsBeforeCompaction=1 -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -Djava.security.krb5.conf=/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/krb5.conf -Djava.security.auth.login.config=/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/jaas.conf -Dzookeeper.request.timeout=120000 -Djavax.security.auth.useSubjectCredsOnly=false -verbose:gc -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=1M -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/var/log/Bigdata/flume//flume/flume-omm-20210106113125-%p-gc.log -Djava.security.krb5.conf=/opt/Bigdata/MRS_2.1.0/1_5_KerberosClient/etc/kdc.conf -Djava.security.auth.login.config=/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/jaas.conf -Dzookeeper.server.principal=zookeeper/hadoop.122451b2_394d_494b_9fca_b045f596d6d4.com -Dzookeeper.request.timeout=120000 -Dsolrclient.token.enabled=false -Dcom.amazonaws.sdk.disableCertChecking=true -Dnet.sf.ehcache.skipUpdateCheck=true -Dflume.instance.id=1000 -Dflume.role=server -Dlog4j.configuration.watch=true -Dlog4j.configuration=log4j.properties -Dflume_log_dir=/var/log/Bigdata/flume//flume/ -Dflume.monitoring.type=http -Dflume.monitoring.port=21150 -Dbeetle.application.home.path=/opt/Bigdata/MRS_2.1.0/install/FusionInsight-Flume-1.6.0/flume/conf/service -Dflume.called.from.service -Dflume.conf.dir=/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc -Dflume.metric.conf.dir=/opt/Bigdata/MRS_2.1.0/install/FusionInsight-Flume-1.6.0/flume/conf -Dflume.script.home=/opt/Bigdata/MRS_2.1.0/install/FusionInsight-Flume-1.6.0/flume/bin -cp /opt/Bigdata/MRS_2.1.0/1_7_Flume/etc:/opt/Bigdata/MRS_2.1.0/install/FusionInsight-Flume-1.6.0/flume/lib/*:/opt/Bigdata/MRS_2.1.0/install/FusionInsight-Flume-1.6.0/flume/conf/service/ -Djava.library.path=/opt/Bigdata/MRS_2.1.0/install/FusionInsight-Flume-1.6.0/flume/plugins.d/native/native org.apache.flume.node.Application --conf-file /opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/properties.properties --name server

启动的参数如上,其中有几个参数是我后面加的:

  • -Djava.security.krb5.conf=/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/krb5.conf (指定krb5的配置文件路径)
  • -Djava.security.auth.login.config=/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/jaas.conf (获取jass的认证配置文件路径)
  • -Dzookeeper.request.timeout=120000
  • -Djavax.security.auth.useSubjectCredsOnly=false (通过底层获取凭据)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@node-str-coreoVpr ~]# cat /opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/jaas.conf
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/user.keytab"
principal="hiveuser@122451B2_394D_494B_9FCA_B045F596D6D4.COM"
storeKey=true
useTicketCache=false;
};

Client {
com.sun.security.auth.module.Krb5LoginModule required
storeKey=true
principal="hiveuser@122451B2_394D_494B_9FCA_B045F596D6D4.COM"
useTicketCache=false
keyTab="/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/user.keytab"
debug=true
useKeyTab=true;
};

com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
useTicketCache=false
doNotPrompt=true
storeKey=true
principal="hiveuser@122451B2_394D_494B_9FCA_B045F596D6D4.COM"
keyTab="/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/user.keytab"
debug=true;
};

由于华为云自己修改过部分组件,所以不太确定为什么凭据一直失败,所以我加了 -Djavax.security.auth.useSubjectCredsOnly=false 参数,这是让我们从底层去拿凭据,而默认拿的section部分就是 com.sun.security.jgss.initiate详见源码,所以加上了 com.sun.security.jgss.initiate 之后,flume就可以连接上了kudu.

以下是我调试的时候遇到的问题。

  • GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos Ticket) Cause: This may occur if no valid Kerberos credentials are obtained. In particular, this occurs if you want the underlying mechanism to obtain credentials but you forgot to indicate this by setting the javax.security.auth.useSubjectCredsOnly system property value to false (for example via -Djavax.security.auth.useSubjectCredsOnly=false in your execution command).

  • GSSException: No valid credentials provided (Mechanism level: Attempt to obtain new INITIATE credentials failed! (null)) . . . Caused by: javax.security.auth.login.LoginException: Clock skew too great Cause: Kerberos requires the time on the KDC and on the client to be loosely synchronized. (The default is within 5 minutes.) If that’s not the case, you will get this error.

附上 jgss 的异常尝试解决方案官方文档, PS:反正我根据文档没解决,不知道是不是华运自己修改的部分有什么潜规则。所以我才采用默认的jass配置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
2021-01-06 11:31:26,235 | INFO  | [lifecycleSupervisor-1-0] |  Configuration provider starting  | org.apache.flume.node.PollingPropertiesFileConfigurationProvider.start(PollingPropertiesFileConfigurationProvider.java:61)
2021-01-06 11:31:26,239 | INFO | [conf-file-poller-0] | Reloading configuration file:/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/properties.properties | org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherR
unnable.run(PollingPropertiesFileConfigurationProvider.java:133)
2021-01-06 11:31:26,236 | INFO | [main] | starting taskCounter | org.apache.flume.tools.FlumeMetricsMgr.start(FlumeMetricsMgr.java:230)
2021-01-06 11:31:26,250 | INFO | [conf-file-poller-0] | Processing:sink_kudu_table | org.apache.flume.conf.FlumeConfiguration$AgentConfiguration.addProperty(FlumeConfiguration.java:1017)
2021-01-06 11:31:26,250 | INFO | [conf-file-poller-0] | Processing:sink_kudu_table | org.apache.flume.conf.FlumeConfiguration$AgentConfiguration.addProperty(FlumeConfiguration.java:1017)
2021-01-06 11:31:26,250 | INFO | [conf-file-poller-0] | Processing:sink_kudu_table | org.apache.flume.conf.FlumeConfiguration$AgentConfiguration.addProperty(FlumeConfiguration.java:1017)
2021-01-06 11:31:26,251 | INFO | [conf-file-poller-0] | Processing:sink_kudu_table | org.apache.flume.conf.FlumeConfiguration$AgentConfiguration.addProperty(FlumeConfiguration.java:1017)
2021-01-06 11:31:26,251 | INFO | [conf-file-poller-0] | Added sinks: sink_kudu_table Agent: server | org.apache.flume.conf.FlumeConfiguration$AgentConfiguration.addProperty(FlumeConfiguration.java:931)
2021-01-06 11:31:26,262 | INFO | [conf-file-poller-0] | Post-validation flume configuration contains configuration for agents: [server] | org.apache.flume.conf.FlumeConfiguration.validateConfiguration(FlumeConfiguration.java:141)
2021-01-06 11:31:26,263 | INFO | [conf-file-poller-0] | Creating channels | org.apache.flume.node.AbstractConfigurationProvider.loadChannels(AbstractConfigurationProvider.java:155)
2021-01-06 11:31:26,270 | INFO | [conf-file-poller-0] | Creating instance of channel ch_kudu_table type memory | org.apache.flume.channel.DefaultChannelFactory.create(DefaultChannelFactory.java:42)
2021-01-06 11:31:26,274 | INFO | [conf-file-poller-0] | Created channel ch_kudu_table | org.apache.flume.node.AbstractConfigurationProvider.loadChannels(AbstractConfigurationProvider.java:210)
2021-01-06 11:31:26,274 | INFO | [conf-file-poller-0] | Creating instance of source src_http_41600, type http | org.apache.flume.source.DefaultSourceFactory.create(DefaultSourceFactory.java:41)
2021-01-06 11:31:26,289 | INFO | [main] | Monitored counter group for type: OTHER, name: taskcount: Successfully registered new MBean. | org.apache.flume.instrumentation.MonitoredCounterGroup.register(MonitoredCounterGroup.java:132)
2021-01-06 11:31:26,290 | INFO | [main] | Component type: OTHER, name: taskcount started | org.apache.flume.instrumentation.MonitoredCounterGroup.start(MonitoredCounterGroup.java:105)
2021-01-06 11:31:26,323 | INFO | [conf-file-poller-0] | Creating instance of sink: sink_kudu_table, type: org.apache.kudu.flume.sink.KuduSink | org.apache.flume.sink.DefaultSinkFactory.create(DefaultSinkFactory.java:42)
2021-01-06 11:31:26,328 | WARN | [conf-file-poller-0] | No Kudu operations producer provided, using default | org.apache.kudu.flume.sink.KuduSink.configure(KuduSink.java:202)
2021-01-06 11:31:26,330 | INFO | [conf-file-poller-0] | Channel ch_kudu_table connected to [src_http_41600, sink_kudu_table] | org.apache.flume.node.AbstractConfigurationProvider.getConfiguration(AbstractConfigurationProvider.java:124)
2021-01-06 11:31:26,413 | INFO | [main] | ServiceServer started (at port[21151]) | org.wcc.framework.business.service.server.ServiceServer.start(ServiceServer.java:260)
2021-01-06 11:31:26,413 | INFO | [main] | flume meric server startred ip:192.168.0.222,port:21151. | org.apache.flume.tools.FlumeMetricsMgr.initMetricsRpcServer(FlumeMetricsMgr.java:84)
2021-01-06 11:31:26,413 | INFO | [main] | current role is server | org.apache.flume.tools.FlumeMetricsMgr.start(FlumeMetricsMgr.java:237)
2021-01-06 11:31:26,429 | INFO | [main] | Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog | org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67)
2021-01-06 11:31:26,430 | INFO | [main] | jetty-6.1.26 | org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67)
2021-01-06 11:31:26,441 | INFO | [main] | Started SelectChannelConnector@localhost:21150 | org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67)
2021-01-06 11:31:26,442 | INFO | [main] | starting compment mon | org.apache.flume.node.Application.startCompMon(Application.java:543)
2021-01-06 11:31:26,443 | INFO | [main] | started compment mon success | org.apache.flume.node.Application.startCompMon(Application.java:582)
2021-01-06 11:31:26,443 | INFO | [main] | log4j dynamic load is start. | org.apache.flume.tools.LogDynamicLoad.start(LogDynamicLoad.java:59)
2021-01-06 11:31:26,444 | INFO | [conf-file-poller-0] | stopping compment mon | org.apache.flume.node.Application.stopCompMon(Application.java:587)
2021-01-06 11:31:26,444 | INFO | [conf-file-poller-0] | stopped compment mon success | org.apache.flume.node.Application.stopCompMon(Application.java:608)
2021-01-06 11:31:26,444 | INFO | [conf-file-poller-0] | Starting new configuration:{ sourceRunners:{src_http_41600=EventDrivenSourceRunner: { source:org.apache.flume.source.http.HTTPSource{name:src_http_41600,state:IDLE} }} sinkRunners:{sink_kudu_table=SinkRunner: { policy:org.apache.flume.sink.DefaultSinkProcessor@1e1f84ee counterGroup:{ name:null counters:{} } }} channels:{ch_kudu_table=org.apache.flume.channel.MemoryChannel{name: ch_kudu_table}} } | org.apache.flume.node.Application.startAllComponents(Application.java:206)
2021-01-06 11:31:26,498 | INFO | [conf-file-poller-0] | current role is server | org.apache.flume.tools.FlumeSendAlarmMgr.start(FlumeSendAlarmMgr.java:173)
2021-01-06 11:31:26,505 | INFO | [conf-file-poller-0] | Starting Channel ch_kudu_table | org.apache.flume.node.Application.startAllComponents(Application.java:217)
2021-01-06 11:31:26,508 | INFO | [lifecycleSupervisor-1-0] | Monitored counter group for type: CHANNEL, name: ch_kudu_table: Successfully registered new MBean. | org.apache.flume.instrumentation.MonitoredCounterGroup.register(MonitoredCounterGroup.java:132)
2021-01-06 11:31:26,508 | INFO | [lifecycleSupervisor-1-0] | Component type: CHANNEL, name: ch_kudu_table started | org.apache.flume.instrumentation.MonitoredCounterGroup.start(MonitoredCounterGroup.java:105)
2021-01-06 11:31:26,508 | INFO | [conf-file-poller-0] | Starting Sink sink_kudu_table | org.apache.flume.node.Application.startAllComponents(Application.java:245)
2021-01-06 11:31:26,508 | INFO | [conf-file-poller-0] | Starting Source src_http_41600 | org.apache.flume.node.Application.startAllComponents(Application.java:256)
2021-01-06 11:31:26,510 | INFO | [conf-file-poller-0] | Begin start init plugins. | com.huawei.flume.PluginManager.PluginManager.<init>(PluginManager.java:39)
2021-01-06 11:31:26,510 | INFO | [conf-file-poller-0] | Set plugins configuration file dir successful. | com.huawei.flume.PluginManager.PluginManager.<init>(PluginManager.java:46)
2021-01-06 11:31:26,511 | INFO | [conf-file-poller-0] | Reading monitor server configuration from: /opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/flume-check.properties | com.huawei.flume.configuration.AbstractPluginsConfiguration.loadConfig(AbstractPluginsConfiguration.java:75)
2021-01-06 11:31:26,517 | WARN | [conf-file-poller-0] | Needn't to create PluginsManager, plugins is empty. | com.huawei.flume.PluginManager.PluginManager.<init>(PluginManager.java:55)
2021-01-06 11:31:26,517 | WARN | [conf-file-poller-0] | Have not set any plugins | com.huawei.flume.PluginManager.PluginManager.start(PluginManager.java:98)
2021-01-06 11:31:26,517 | INFO | [conf-file-poller-0] | starting compment mon | org.apache.flume.node.Application.startCompMon(Application.java:543)
2021-01-06 11:31:26,517 | INFO | [conf-file-poller-0] | started compment mon success | org.apache.flume.node.Application.startCompMon(Application.java:582)
2021-01-06 11:31:26,542 | INFO | [lifecycleSupervisor-1-0] | jetty-6.1.26 | org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67)
2021-01-06 11:31:26,577 | INFO | [lifecycleSupervisor-1-0] | Started SelectChannelConnector@0.0.0.0:41600 | org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67)
2021-01-06 11:31:26,578 | INFO | [lifecycleSupervisor-1-0] | Monitored counter group for type: SOURCE, name: src_http_41600: Successfully registered new MBean. | org.apache.flume.instrumentation.MonitoredCounterGroup.register(MonitoredCounterGroup.java:132)
2021-01-06 11:31:26,578 | INFO | [lifecycleSupervisor-1-0] | Component type: SOURCE, name: src_http_41600 started | org.apache.flume.instrumentation.MonitoredCounterGroup.start(MonitoredCounterGroup.java:105)
2021-01-06 11:31:27,187 | INFO | [lifecycleSupervisor-1-3] | Monitored counter group for type: SINK, name: sink_kudu_table: Successfully registered new MBean. | org.apache.flume.instrumentation.MonitoredCounterGroup.register(MonitoredCounterGroup.java:132)

可以看到,sink启动成功。

记录几个需要用到的命令:

同步kudu-flume-sink到各flume节点

1
str_nodes="node-str-corelgoh node-str-corenydJ node-str-coreoVpr";for ip in $(echo ${str_nodes});do scp /opt/Bigdata/MRS_2.1.0/install/FusionInsight-Flume-1.6.0/flume/lib/kudu-flume-sink-1.4.0.jar ${ip}:/opt/Bigdata/MRS_2.1.0/install/FusionInsight-Flume-1.6.0/flume/lib/;ssh ${ip} 'chmod 751 /opt/Bigdata/MRS_2.1.0/install/FusionInsight-Flume-1.6.0/flume/lib/kudu-flume-sink-1.4.0.jar && chown omm:ficommon /opt/Bigdata/MRS_2.1.0/install/FusionInsight-Flume-1.6.0/flume/lib/kudu-flume-sink-1.4.0.jar';done

修改对应的jass配置 和 凭据信息同步

1
str_nodes="node-str-corelgoh node-str-corenydJ node-str-coreoVpr";for ip in $(echo ${str_nodes});do scp /tmp/krb5.conf ${ip}:/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/; scp /tmp/user.keytab ${ip}:/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/;ssh ${ip} "sed -i -e '/principal/s/flume/hiveuser/g' -e '/keyTab/s/\/opt\/Bigdata\/MRS_2.1.0\/install\/FusionInsight-Flume-1.6.0\/flume\/conf\/flume.keytab/\/opt\/Bigdata\/MRS_2.1.0\/1_7_Flume\/etc\/user.keytab/g'  -e '/^Client/s/Client/com.sun.security.jgss.initiate/g' /opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/jaas.conf;chown omm:wheel /opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/jaas.conf;chown -R omm:wheel /opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/";done

这个不是命令,但是是记得最新的GC_OPTS参数

1
-Xms2G -Xmx4G -XX:CMSFullGCsBeforeCompaction=1 -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -Djava.security.krb5.conf=/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/krb5.conf -Djava.security.auth.login.config=/opt/Bigdata/MRS_2.1.0/1_7_Flume/etc/jaas.conf -Dzookeeper.request.timeout=120000