• User Profile Service卡在Starting的解决方法


    User Profile Service(以下简称UPS)可能是SharePoint 2010中最头疼的服务之一了,问题多多。

    在创建这个服务阶段会产生一系列问题。还好大神Spencer Harbar发表了一系列的博文来解决这个问题。精华都在Rational Guide to implementing SharePoint Server 2010 User Profile Synchronization

    只要照着这个弄,没有解决不了的。

    问题是对于一个服务器场存在不是一天两天的事情,这个服务太脆弱了,经常莫名其妙的挂。如果UPS服务挂了,所有访问User Profile Manager的代码都会异常。包括SharePoint自己的Welcome控件。

    比如我项目中的一个服务器场,4台前段,2台应用服务器,一共6台服务器跑。一共6个同样的服务负载均衡。运行久了,部分服务器就会出现这个服务变成Starting的情况,并且街面上没有办法停止这个状态。

    如下图所示:

    事件日志中会产生类似SharePoint Web Services Round Robin Service Load Balancer Event: EndpointFailure错误信息。

    ULS日志中没有特别明显的信息。

    我到现在也不知道具体有什么样的原因会导致这个服务挂掉。可能是因为这个服务的负载比较大?

    为了解决这个问题,只能 PowerShell来访问到这个服务,进行强制的初始化。

    利用下面的命令来获取到当前服务器场所有的UPS服务实例:

    $UPSInstances = Get-SPServiceInstance | ? {$_.GetType().ToString() -eq "Microsoft.Office.Server.Administration.UserProfileServiceInstance"}

    利用下面命令来获得状态异常的UPS服务实例:

    $StuckUPSInstances = $UPSInstances | ? {$_.Status -ne "Online"}

    例如下面命令来重新初始化/启动UPS服务实例:

    $StuckUPSInstances | ForEach-Object -Process { $_ | Start-SPServiceInstance }

    等一会儿,就会看到服务就重新启动好了。

  • 相关阅读:
    HashMap的实现原理
    LinkedHashMap的实现讲解
    ConcurrentHashMap原理分析
    javax.mail Java Extension(扩展)
    Singleton 单例模式
    Java序列化与反序列化(实践)
    Java IO操作
    Java NIO与IO的区别和比较
    java模拟异步消息的发送与回调
    java如何实现多个线程并发运行
  • 原文地址:https://www.cnblogs.com/lambertqin/p/3019106.html
Copyright © 2020-2023  润新知