我们使用s3而不是hdfs在AWS上运行accumulo集群,偶尔我们无法登录shell。我们尝试了不同的群集设置,结果相同,有时会出现问题,我们无法再使用它了。我想知道使用s3是否会导致某些问题。
这是导致WARN的日志:没有平板电脑 服务器:检查zookeeper和accumulo是否正在运行。
我们无法在日志或互联网上看到非常有用的信息
有什么想法吗?
2016-04-13 14:57:56,587 [client.ClientConfiguration]警告:找不到 默认路径中的client.conf。使用默认客户端配置 值。 2016-04-13 14:57:56,591 [client.ClientConfiguration]警告: 在默认路径中找不到client.conf。使用默认客户端 配置值。 2016-04-13 14:57:58,421 [fs.EmrFileSystem] INFO :使用已禁用一致性 com.amazon.ws.emr.hadoop.fs.s3n.S3NativeFileSystem as filesystem 实施2016-04-13 14:57:59,018 [amazonaws.latency]信息: ServiceName = [Amazon S3],StatusCode = [200], ServiceEndpoint = [test-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:59,023 [s3n.S3NativeFileSystem] INFO:listStatus s3:// test-accumulo / instance_id,递归错误2016-04-13 14:57:59,039 [amazonaws.latency]信息:ServiceName = [Amazon S3], 的StatusCode = [200], ServiceEndpoint = [test-accumulo.s3.amazonaws.com] AWSRequestID = [null],HttpClientPoolPendingCount = 0, HttpClientPoolAvailableCount = 1,RequestCount = 1, HttpClientPoolLeasedCount = 0,ResponseProcessingTime = [0.007], ClientExecuteTime = [14.182],HttpClientSendRequestTime = [1.802], HttpRequestTime = [12.222],RequestSigningTime = [0.915], HttpClientReceiveResponseTime = [8.026],2016-04-13 14:57:59,165 [amazonaws.latency] INFO:ServiceName = [Amazon S3],AWSErrorCode = [404 未找到],StatusCode = [404], ServiceEndpoint = [test-accumulo.s3-eu-west-1.amazonaws.com] 例外= [com.amazonaws.services.s3.model.AmazonS3Exception:不是 找到(服务: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:59,309 [amazonaws.latency]信息:ServiceName = [亚马逊 S3],StatusCode = [200], ServiceEndpoint = [test-accumulo.s3.amazonaws.com] AWSRequestID = [4EA22D07E9553B58],HttpClientPoolPendingCount = 0, HttpClientPoolAvailableCount = 2,RequestCount = 1, HttpClientPoolLeasedCount = 0,ResponseProcessingTime = [24.253], ClientExecuteTime = [141.373],HttpClientSendRequestTime = [0.727], HttpRequestTime = [110.592],RequestSigningTime = [0.358], HttpClientReceiveResponseTime = [104.977],2016-04-13 14:57:59,313 [cse.CSEUtils] INFO:无法从中获取作业流ID extraInstanceData.json。设置jobflowId =未知。 2016年4月13日 14:57:59,329 [client.ClientConfiguration]警告:找不到client.conf 在默认路径中。使用默认客户端配置值。 2016-04-13 14:57:59,530 [trace.DistributedTrace] INFO:SpanReceiver org.apache.accumulo.tracer.ZooTraceClient已成功加载。 2016-04-13 14:57:59,577 [impl.ServerClient]警告:没有平板电脑 服务器:检查zookeeper和accumulo是否正在运行。
答案 0 :(得分:0)
是的,我希望用S3运行Accumulo会导致问题。尽管S3具有FileSystem实现,但它的行为与普通文件系统不同。差异的一些例子是我们期望原子的操作在S3中不是原子的,异常可能意味着与我们预期的不同,并且我们假设我们对文件及其元数据的看法是一致的,而不是S3提供的最终一致性。 / p>
如果我们对Accumulo代码进行一些修改,可能会减轻这些问题,但据我所知,没有人尝试在S3上运行Accumulo以找出问题以及这些问题是否可以修复或不
答案 1 :(得分:0)
我们也尝试将accumulo与s3一起使用,感谢@billie为我们提供了这些重要的想法,关于"我们希望原子的操作在S3中不是原子的,你能给我们一些例子吗?也许就像提交WALs一样?
关于一致性,是的,我们看到EMRFS提供了Consistent View,因此,使用这个" Consistent View"会解决一致性问题还是?
并且在Consistent View页面中说,只有通过更新(覆盖放置)和删除操作才能解决一致性问题,这是否可以在文件系统更新和删除期间阻止平板电脑上的请求操作稍微长一点(让它很快离线),以避免一致性问题?也许值得将此选项作为配置属性?
btw ...状态>
如果我们对Accumulo代码进行一些修改,可以减轻问题
真让我们担心......是不是可以解决问题?他们只能减轻?
非常感谢。