Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to run 'opentsdb' as non-root user #45

Open
sandeepk8s opened this issue Nov 3, 2022 · 0 comments
Open

Unable to run 'opentsdb' as non-root user #45

sandeepk8s opened this issue Nov 3, 2022 · 0 comments

Comments

@sandeepk8s
Copy link

sandeepk8s commented Nov 3, 2022

When I run the image 'petergrace/opentsdb-docker' using below command

➜ ~ docker run -dp 4242:4242 -u 100 petergrace/opentsdb-docker

Opentsdb is not accessible at 127.0.0.1:4242 and below are the docker logs. If I just run it as the root user everything works fine. Our k8s clusters have pod security policy and can't run containers as root. Is there any workaround possible ? Could you help with this ?

➜  ~ docker logs ed83aa74b0ab
OpenTSDB config not imported, using defaults.
cp: can't create '/etc/opentsdb/opentsdb.conf': Permission denied
HBase config not imported, using defaults.
cp: can't create '/opt/hbase/conf/hbase-site.xml': File exists
starting hbase and sleeping 15 seconds for hbase to come online
starting hbase
OpenJDK 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /opt/hbase/bin/../logs/SecurityAuth.audit (No such file or directory)
	at java.io.FileOutputStream.open0(Native Method)
	at java.io.FileOutputStream.open(FileOutputStream.java:270)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:133)
	at org.apache.log4j.FileAppender.setFile(FileAppender.java:294)
	at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:207)
	at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165)
	at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307)
	at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172)
	at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104)
	at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:842)
	at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:768)
	at org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:672)
	at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:516)
	at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:580)
	at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526)
	at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
	at org.apache.log4j.Logger.getLogger(Logger.java:104)
	at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:262)
	at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:108)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1025)
	at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:844)
	at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:541)
	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:292)
	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:269)
	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
	at org.apache.hadoop.hbase.regionserver.HRegionServer.<clinit>(HRegionServer.java:216)
