Checked instalation of jasperreports-server-cp-5.5.0-linux-x64-installer.run on new Amazon Linux 64 bit system everything vent smooth how to do that: loging to EC2 using "ec2-user" account via ssh change folder where you want to download package "cd /tmp" download package to current folder "wget URL_FOR_DOWNLOAD" change permissions on file for execution "chmod ugo=rwx jasperreports-server-cp-5.5.0-linux-x64-installer.run" execute installer with elevated permissions" "sudo ./jasperreports-server-cp-5.5.0-linux-x64-installer.run" folow instalation instructions after succesfull install run installed tomcat with elevated permissions "cd /opt/jasperreports-server-cp-5.5.0/" "sudo ./ctlscript.sh start" make sure you have port 8080 allowed in AWS "EC2 Security Group" open browser and point to instance http://DNS_NAME:8080/jasperserver enjoy.
i was trying to reproduce your ptoblem - but everything works, if you still need help - include "/opt/jasperreports-server-cp-5.5.0/installation.log" file
Ok i was abble to reproduce your error Cause: absent "anonymousUser" it`s known JRS bug. howto resolve it: Login to AWS JRS Instance using ssh Stop tomcat "sudo service tomcat7 stop" change working folder to buildomatic "cd /usr/share/jrs_dist/jasperreports-server.................../buildomatic" Execute import of sample resources "sudo ./js-import.sh --input-zip ./install_resources/export/js-catalog-postgresql-pro.zip" this command will import all resources which was deleted after initial state, if resource already exist - it will skip it (no worries to overwrite something) Start Tomcat "sudo service tomcat7 start" wait 1-2 minutes, try to open JRS UI Hope this help. Please report your Results.
let me clarify little bit parts which are involved in AWS Datasource setup
there are 3 parts:
1 - AWS RDS discovery (Add functionality to discover RDS Databases, endpoints, main databases, master user names )
2 - AWS RDS Security Setup/Recovery (Add fuctionality to automaticaly setup AWS Security layer or in case of instance IP change - recovery it)
3 - DataSource Connection setup (JDBC URL) (use AWS RDS discovery to generate JDBC URL)
ROLE or AWS Keys are used only for Discovery and Automatic Security setuprecovery
and they can be disabled or manualy controlled in ManageServer SettingsAWS Settings
i see in your setup you was trying to setup security manualy and automaticaly by JRS.
I look at you log and main cause is : Caused by: org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
so JRS cannot connect to RedShift endpoint - connection refused
possible causes:
1 - Error in AWS VPC Security Layer setup
2 - JRS instance use incorrect instance IP Address to setup security automaticaly
3 - JRS cannot resolve RedShift Endpoint (or resolving it incorrectly)
4 - RedShift instance is dead or malfunction
how to detect problem:
you must login to JRS instance using ssh.
easiest way to check if you can connect to your database from JRS instance is to use "telnet"
by default telnet is not present in AWS JRS instance to install it excute "sudo yum -y install telnet"
execute command "telnet database_dns_name port_number", if you get black screen in responce - connection was successfull
so if this test is successfull - JRS must connect to database
if not then try to check every possible cause
cause 1 - only manualy
cause 2 - you can check Security group which was created by JRS - it should contain in your case JRS internal VPC ip address
cause 3 - try to execute command "nslookup database_dns_name" - it should be resolved to Database internal VPC address
cause 4 - check connection from other tool, client, etc ...
BTW you was mentioning your JRS use public DNS
that could cause problems because you instances inside of VPC
usualy instance in VPC have 1 internal IP
or 2 IP addresses - one for ussage in VPC another for ussage outside of VPC
and if you use AWS DNS service - endpoint will be determined correctly
inside of vpc it will resolve to internal VPC address,
outside of VPC to Public IP address - if it`s assigned to instance,
but if you use public DNS service then endpoint will always resolve as Public IP if instance have one
if instance inside VPC don`t have Public IP then Public DNS will not resolve endpoint, or resolve it incorrectly.
to workaround this problem try substitute database_dns_name with internal database IP in VPC.
i hope this instruction will help you - if not, send more details about:
VPC setup, ElasticIPs ussage, VPC Network configuration, internal IP`s, resolved database endpoint etc
but keep in mind this conversation is publicaly available - so no sensitive data :-)