Unable to install Sonarqube 9.6 on Amazon Linux 2

Hi Team,

on Amazon Linux 2 i tried to config sonarqune 9.7 ver with JDK11,postgresql11 . Sonarqube is not running getting below error.

Could you pls help me

Removed stale pid file: ./SonarQube.pid
2022.12.19 11:26:40 INFO app[o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp
2022.12.19 11:26:40 INFO app[o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:33609]
2022.12.19 11:26:41 INFO app[o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/elasticsearch]: /opt/sonarqube/elasticsearch/bin/elasticsearch
2022.12.19 11:26:41 INFO app[o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2022.12.19 11:26:44 ERROR es[o.e.b.ElasticsearchUncaughtExceptionHandler] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:173) ~[elasticsearch-7.17.5.jar:7.17.5]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:160) ~[elasticsearch-7.17.5.jar:7.17.5]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:77) ~[elasticsearch-7.17.5.jar:7.17.5]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112) ~[elasticsearch-cli-7.17.5.jar:7.17.5]
at org.elasticsearch.cli.Command.main(Command.java:77) ~[elasticsearch-cli-7.17.5.jar:7.17.5]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:125) ~[elasticsearch-7.17.5.jar:7.17.5]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) ~[elasticsearch-7.17.5.jar:7.17.5]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:107) ~[elasticsearch-7.17.5.jar:7.17.5]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:183) ~[elasticsearch-7.17.5.jar:7.17.5]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:434) ~[elasticsearch-7.17.5.jar:7.17.5]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:169) ~[elasticsearch-7.17.5.jar:7.17.5]
… 6 more
uncaught exception in thread [main]
java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:107)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:183)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:434)
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:169)
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:160)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:77)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112)
at org.elasticsearch.cli.Command.main(Command.java:77)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:125)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80)
For complete error details, refer to the log at /opt/sonarqube/logs/sonarqube.log
2022.12.19 11:26:44 WARN app[o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 1
2022.12.19 11:26:44 INFO app[o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2022.12.19 11:26:44 INFO app[o.s.a.SchedulerImpl] SonarQube is stopped
-bash-4.2$ ^C

Hi @preethamsingh and welcome to the community :wave:

As per the requirements you need to run sonarqube as a dedicated user and not as root. See the docs for more information: Prerequisites and overview

Hope that helps

HI,

Actually i am trying from non-root user only.

Well the error message is pretty explicitly disagreeing with that statement :sweat_smile:

Can you share the user that you are trying to use as well as the start command you use (or the systemd service if you are using systemd)?

Hi, Please see the id sonar its not in root. ut still error shows as can not run elasticsearch as root

-bash-4.2$ id sonar
uid=1001(sonar) gid=1001(sonar) groups=1001(sonar)

-bash-4.2$ tail -f /opt/sonarqube/logs/es.log
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112) ~[elasticsearch-cli-7.17.5.jar:7.17.5]
at org.elasticsearch.cli.Command.main(Command.java:77) ~[elasticsearch-cli-7.17.5.jar:7.17.5]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:125) ~[elasticsearch-7.17.5.jar:7.17.5]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) ~[elasticsearch-7.17.5.jar:7.17.5]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:107) ~[elasticsearch-7.17.5.jar:7.17.5]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:183) ~[elasticsearch-7.17.5.jar:7.17.5]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:434) ~[elasticsearch-7.17.5.jar:7.17.5]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:169) ~[elasticsearch-7.17.5.jar:7.17.5]
-bash-4.2$ tail -f /opt/sonarqube/logs/sonar.log
2022.12.21 07:27:53 INFO app[o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2022.12.21 07:27:53 INFO app[o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2022.12.21 07:27:53 INFO app[o.s.a.SchedulerImpl] SonarQube is stopped
2022.12.21 07:30:26 INFO app[o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp
2022.12.21 07:30:26 INFO app[o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:38281]
2022.12.21 07:30:27 INFO app[o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/elasticsearch]: /opt/sonarqube/elasticsearch/bin/elasticsearch
2022.12.21 07:30:27 INFO app[o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2022.12.21 07:30:30 WARN app[o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 1
2022.12.21 07:30:30 INFO app[o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2022.12.21 07:30:30 INFO app[o.s.a.SchedulerImpl] SonarQube is stopped

And how do you start sq? Seems like it is not picking up this user

from this ID i start the sonar.sh its shows started and when i checked the status it shows not running.

tried to reproduce this and failed in doing so. can you try the following?

su sonar && whoami &&  /opt/sonarqube/bin/linux-x86-64/sonar.sh start

and share the output including the new log files?

Now i am getting other error
2022.12.25 12:16:36 INFO app[o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp
2022.12.25 12:16:36 INFO app[o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:34301]
2022.12.25 12:16:36 INFO app[o.s.a.ProcessLauncherImpl] Launch process[[key=‘es’, ipcIndex=1, logFilenamePrefix=es]] from [/opt/sonarqube/elasticsearch]: /opt/sonarqube/elasticsearch/bin/elasticsearch
2022.12.25 12:16:36 INFO app[o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
warning: no-jdk distributions that do not bundle a JDK are deprecated and will be removed in a future release
2022.12.25 12:16:50 INFO app[o.s.a.SchedulerImpl] Process[es] is up
2022.12.25 12:16:50 INFO app[o.s.a.ProcessLauncherImpl] Launch process[[key=‘web’, ipcIndex=2, logFilenamePrefix=web]] from [/opt/sonarqube]: /usr/lib/jvm/java-11-openjdk-11.0.16.0.8-1.amzn2.0.1.x86_64/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/opt/sonarqube/temp -XX:-OmitStackTraceInFastThrow --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/sonar-application-8.9.10.61524.jar:/opt/sonarqube/lib/jdbc/postgresql/postgresql-42.3.3.jar org.sonar.server.app.WebServer /opt/sonarqube/temp/sq-process6818300806302476524properties
Exception in thread “Attach Listener” Agent failed to start!
^X^C
-bash-4.2$ tail -f es.log
2022.12.25 12:16:57 WARN es[stderr] Caused by: java.security.AccessControlException: access denied (“java.lang.RuntimePermission” “accessClassInPackage.jdk.internal.org.objectweb.asm”)
2022.12.25 12:16:57 WARN es[stderr] at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
2022.12.25 12:16:57 WARN es[stderr] at java.base/java.security.AccessController.checkPermission(AccessController.java:897)
2022.12.25 12:16:57 WARN es[stderr] at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:322)
2022.12.25 12:16:57 WARN es[stderr] at java.base/java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1238)
2022.12.25 12:16:57 WARN es[stderr] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:174)
2022.12.25 12:16:57 WARN es[stderr] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
2022.12.25 12:16:57 WARN es[stderr] at Log4jHotPatch.asmVersion(Log4jHotPatch.java:71)
2022.12.25 12:16:57 WARN es[stderr] at Log4jHotPatch.agentmain(Log4jHotPatch.java:93)
2022.12.25 12:16:57 WARN es[stderr] … 6 more
^Z

Actually i started fresh installed with sq ver8.9.10 ,postgresql13

HI,

Please confirm

Its not clear to me if you now have sq up and running or not?

The error you posted seems to be related to the Java installation if I recall correctly. Did you try it with another one? I guess you are now using conetto right