wiki:Documentation/Howto/SetupHiveServer

Version 6 (modified by cneumuel, 8 years ago) (diff)

--

How to setup a Hive server

This page gives you instructions about how to setup and run a Hive server.

Certificate and Authentication:

  • Follow DevelopersHowtosDevelopServices
  • Goto Windows Services > start Distributed Transaction Coordinator service (needed to use transactions over multiple databases)

Enable net.tcp protocols:

  • Control Panel > Programs & Features > Turn Windows features on or off
  • Expand Microsoft .NET Framework 3.x.x
  • Check the "Windows Communication Foundation Non-HTTP Activation" check box.
  • Open Visual Studio command prompt as administrator and run this command: %windir%\Microsoft.NET\Framework\v4.xxxx\ServiceModelReg.exe" -r

Setup IIS:

  • Open IIS Manager
  • Create an application pool (Hive-3.3, .net 4.x, integrated)
    • Open advanced settings of the application pool and select NetworkService as identity (if you don't have your own identities for IIS AppPools)
    • Set Disable Overlapping Recycle to true. This avoids that multiple AppDomains are created which causes problems in Hive-3.3.
  • Create a new website (or use an existing one)
  • Go to bindings of the website.
    • Add a http-binding with port 9000.
    • Add a net.tcp binding with 9001:* in the binding information.
  • Create a new application within the website and call it Hive-3.3 and use the already created appPool Hive-3.3
  • Open advanced settings of the application and enter http, net.tcp as enabled protocols
  • Grant the usergroup IIS_IUSRS read-permissions on the application directory

Problem:

  • Exception Could Not Load Type System.ServiceModel.Activation.HttpModule
    • run aspnet_regiis.exe -iru
  • "HTTP-Fehler 500.19 - Internal Server Error: Dieser Konfigurationsabschnitt kann in diesem Pfad nicht verwendet werden. Dies ist der Fall, wenn der Abschnitt auf übergeordneter Ebene gesperrt ist. Die Sperrung erfolgt standardmäßig (overrideModeDefault="Deny") oder wird explizit mit einem location-Tag mit overrideMode="Deny" oder der Legacyeinstellung allowOverride="false" festgelegt."
    Konfigurationsquelle
      139:   <system.webServer>
      140:     <modules runAllManagedModulesForAllRequests="true">
      141:       <add name="HiveServerModule" type="HeuristicLab.Hive.Server.Core.IISModules.HiveServerModule"/>
    
    • Open Visual Studio command prompt as administrator and go to %windir%\system32\inetsrv\config
    • Enter "notepad applicationHost.config"
    • Search for the line
      <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
      
    • Change overrideModeDefault to Allow.

How to update Hive server

Updating the server is as simple as copying the new binaries into the "/bin" folder of the website. Of course changes to the database need to be done accordingly. It is no problem if there are slaves calculating during the update if it takes only a few seconds. If the update lasts longer than one minute ("SlaveHeartbeatTimeout") the slaves will be identified to be timed out as the server goes online again and their jobs will be lost.