Forum Discussion
Scale-Out Power BI report Server using F5 Load Balancer.
- 8 years ago
Sorry for the link, I corrected it in the post and added here as well.
The point of that URL wasn't about custom authentication per se, but more to show that the location you need to put the machine key is changed with PBIRS. Unfortunatley that's the only place such information is documented correctly on MS site.
And yes, putting the machine key in rsReportserver.config, while is the right place, may not solve your poblem, so you may need to put it in the machine.config of the dotnet.
In any case, my understanding is that using the machine key will solve the view state validation issue. However the MS documentation is not really clear if that is a requirement for PBI type of reports or only applicable to paginated (traditional SSRS) reports. In case of paginated reports, I don't think setting affinity at the load balancer will provide you a fault free solution for view state, so your best bet still would be setting the machine key.
In certain scnearios, you'd need to put an entry on each server host file to point the virtual host name to the IP of that server for PBIRS scale out to work properly.
- Anonymous8 years ago
Issue is resolved.
Isuse was in F5 Load Balancer. Wrong port was configured. We just Change the port to 80 and Its works fine for me.
I did followng Steps.
- add MachineKey inside rsReportServer.config under <configuration> section.
- add <Hostname> reporting.company. com</Hostname> under <Service> section.
- add Root URL <UrlRoot>http:// reporting.company. com/reportserver</UrlRoot>
I appreciate the your support.
Thanks for your reply.
First link https://docs.microsoft.com/en-us/sql/reporting-services/extensions/security-extension/how-to-install is not working and secondly our Organization will not allow custom security.
According to your reply that saving MachineKey inside the rsReportserver.config will not solve our issue.
According to October Release, we can sacle out the PBI Server.
Scale-out
This release supports scale-out. Use a load-balancer and set server affinity for the best experience. Note that the scenario is not yet optimized for scale-out, so you'll see models potentially replicated across multiple nodes. The scenario will work without the Network Load Balancer and sticky sessions. However, you'll not only see an over-use of memory across nodes as the model is loaded N times, but performance will slow in between connections as the model is streamed as it hits a new node in between requests.
Can we go for load-balancer and set server affinity option?
Any other option will be mosted welcomed or we should wait for new release?
Sorry for the link, I corrected it in the post and added here as well.
The point of that URL wasn't about custom authentication per se, but more to show that the location you need to put the machine key is changed with PBIRS. Unfortunatley that's the only place such information is documented correctly on MS site.
And yes, putting the machine key in rsReportserver.config, while is the right place, may not solve your poblem, so you may need to put it in the machine.config of the dotnet.
In any case, my understanding is that using the machine key will solve the view state validation issue. However the MS documentation is not really clear if that is a requirement for PBI type of reports or only applicable to paginated (traditional SSRS) reports. In case of paginated reports, I don't think setting affinity at the load balancer will provide you a fault free solution for view state, so your best bet still would be setting the machine key.
In certain scnearios, you'd need to put an entry on each server host file to point the virtual host name to the IP of that server for PBIRS scale out to work properly.
- Anonymous8 years agoNot applicable
I do following changes in rsReportServer config file.
- Add MachineKey inside in rsReportServer config file under Configuration
- Add hostname <Hostname> reporting.company. com</Hostname>
- Add URL Root as <UrlRoot>http:// reporting.company. com/reportserver</UrlRoot>
I also add MachineKey in Machine.config file at path C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config
Do I needs to change in all framework version?
Anyway all these steps dit not work for me. when I browse the URL of F5 NLB It shows me The Page Can't be displaced.
I also try to add new Web Service URL with the IP of NetWorkLoadBalncer in Configuraion manager. I also try Virtual name of NLB instead of IP. When I restart the service it Give Error in log file as
rshost!rshost!5bd8!01/08/2018-08:19:39:: e ERROR: Failed to register url=http://192.168.1.2:80/ReportServer/ for endpoint 2, error=4be.
rshost!rshost!5bd8!01/08/2018-08:19:39:: i INFO: Currently registered url http://+:80/ReportServer/ on endpoint 2
servicecontroller!DefaultDomain!364!01/08/2018-08:19:39:: e ERROR: Error creating HTTP endpoint. System.Runtime.InteropServices.COMException (0x800704BE): The format of the specified network name is invalid. (Exception from HRESULT: 0x800704BE)According to my understanding Scale out in Power BI report Server is still immature and viewstate is not working. Adding anything inside config files is not an option for us.
So only option looks to me is to configure servers at F5 Load Balancer.
Please suggest further.
- pbx8 years agoHelper V
If the virtual host name (the one registered at F5) is reporting.mycompany.com, then by default you should go to http://reporting.mycompany.com/reports for the portal, http://reporting.mycompany.com wouldn't work for SSRS. Not sure if this is the problem. If not, it's important to know your URL reservations for Report Server Web Service and the application before one can tell what's going on. Also, did you make sure a single server implementation works before attempting scale out.
- Anonymous8 years agoNot applicable
Issue is resolved.
Isuse was in F5 Load Balancer. Wrong port was configured. We just Change the port to 80 and Its works fine for me.
I did followng Steps.
- add MachineKey inside rsReportServer.config under <configuration> section.
- add <Hostname> reporting.company. com</Hostname> under <Service> section.
- add Root URL <UrlRoot>http:// reporting.company. com/reportserver</UrlRoot>
I appreciate the your support.