FusionInsight安全组件FAQ

FusionInsight安全组件FAQ
这里汇总了FusionInsight安全组件相关的问题,包含kerberos,ldapserver,cas,spring安全框架相关问题分析

1       Ldapserver相关问题
1.1      安装oms的时候,提示失败,信息:ERROR:Failed to install Ldap.
解决办法:check日志。/var/log/Bigdata/oldapserver/ldapserver_install.log

查看是否提示有rpm包没找到。如果是的话,请在安装过集群的节点和本节点(操作系统要一致)同时执行rpm -qa | grep ldap 补充缺失的rpm包即可。

1.2      安装ldaperver,webui提示initialize服务的时候,ldaperver失败
解决办法:去对应的ldapserver节点,cd到/var/log/Bigdata/ldapserver。打开日志ldapserver_install.log。

提示:ldap server rpm is not installed。

则是ldapserver对应的rpm包没有安装,去os的安装盘里面,找到对应openldap包,补充到集群各节点即可。

1.3      集群安装成功后,ldapserver的服务状态为BAD,导致多个组件的服务状态也是BAD。
原因分析:出现该问题的可能性有两个,首先看一下ldapserver的instance里面是否两个实例都是STANDBY状态。如果是,请修改服务的配置里面的LDAP_PROVIDER_IP,该值应该填写为ldapserver的两个实例中的某个IP。

另一个可能性是ldapserver的ACTIVE实例所在的节点故障,看一下告警中是否有对应的AGENT故障告警,如果有,请修改服务的配置里面的LDAP_PROVIDER_IP为另一个实例的IP,保存配置重启ldapserver即可。

1.4      停止集群,对集群中所有节点下电,上电之后,没有启动集群的情况下oms一直在主备倒换
原因分析:出现该问题的是由于,OMS的acs进程连接的是组件的主ldapserver,OMS启动时ACS会尝试连接主ldapserver,查询和添加默认用户组,而此时集群还没有起来,会抛连接不到ldap的错误,此时查看OMS所有进程状态,会发现aos异常,HA在检测到有进程异常之后,而且尝试拉不起来就会触发OMS主备倒换

解决办法:首先登陆FI manager管理页面,启动ldapserver服务,主备倒换期间有可能登陆FI失败,稍后重试即可

1.5      停止集群,对集群中所有节点下电,上电之后,没有启动集群的情况下oms一直在主备倒换
原因分析:出现该问题的是由于,OMS的acs进程连接的是组件的主ldapserver,OMS启动时ACS会尝试连接主ldapserver,查询和添加默认用户组,而此时集群还没有起来,会抛连接不到ldap的错误,此时查看OMS所有进程状态,会发现aos异常,HA在检测到有进程异常之后,而且尝试拉不起来就会触发OMS主备倒换

解决办法:首先登陆FI manager管理页面,启动ldapserver服务,主备倒换期间有可能登陆FI失败,稍后重试即可

1.6      启动ldapserver实例失败
原因分析:从ldapserver中可以看到启动日志中执行sudo命令时,报visiblepw相关错误,一般SUSE环境,会出现这个问题

解决办法:在/etc/sudoers文件底部增加Defaults visiblepw,重新启动即可恢复

2       ldapclient相关问题
2.1      安装集群过程中,在initialize步骤中,提示ldapclient安装失败
解决办法:去对应的ldapclient节点,cd到/var/log/Bigdata/ldapclient。打开日志ldapclient_install.log。

提示:excute sysctl failed。

则是ldapclient安装过程中,需要重启系统的sysctl,确保配置生效的时候,sysctl重启失败,这个时候,看一下日志上下文,是否有提示/proc/sys/xxxx找不到的错误,然后去/etc/sysctl.conf,将该配置项屏蔽掉,然后retry集群即可。

2.2      安装集群(扩容集群)过程中,提示slapclient安装失败
解决办法:去对应的失败节点,cd到/var/log/Bigdata/ldapclient目录,打开日志ldapclient_install.log

观察其中最后的error日志,提示rpm包找不到,或者未安装。请补充pam和nss包即可。具体可以参考已经安装成功的集群节点,同时执行rpm -qa | grep ldap比对一下对应的rpm包差异,补充差异包即可。

2.3      安装集群过程中,提示slapclient安装失败
查看ldapclient_install.,log 有如下错误:

SlapdClient ERROR can not find key [pam_unix2.so]

需要盘查如下三个文件

这个问题的时候 需要盘查

