我设置了一个hbase集群来存储来自opentsdb的数据.最近由于重启了一些节点,hbase丢失了表"tsdb".我仍然可以在hbase的主节点页面上,但是当我点击它时,它给了我一个tableNotFoundException
org.apache.hadoop.hbase.TableNotFoundException: tsdb
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:952)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:818)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:782)
at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:249)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:213)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:171)
......
Run Code Online (Sandbox Code Playgroud)
我进入了hbase shell,尝试找到'tsdb'表,但得到了类似的消息
hbase(main):018:0> scan 'tsdb'
ROW COLUMN+CELL
ERROR: Unknown table tsdb!
Run Code Online (Sandbox Code Playgroud)
但是当我试图重新创建这个表时,hbase shell告诉我该表已经存在...
hbase(main):013:0> create 'tsdb', {NAME => 't', VERSIONS => 1, BLOOMFILTER=>'ROW'}
ERROR: Table already exists: tsdb!
Run Code Online (Sandbox Code Playgroud)
我还可以在hbase shell中列出该表
hbase(main):001:0> list
TABLE
tsdb
tsdb-uid
2 row(s) in 0.6730 seconds
Run Code Online (Sandbox Code Playgroud)
看一下日志,我发现这应该是我的问题的原因
2012-05-14 12:06:22,140 WARN org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation: Encountered problems when prefetch META table:
org.apache.hadoop.hbase.TableNotFoundException: Cannot find row in .META. for table: tsdb, row=tsdb,,99999999999999
at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:157)
at …Run Code Online (Sandbox Code Playgroud) 在sbt中为基于specs2的测试执行此操作的方法是
(testOptions in Test) += Tests.Argument(TestFrameworks.Specs2, "html")
Run Code Online (Sandbox Code Playgroud)
但是scalatest怎么样?我做了很多谷歌搜索,但找不到一个好的解释/解决方案.
我不确定这是否是一个错误,所以如果你做这样的事情
// d:spark.RDD[String]
d.distinct().map(x => d.filter(_.equals(x)))
Run Code Online (Sandbox Code Playgroud)
你会得到一个Java NPE.但是如果你collect马上做了distinct,一切都会好的.
我正在使用spark 0.6.1.
我正在尝试收集在编译时使用特定注释的案例类的字段shapeless.我试图玩下面的片段,但它没有按预期工作(输出什么,而不是打印"我").我怎样才能使它工作?
import shapeless._
import shapeless.labelled._
final class searchable() extends scala.annotation.StaticAnnotation
final case class Foo(@searchable i: Int, s: String)
trait Boo[A] {
def print(a: A): Unit
}
sealed trait Boo0 {
implicit def hnil = new Boo[HNil] { def print(hnil: HNil): Unit = () }
implicit def hlist[K <: Symbol, V, RL <: HList](implicit b: Boo[RL]): Boo[FieldType[K, V] :: RL] =
new Boo[FieldType[K, V] :: RL] {
def print(a: FieldType[K, V] :: RL): Unit = {
b.print(a.tail)
}
} …Run Code Online (Sandbox Code Playgroud) 有人知道在hbase中删除行的方法是什么?特别是,我想从.META中删除一行,这可能会导致HBase的TableNotFoundException非常令人沮丧.我抛弃了'.META'的扫描信息.到文件,如下,
scan '.META.'
ROW COLUMN+CELL
tsdb,\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001,1336311752340.7cd0d2205d9ae5fcadf843972ec74ec5. column=info:regioninfo, timestamp=1336311752799, value={NAME => 'tsdb,\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001,1336311752340.7cd0d2205d9ae5fcadf843972ec74ec5.', STARTKEY => '\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001', ENDKEY => '\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001', ENCODED => 7cd0d2205d9ae5fcadf843972ec74ec5,}
tsdb,\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001,1336311752340.7cd0d2205d9ae5fcadf843972ec74ec5. column=info:server, timestamp=1337020364027, value=master.node:60020
tsdb,\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001,1336311752340.7cd0d2205d9ae5fcadf843972ec74ec5. column=info:serverstartcode, timestamp=1337020364027, value=1337020345458
tsdb,\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001,1336513006109.8d66c109dd1446c326050055d3b9cb75. column=info:regioninfo, timestamp=1336513006700, value={NAME => 'tsdb,\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001,1336513006109.8d66c109dd1446c326050055d3b9cb75.', STARTKEY => '\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001', ENDKEY => '\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001', ENCODED => 8d66c109dd1446c326050055d3b9cb75,}
tsdb,\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001,1336513006109.8d66c109dd1446c326050055d3b9cb75. column=info:server, timestamp=1337020363795, value=slave-node-1:60020
tsdb,\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001,1336513006109.8d66c109dd1446c326050055d3b9cb75. column=info:serverstartcode, timestamp=1337020363795, value=1337020346292
tsdb,\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001,1336513006109.83ff68701e075f0a228247ac44862c08. column=info:regioninfo, timestamp=1336513006695, value={NAME => 'tsdb,\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001,1336513006109.83ff68701e075f0a228247ac44862c08.', STARTKEY => '\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001', ENDKEY => '\x00\x00\x11O\xA4\xCF\xF0\x00\x00\x01\x00\x00\x06\x00\x00\x02\x00\x00\x1C\x00\x00\x03\x00\x00\x1D\x00\x00\x05\x00\x001', ENCODED => 83ff68701e075f0a228247ac44862c08,} tsdb,\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001,1336513006109.83ff68701e075f0a228247ac44862c08. column=info:server, timestamp=1337020363923, value=slave-node-2:60020
tsdb,\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001,1336513006109.83ff68701e075f0a228247ac44862c08. column=info:serverstartcode, timestamp=1337020363923, value=1337020346464 …Run Code Online (Sandbox Code Playgroud) 我试图使用python套接字而不是netcat将度量数据发送到OpenTSDB,但没有运气.有人可以告诉我是否可以这样做?
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("hostname", port))
s.send("put foo 123456789 12.9 host=dummy")
Run Code Online (Sandbox Code Playgroud)
s.send(...)返回非零值,所以我猜这个字符串确实被发送了,只是OpenTSDB无法识别它.我试图使用netcat发送相同的字符串,它的工作原理.
我有一个双节点elasticsearch集群,配置为有5个分片和2个副本.在为具有~2M记录的db表编制索引之后,在相应的缓存下生成了124个段.这个数字太大了,我担心它会很容易达到添加更多索引的nofiles的硬限制.
有没有办法减少每个索引的段数?谢谢
我首先安装了gitolite,并添加了一些用户和一些回购,一切都很好.然后我添加了gitweb,并且可以通过apache实例看到repos(只是gitweb,没有gitdaemon).现在出现的问题是我无法再添加新的存储库了.每当我推动更改gitolite-admin conf文件时,日志中总会显示2行
remote: FATAL: git config 'gitweb.description' not allowed
remote: check GIT_CONFIG_KEYS in the rc file
Run Code Online (Sandbox Code Playgroud)
尽管有这两条令人讨厌的线,但每次都会改变conf文件.我试图阻止apache实例,但仍然没有运气:-(
我用谷歌搜索,找不到任何类似的匹配来讨论这个问题.有人可以帮忙吗?非常感谢!
我正在使用haproxy将流量引导到端口A到端口B上运行的服务.当服务停止时,我想让haproxy立即转到钓鱼页面.我查看了haproxy文档,但未能找到我如何实现这一目标.有人可以解决我的问题吗?谢谢!