我们在AWS上使用s3而不是hdfs运行accumulo集群,偶尔我们无法再登录shell。我们尝试了不同的集群设置,但结果相同,有时会出现故障,无法再使用它。我想知道使用s3是否会引起一些问题。
这是导致警告的日志:没有平板电脑服务器:检查zookeeper和accumulo是否正在运行。
我们在日志或互联网上都看不到非常有用的信息
有什么想法吗?
2016-04-13 14:57:56587〔client.ClientConfiguration〕警告:未找到默认路径中的client.conf。使用默认客户端配置价值观2016-04-13 14:57:56591〔客户端配置〕警告:在默认路径中找不到client.conf。使用默认客户端配置值。2016-04-13 14:57:58421[fs.EmrFileSystem]信息:一致性已禁用,使用com.amazon.ws.emr.hadoop.fs.s3n.S3NativeFileSystem作为文件系统实施2016-04-13 14:57:59018〔amazonaws.latency〕信息:ServiceName=[亚马逊S3]、StatusCode=[200],ServiceEndpoint=[测试accumulo.s3.amazonaws.com],AWSRequestID=[null],HttpClientPoolPendingCount=0,HttpClientPoolAvailableCount=0,RequestCount=1,HttpClientPoolLeasedCount=0,ResponseProcessingTime=[1.219],ClientExecuteTime=[347.47],HttpClientSendRequestTime=[2.211],HttpRequestTime=[247.724],RequestSigningTime=[38.773],HttpClientReceiveResponseTime=[32.567],2016-04-13 14:57:59023[s3n.S3NativeFileSystem]信息:列表状态s3://test accumulo/instance_id with recursive false 2016-04-1314:57:59039[amazonaws.latency]信息:ServiceName=[Aamazon S3],StatusCode=[200],ServiceEndpoint=[测试accumulo.s3.amazonaws.com],AWSRequestID=[null],HttpClientPoolPendingCount=0,HttpClientPoolAvailableCount=1,RequestCount=1,HttpClientPoolLeasedCount=0,ResponseProcessingTime=[0007],ClientExecuteTime=[14.182],HttpClientSendRequestTime=[1.802],HttpRequestTime=[12.22],RequestSigningTime=[0.915],HttpClientReceiveResponseTime=[8.26],2016-04-13 14:57:59165[aamazonaws.latency]信息:ServiceName=[Aamazon S3],AWSErrorCode=[404未找到],StatusCode=[404],ServiceEndpoint=[测试accumulo.s3-eu-west-1.amazonaws.com],异常=[com.amazonaws.services.s3.model.AmazonS3异常:不已找到(服务:Amazon S3;状态代码:404;错误代码:404未找到建立请求ID:5AF8579AA42CF9BE),S3扩展请求ID:hOWVSRu+ukai8IMHUvBbnQzGp3SvhXgHRiqzIzGrwJKhiJLRTM3+i4JiawJg7eFH1vk4mbPrKW8=],AWSRequestID=[5AF8579AA42CF9BE],HttpClientPoolPendingCount=0,HttpClientPoolAvailableCount=1,RequestCount=1,Exception=1,HttpClientPoolLeasedCount=0,ClientExecuteTime=[125.731],HttpClientSendRequestTime=[1.991],HttpRequestTime=[118.59],RequestSigningTime=[0.276],HttpClientReceiveResponseTime=[36.485],2016-04-13 14:57:59309〔amazonaws.latency〕信息:ServiceName=〔亚马逊S3]、StatusCode=[200],ServiceEndpoint=[测试accumulo.s3.amazonaws.com],AWSRequestID=[4EA22D07E9553B58],HttpClientPoolPendingCount=0,HttpClientPoolAvailableCount=2,RequestCount=1,HttpClientPoolLeasedCount=0,ResponseProcessingTime=[24.253],ClientExecuteTime=[141.373],HttpClientSendRequestTime=[7.727],HttpRequestTime=[110.592],RequestSigningTime=[0.358],HttpClientReceiveResponseTime=[104.977],2016-04-13 14:57:59313[cse.CSEUtils]信息:无法从获取作业流IdextraInstanceData.json。正在设置jobflowId=未知。2016年4月13日14:57:59329[client.ClientConfiguration]警告:未找到client.conf在默认路径中。使用默认的客户端配置值。2016-04-13 14:57:59530〔trace.DistributedTrace〕信息:SpanReceiverorg.apache.accumulo.tracer.ZooTraceClient已成功加载。2016-04-13 14:57:59577〔impl.ServerClient〕警告:没有平板电脑服务器:检查zookeeper和accumulo是否正在运行。
是的,我预计使用S3运行Accumulo会导致问题。即使S3有一个FileSystem实现,它的行为也不像普通的文件系统。差异的一些例子是,我们期望的原子操作在S3中不是原子操作,异常可能意味着与我们期望的不同,我们假设我们对文件及其元数据的看法是一致的,而不是S3提供的最终一致性。
如果我们对Accumulo代码进行一些修改,这些问题可能会得到缓解,但据我所知,没有人尝试在S3上运行Accumulo来找出问题,以及这些问题是否可以修复。
我们也尝试在s3中使用accumulo,感谢@billie给我们这些重要的想法,关于"我们希望在s3中是原子的操作不是原子的",你能给我们举个例子吗?也许是类似于承诺WAL的事情?
关于一致性,是的,我们看到EMRFS提供了一致性视图,所以,使用这种"一致性视图"将解决一致性问题,还是?
在"一致性视图"页面中,它说,只有更新(覆盖放置)和删除操作才会出现一致性问题,这是否可能在文件系统更新和删除操作期间在平板电脑上阻止请求的时间稍微长一点(让它很快离线),以避免一致性问题?也许值得将此选项作为配置属性?
顺便说一句。。。状态>
如果我们对Accumulo代码进行一些修改,问题可以得到缓解
真的让我们担心。。。难道不可能解决这个问题吗?他们只能得到缓解吗?
非常感谢。