/etc/pam.d/common-account"

/etc/pam.d/common-auth"

/etc/pam.d/common-password"

里面是不是把account required pam_unix2.so 注释了

如果注释了请取消注释 一般suse11.3有这个问题

2.4      OMS与集群单独部署,新添加的用户无法登陆manager,出现403错误
原因分析:OMS单独部署,OMS节点不会安装ldapclient,此时id –Gn命令用不了,无法查询用户所属的用户组,R2C30SPC300之后的版本已解决该问题

解决办法:将oms节点扩容到集群中可以不扩容任何服务和实例

2.5      nscd服务异常导致组件业务不能正常使用
原因分析:因为组件是用用id –Gn命令查询用用所属的用户组,单这两个服务异常时,执行该命令是查询不到该用户所属的用户组的,就会抛没权限的异常

解决办法:执行service nscd status查看nscd服务的状态,如果是stop的,则执行service nscd restart命令重新拉起来即可

3       kerberosserver相关问题
3.1      java api执行kerberos认证提示clockskew is great的错误信息
解决方法:该问题是由于客户端的机器和kdc服务端的机器时差超过当前配置的允许时差(默认5分钟)。

修改客户端机器的时间,确保和KDC的时差在配置的时差范围内即可。也可以修改kerberos服务的clock_skew配置,默认为300秒,提高该值即可。

3.2      kinit 某个账户,提示 Principal information error while getting initial credentials
原因分析:该问题是由于提供的密码非服务端存储的用户密码,请查询正确的密码后,再执行kinit。

还有一种场景就是该账户不存在

3.3      kinit 某个账户,提示 Clients credentials have been revoked
解决方法:该问题是由于5分钟内连续输入错误密码次数超过5次,导致该用户在KDC服务端被锁定。

首先检查是否有某个客户端进程在使用旧密码频繁的登陆KDC,停止掉该客户端进程,再等待五分钟。再次执行kinit。

3.4      客户端应用提交任务到hadoop集群,客户端抛异常,提示Failed to find any Kerberos tgt 或者No valid credentials provided 
解决方法:该问题出现的可能性有两个,一个是客户端应用在提交任务的时候,没有执行KDC登陆操作,导致内存无TGT,提交任务的时候,无法找到TGT,因此出现该错误。

另一个是客户端任务使用hadoop提供的KDC认证的接口不当导致,曾经出现某个产品的客户端任务在多线程里面直接调用loginfromkeytab函数获取TGT,导致一个进程的内存中存在多个TGT,后面再reloginFromKeytab 刷新TGT的时候,无法保证所有TGT都被刷新。

这两种场景,进程的一开始调用hadoop提供的loginfromkeytab函数,登陆KDC,得到TGT。后续再提交任务的前面,调用hadoop提供的reloginFromKeytab 函数刷新该TGT即可。

3.5      组件启动过程中,调用auth-config.sh导keytab失败
问题分析:出现该问题的现象比较多,分别列举:

场景一:提示export and check keytab file failed。但是实际上组件的etc目录下面已经生成可用的keytab。此时出现该问题的原因为kinit该keytab失败。可以切换到omm用户(su - omm),执行kinit –k –t xxx.keytab xxx(xxx为用户名)此时提示:a)无法连接KDC服务器的话,则是该节点无法ping通kerberos服务器节点。b)xxxxx is revoked。则账户被锁定,很可能是有某个应用程序(客户端)在定时运行,多数是重装集群的时候,没有将客户端应用程序及时停止,导致客户端还在使用老的keytab登陆集群,导致该账号被锁定,组件无法启动。

场景二:提示export and check keytab file failed。组件对应的etc目录也没有keytab,这种情况很可能是本节点无法连接到主用ldapserver。请使用ping检查网络连通性。

4       kerberosclient相关问题
4.1      扩容集群过程中,提示kerberosclient安装失败
解决办法:到对应失败的节点上,cd到/var/log/Bigdata/nodeagent/agentlog目录,打开

agent.log日志,找到对应的失败日志时间点,提示:download krb5失败。则是因为在oms主节点上面,位于下面位置的目录被人人为删除:/opt/huawei/Bigdata/om-0.0.1/packaged-distributables/home/keytabs/

请重新在omm用户下面创建该目录,同时从备份的oms包中抽取该目录下面的文件恢复即可。

4.2      安装集群过程中,提示kerberosclient安装失败
解决办法:到对应失败的节点上,cd到/var/log/Bigdata/nodeagent/agentlog目录,打开

