最近尝试了下 CDH :
cloudera manager 当前最新版本 5.10
数据库用的是自建的
其他配置都是默认无修改:
启动server 会报错:
2017-03-06 00:02:44,675 ERROR MainThread:com.cloudera.server.cmf.Main: Server failed.
java.lang.IllegalArgumentException: Invalid value set for db.setupType, the valid values are EMBEDDED or EXTERNAL at com.google.common.base.Preconditions.checkArgument(Preconditions.java:92) at com.cloudera.server.cmf.components.EmbeddedDbManager.isCmUsingEmbeddedDb(EmbeddedDbManager.java:275) at com.cloudera.server.cmf.components.EmbeddedDbManager.checkEmbeddedDbSetup(EmbeddedDbManager.java:243) at com.cloudera.server.cmf.Main.<init>(Main.java:306) at com.cloudera.server.cmf.Main.main(Main.java:216)2017-03-06 00:02:44,688 INFO Thread-11:org.springframework.context.support.ClassPathXmlApplicationContext: Closing ApplicationContext 'rootContext': startup date [Mon Mar 06 00:02:23 CST 2017]; parent: org.springframework.context.support.GenericApplicationContext@5c0ad75b
2017-03-06 00:02:44,859 ERROR ParcelUpdateService:com.cloudera.parcel.components.ParcelDownloaderImpl: Unable to retrieve remote parcel repository manifest java.util.concurrent.ExecutionException: java.net.ConnectException: Task org.jboss.netty.util.internal.DeadLockProofWorker$1@26318340 rejected from java.util.concurrent.ThreadPoolExecutor@7c9ff256[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0] to https://archive.cloudera.com/cdh5/parcels/5.10/manifest.json at com.ning.http.client.providers.netty.NettyResponseFuture.abort(NettyResponseFuture.java:297) at com.ning.http.client.providers.netty.NettyConnectListener.operationComplete(NettyConnectListener.java:104) at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:399) at org.jboss.netty.channel.DefaultChannelFuture.addListener(DefaultChannelFuture.java:145) at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.doConnect(NettyAsyncHttpProvider.java:1041) at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.execute(NettyAsyncHttpProvider.java:858) at com.ning.http.client.AsyncHttpClient.executeRequest(AsyncHttpClient.java:512) at com.ning.http.client.AsyncHttpClient$BoundRequestBuilder.execute(AsyncHttpClient.java:234) at com.cloudera.parcel.components.ParcelDownloaderImpl.getRepositoryInfoFuture(ParcelDownloaderImpl.java:534) at com.cloudera.parcel.components.ParcelDownloaderImpl.getRepositoryInfo(ParcelDownloaderImpl.java:492) at com.cloudera.parcel.components.ParcelDownloaderImpl.syncRemoteRepos(ParcelDownloaderImpl.java:344) at com.cloudera.parcel.components.ParcelDownloaderImpl$1.run(ParcelDownloaderImpl.java:416) at com.cloudera.parcel.components.ParcelDownloaderImpl$1.run(ParcelDownloaderImpl.java:411) at com.cloudera.cmf.persist.ReadWriteDatabaseTaskCallable.call(ReadWriteDatabaseTaskCallable.java:36) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.net.ConnectException: Task org.jboss.netty.util.internal.DeadLockProofWorker$1@26318340 rejected from java.util.concurrent.ThreadPoolExecutor@7c9ff256[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0] to https://archive.cloudera.com/cdh5/parcels/5.10/manifest.json at com.ning.http.client.providers.netty.NettyConnectListener.operationComplete(NettyConnectListener.java:100) ... 16 more Caused by: java.util.concurrent.RejectedExecutionException: Task org.jboss.netty.util.internal.DeadLockProofWorker$1@26318340 rejected from java.util.concurrent.ThreadPoolExecutor@7c9ff256[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0] at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2048) at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821) at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372) at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.register(NioClientSocketPipelineSink.java:201) at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:152) at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:102) at org.jboss.netty.handler.ssl.SslHandler.handleDownstream(SslHandler.java:467) at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:55) at org.jboss.netty.handler.codec.http.HttpClientCodec.handleDownstream(HttpClientCodec.java:97) at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleDownstream(ChunkedWriteHandler.java:108) at org.jboss.netty.channel.Channels.connect(Channels.java:642) at org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:204) at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:230) at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:183) at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.doConnect(NettyAsyncHttpProvider.java:999) ... 13 more
原因:
从 5.9版本开始
db配置文件里面多了一项配置:
com.cloudera.cmf.db.setupType
EMBEDDED表示用自带的数据库 (如果是rpm安装包 需要选择用带db名字的server包)
EXTERNAL 表示用自建的 必须得指定这个参数
Invalid value set for db.setupType, the valid values are EMBEDDED or EXTERNAL
解决办法:
1.干脆直接注释掉这个参数
2.或者选择 com.cloudera.cmf.db.setupType=EXTERNAL