2022-11-03 06:32:30,254 INFO  [main] util.VersionInfo: HBase 1.4.4
2022-11-03 06:32:30,257 INFO  [main] util.VersionInfo: Source code repository git://apurtell-ltm4.internal.salesforce.com/Users/apurtell/src/hbase revision=fe146eb48c24d56dbcd2f669bb5ff8197e6c918b
2022-11-03 06:32:30,257 INFO  [main] util.VersionInfo: Compiled by apurtell on Sun Apr 22 20:42:02 PDT 2018
2022-11-03 06:32:30,257 INFO  [main] util.VersionInfo: From source with checksum d61e89b739ba7ddcfb25a30ed5e9cd53
2022-11-03 06:32:31,731 INFO  [main] master.HMasterCommandLine: Starting a zookeeper cluster
2022-11-03 06:32:31,868 INFO  [main] server.ZooKeeperServer: Server environment:zookeeper.version=3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
2022-11-03 06:32:31,868 INFO  [main] server.ZooKeeperServer: Server environment:host.name=ed83aa74b0ab
2022-11-03 06:32:31,868 INFO  [main] server.ZooKeeperServer: Server environment:java.version=1.8.0_252
2022-11-03 06:32:31,868 INFO  [main] server.ZooKeeperServer: Server environment:java.vendor=IcedTea
2022-11-03 06:32:31,869 INFO  [main] server.ZooKeeperServer: Server environment:java.home=/usr/lib/jvm/java-1.8-openjdk/jre
2022-11-03 06:32:31,871 INFO  [main] server.ZooKeeperServer: lengine-6.1.26.jar:/opt/hbase/bin/../lib/jetty-util-6.1.26.jar:/opt/hbase/bin/../lib/joni-2.1.2.jar:/opt/hbase/bin/../lib/jruby-complete-1.6.8.jar:/opt/hbase/bin/../lib/jsch-0.1.54.jar:/opt/hbase/bin/../lib/jsp-2.1-6.1.14.jar:/opt/hbase/bin/../lib/jsp-api-2.1-6.1.14.jar:/opt/hbase/bin/../lib/junit-4.12.jar:/opt/hbase/bin/../lib/leveldbjni-all-1.8.jar:/opt/hbase/bin/../lib/libthrift-0.9.3.jar:/opt/hbase/bin/../lib/log4j-1.2.17.jar:/opt/hbase/bin/../lib/metrics-core-2.2.0.jar:/opt/hbase/bin/../lib/metrics-core-3.1.2.jar:/opt/hbase/bin/../lib/netty-all-4.1.8.Final.jar:/opt/hbase/bin/../lib/paranamer-2.3.jar:/opt/hbase/bin/../lib/protobuf-java-2.5.0.jar:/opt/hbase/bin/../lib/servlet-api-2.5-6.1.14.jar:/opt/hbase/bin/../lib/slf4j-api-1.7.7.jar:/opt/hbase/bin/../lib/slf4j-log4j12-1.7.10.jar:/opt/hbase/bin/../lib/snappy-java-1.0.5.jar:/opt/hbase/bin/../lib/spymemcached-2.11.6.jar:/opt/hbase/bin/../lib/xmlenc-0.52.jar:/opt/hbase/bin/../lib/xz-1.0.jar:/opt/hbase/bin/../lib/zookeeper-3.4.10.jar:
2022-11-03 06:32:31,871 INFO  [main] server.ZooKeeperServer: Server environment:java.library.path=/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64:/usr/lib/jvm/java-1.8-openjdk/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2022-11-03 06:32:31,871 INFO  [main] server.ZooKeeperServer: Server environment:java.io.tmpdir=/tmp
2022-11-03 06:32:31,872 INFO  [main] server.ZooKeeperServer: Server environment:java.compiler=<NA>
2022-11-03 06:32:31,872 INFO  [main] server.ZooKeeperServer: Server environment:os.name=Linux
2022-11-03 06:32:31,881 INFO  [main] server.ZooKeeperServer: Server environment:os.arch=amd64
2022-11-03 06:32:31,881 INFO  [main] server.ZooKeeperServer: Server environment:os.version=5.15.57-0-virt
2022-11-03 06:32:31,881 INFO  [main] server.ZooKeeperServer: Server environment:user.name=?
2022-11-03 06:32:31,881 INFO  [main] server.ZooKeeperServer: Server environment:user.home=?
2022-11-03 06:32:31,881 INFO  [main] server.ZooKeeperServer: Server environment:user.dir=/opt/downloads
2022-11-03 06:32:31,939 INFO  [main] server.ZooKeeperServer: Created server with tickTime 2000 minSessionTimeout 4000 maxSessionTimeout 40000 datadir /tmp/hbase-?/zookeeper/zookeeper_0/version-2 snapdir /tmp/hbase-?/zookeeper/zookeeper_0/version-2
2022-11-03 06:32:31,940 INFO  [main] server.ZooKeeperServer: minSessionTimeout set to -1
2022-11-03 06:32:31,940 INFO  [main] server.ZooKeeperServer: maxSessionTimeout set to -1
2022-11-03 06:32:31,994 INFO  [main] server.NIOServerCnxnFactory: binding to port 0.0.0.0/0.0.0.0:2181
2022-11-03 06:32:32,392 ERROR [main] server.ZooKeeperServer: ZKShutdownHandler is not registered, so ZooKeeper server won't take any action on ERROR or SHUTDOWN server state changes
2022-11-03 06:32:32,413 INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.NIOServerCnxnFactory: Accepted socket connection from /127.0.0.1:43134
2022-11-03 06:32:32,520 INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.ServerCnxn: The list of known four letter word commands is : [{1936881266=srvr, 1937006964=stat, 2003003491=wchc, 1685417328=dump, 1668445044=crst, 1936880500=srst, 1701738089=envi, 1668247142=conf, 2003003507=wchs, 2003003504=wchp, 1668247155=cons, 1835955314=mntr, 1769173615=isro, 1920298859=ruok, 1735683435=gtmk, 1937010027=stmk}]
2022-11-03 06:32:32,520 INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.ServerCnxn: The list of enabled four letter word commands is : [[wchs, stat, stmk, conf, ruok, mntr, srvr, envi, srst, isro, dump, gtmk, crst, cons]]
2022-11-03 06:32:32,520 INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.NIOServerCnxn: Processing stat command from /127.0.0.1:43134
2022-11-03 06:32:32,529 INFO  [Thread-2] server.NIOServerCnxn: Stat command output
2022-11-03 06:32:32,532 INFO  [Thread-2] server.NIOServerCnxn: Closed socket connection for client /127.0.0.1:43134 (no session established for client)
2022-11-03 06:32:32,533 INFO  [main] zookeeper.MiniZooKeeperCluster: Started MiniZooKeeperCluster and ran successful 'stat' on client port=2181
2022-11-03 06:32:32,533 INFO  [main] master.HMasterCommandLine: Starting up instance of localHBaseCluster; master=1, regionserversCount=1
2022-11-03 06:32:33,379 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2022-11-03 06:32:34,403 INFO  [main] regionserver.RSRpcServices: master/ed83aa74b0ab/172.17.0.2:0 server-side HConnection retries=350
2022-11-03 06:32:34,964 INFO  [main] ipc.RpcExecutor: RpcExecutor  name  using fifo as call queue; numCallQueues=3; maxQueueLength=300; handlerCount=30
2022-11-03 06:32:34,971 INFO  [main] ipc.RpcExecutor: RpcExecutor  name  using fifo as call queue; numCallQueues=2; maxQueueLength=300; handlerCount=20
2022-11-03 06:32:34,971 INFO  [main] ipc.RpcExecutor: RpcExecutor  name  using fifo as call queue; numCallQueues=1; maxQueueLength=300; handlerCount=3
2022-11-03 06:32:35,061 INFO  [main] ipc.RpcServer: master/ed83aa74b0ab/172.17.0.2:0: started 10 reader(s) listening on port=41911
2022-11-03 06:32:35,669 INFO  [main] metrics.MetricRegistries: Loaded MetricRegistries class org.apache.hadoop.hbase.metrics.impl.MetricRegistriesImpl
2022-11-03 06:32:36,044 ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMasterjava.lang.NullPointerException: invalid null input: name
	at com.sun.security.auth.UnixPrincipal.<init>(UnixPrincipal.java:71)
	at com.sun.security.auth.module.UnixLoginModule.login(UnixLoginModule.java:133)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
	at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
	at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
	at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
	at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
	at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:815)
	at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:777)
	at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:650)
	at org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:293)
	at org.apache.hadoop.hbase.security.User.getCurrent(User.java:191)
	at org.apache.hadoop.hbase.security.Superusers.initialize(Superusers.java:59)
	at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:590)
	at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:447)
	at org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster.<init>(HMasterCommandLine.java:315)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:139)
	at org.apache.hadoop.hbase.LocalHBaseCluster.addMaster(LocalHBaseCluster.java:227)
	at org.apache.hadoop.hbase.LocalHBaseCluster.<init>(LocalHBaseCluster.java:162)
	at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:225)
	at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:138)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
	at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:127)
	at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2810)

	at org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:143)
	at org.apache.hadoop.hbase.LocalHBaseCluster.addMaster(LocalHBaseCluster.java:227)
	at org.apache.hadoop.hbase.LocalHBaseCluster.<init>(LocalHBaseCluster.java:162)
	at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:225)
	at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:138)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
	at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:127)
	at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2810)