agent.log日志,找到对应的失败日志时间点,提示:download krb5失败,搜索上下文,观察是否有kerberosserver被安装skipped的打印,如果有,则是安装过程中,kerberosserver被跳过,导致该目录无法创建,opt/huawei/Bigdata/om-0.0.1/packaged-distributables/home/keytabs/

因此安装客户端失败。解决办法是卸载集群,重新安装。

5       cas相关问题
5.1      cas首页输入用户名和密码后,提示The credentials you provided cannot be determined to be authentic.
原因分析:该问题出现有多种可能性,

(1).输入的密码不对,请check对应的用户密码。

(2).输入的用户(非admin用户)不存在,请check用户是是否存在。

可以参考ldapserver的命令手册,使用ldapsearch命令查看服务器ldapserver内是否有对应用户信息。

(3).ldapserver进程故障,请使用/opt/huawei/Bigdata/om-0.0.1/sbin/status-oms.sh 命令查看oldap资源是否正常,如果不正常,请check日志,/var/log/Bigdata/oldapserver/ldapserver_start.log观察内容中是否有No such object打印,如果是,则是因为数据库遭到破坏,请尝试使用备份包修复,具体参考CPI手册。

5.2      登陆组件webui,比较慢,最终在浏览器上显示ST-XXXX无法识别
问题分析:该问题原因是因为组件所在的服务节点与cas所在服务节点访问存在时延,且时延大于10秒钟,因为ST的存活有效期仅为10秒钟,一旦网络时延较大,导致ST从组件服务端传输到cas服务端的时候,时间距离ST生成的时间大于10秒钟,CAS认为该ST为伪造,会自动丢弃,并返回错误。

解决方案:先分析为啥组件服务端和cas服务端访问有时延,可能原因:虚拟机性能较差,网络时延较大等,解决这些问题即可

5.3      Webui的用户管理界面无法显示集群用户
问题分析:这种原因多数是acs进程链接ldap服务失败,请查看日志/var/log/Bigdata/controller/acs.log,观察其中是否有can not bind,can not connect, can not reach ldap服务器的异常抛出,需要看一下集群中的中的ldapserver是否正常即可。这种一般是由于ldapServer异常了

问题解决:重启ldapserver服务,如果还是不能解决请在ldapserver的configuration页面修改privaed ip地址为ldap备的ip,保存配置重启该服务即可

6       Web相关问题
6.1      外部应用程序调用FI的REST接口的时候,返回403错误,无法操作
原因之一:安全加固,外部应用程序没有再连续的rest接口调用中带有效不变的IP和USERAGENT消息,

FI会在logincheck的接口中将使用方的IP和USERAGENT消息补充到session中,并且发给使用方,后续使用方需要在以后的消息中都携带该IP和USERAGENT消息。否则会导致安全check失败。

定位方法:check的日志是oms节点的/var/log/Bigdata/tomcat/web.log,观察调用REST接口过程中,是否有IP_AND_USER_AGENT is {} and message is这个打印,如果存在,则是改问题导致。

解决方法:修改REST调用程序,在消息头上添加不变的RemoteIP和Useragnet内容即可。

6.2      通过浏览器,访问8080端口无法跳转,提示404错误,但是使用28443可以跳转,登陆成功。
定位方法:请在oms主用节点,执行 netstat –anp | grep 8080 抓取当前在8080端口监听的应用程序进程ID。

tcp        0      0 160.172.0.218:8080      :::*                    LISTEN      28329/java 

再执行ps –ef | grep 28329 观察该应用程序是否是oms的tomcat进程,这种问题,基本都是有其他应用程序在8080端口监听,导致占用了oms的tomcat的端口,导致无法访问tomcat的8080端口。

解决方法:将该应用程序杀掉,在重启oms的tomcat,tomcat在启动之后会重新监听8080端口

6.3      通过浏览器,访问8080和28443端口都访问不了FI Manager
原因分析:一般是由于tomcat没有起来

定位方法:查看/var/log/Bigdata/tomcat/catalina.out日志,看报什么错误日志

解决方法:重启tomcat即可,

/opt/huawei/Bigdata/apache-tomcat-7.0.57/bin/shutdown.sh

/opt/huawei/Bigdata/apache-tomcat-7.0.57/bin/startup.sh

原文链接:https://forum.huawei.com/enterprise/zh/thread-321725.html

猜你喜欢

转载自blog.csdn.net/SunWuKong_Hadoop/article/details/83929583