Caused by: java.io.IOException: failure to login
	at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:841)
	at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:777)
	at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:650)
	at org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:293)
	at org.apache.hadoop.hbase.security.User.getCurrent(User.java:191)
	at org.apache.hadoop.hbase.security.Superusers.initialize(Superusers.java:59)
	at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:590)
	at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:447)
	at org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster.<init>(HMasterCommandLine.java:315)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:139)
	... 7 more
Caused by: javax.security.auth.login.LoginException: java.lang.NullPointerException: invalid null input: name
	at com.sun.security.auth.UnixPrincipal.<init>(UnixPrincipal.java:71)
	at com.sun.security.auth.module.UnixLoginModule.login(UnixLoginModule.java:133)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
	at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
	at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
	at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
	at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
	at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:815)
	at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:777)
	at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:650)
	at org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:293)
	at org.apache.hadoop.hbase.security.User.getCurrent(User.java:191)
	at org.apache.hadoop.hbase.security.Superusers.initialize(Superusers.java:59)
	at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:590)
	at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:447)
	at org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster.<init>(HMasterCommandLine.java:315)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:139)
	at org.apache.hadoop.hbase.LocalHBaseCluster.addMaster(LocalHBaseCluster.java:227)
	at org.apache.hadoop.hbase.LocalHBaseCluster.<init>(LocalHBaseCluster.java:162)
	at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:225)
	at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:138)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
	at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:127)
	at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2810)

	at javax.security.auth.login.LoginContext.invoke(LoginContext.java:856)
	at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
	at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
	at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
	at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
	at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:815)
	... 20 more
stopping hbase
/opt/bin/start_hbase.sh: line 1: /var/log/hbase-stop.log: Permission denied
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant