小编Res*_*hef的帖子

如何获得C*集群的复制因子?

我无法在cassandra.yaml中找到它,也许nodetool可以获得我的集群配置的复制因子?

复制因子的默认值是多少?

cassandra nodetool

11
推荐指数
3
解决办法
2万
查看次数

为什么Cassandra集群需要在节点之间同步时钟?

Cassandra DataStax介绍过程中,他们说必须同步Cassandra集群节点的所有时钟,以防止READ查询"旧"数据.

如果一个或多个节点关闭,他们无法获得更新,但只要他们再次备份 - 他们会更新并且没有问题......

那么,为什么Cassandra集群需要在节点之间同步时钟?

cassandra

9
推荐指数
1
解决办法
3218
查看次数

Spark joinWithCassandraTable()在地图上有多个分区键ERROR

我试图通过使用以下方法过滤大型Cassandra表的一小部分:

val snapshotsFiltered = sc.parallelize(startDate to endDate).map(TableKey(_2)).joinWithCassandraTable("listener","snapshots_test_b")
Run Code Online (Sandbox Code Playgroud)

我想映射cassandra表中作为分区键的一部分的'created'列中的行.

我的表键(表的分区键)定义为:

case class TableKey(imei: String, created: Long, when: Long)
Run Code Online (Sandbox Code Playgroud)

结果是错误:

[error] /home/ubuntu/scala/test/test.scala:61:没有足够的方法适用于方法:( imei:String,created:Long)test.TableKey in object TableKey.[error]已创建未指定的值参数.[error] val snapshotsFiltered = sc.parallelize(startDate to endDate).map(TableKey(_2)).joinWithCassandraTable("listener","snapshots_test_b")[error] ^ [error]发现一个错误[error](编译:编译) )编译失败

它只与文档中的分区键中的一个对象一起使用.

为什么多分区密钥有问题? - 已回答.

编辑:我试图以正确的形式使用joinWithCassandraTable:

val snapshotsFiltered = sc.parallelize(startDate to endDate).map(TableKey("*",_,startDate)).joinWithCassandraTable("listener","snapshots_test_c")
Run Code Online (Sandbox Code Playgroud)

当我试图在Spark上运行时没有错误,但它永远停留在"[阶段0:>(0 + 2)/ 2]"

出了什么问题?

scala cassandra datastax-enterprise apache-spark

6
推荐指数
1
解决办法
1417
查看次数

在TimeStamp分区键STUCK上Spark SparkWithCassandraTable

我试图通过使用以下方法过滤大型C*表的一小部分:

    val snapshotsFiltered = sc.parallelize(startDate to endDate).map(TableKey(_)).joinWithCassandraTable("listener","snapshots_tspark")

    println("Done Join")
    //*******
    //get only the snapshots and create rdd temp table
    val jsons = snapshotsFiltered.map(_._2.getString("snapshot"))
    val jsonSchemaRDD = sqlContext.jsonRDD(jsons)
    jsonSchemaRDD.registerTempTable("snapshots_json")
Run Code Online (Sandbox Code Playgroud)

附:

    case class TableKey(created: Long) //(created, imei, when)--> created = partititon key | imei, when = clustering key
Run Code Online (Sandbox Code Playgroud)

cassandra表模式是:

CREATE TABLE listener.snapshots_tspark (
created timestamp,
imei text,
when timestamp,
snapshot text,
PRIMARY KEY (created, imei, when) ) WITH CLUSTERING ORDER BY (imei ASC, when ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = …
Run Code Online (Sandbox Code Playgroud)

mysql scala cassandra datastax-enterprise apache-spark

6
推荐指数
1
解决办法
480
查看次数

从C*表中获取不同的分区键

cqlsh不允许嵌套查询,所以我不能选择导出数据到CSV ..我想选择的数据(约200,000行与一列)使用卡桑德拉出口:

echo "SELECT distinct imei FROM listener.snapshots;" > select.cql bin/cqlsh -f select.cql > output.txt

它只是永远没有任何错误,并且文件没有增长.

如果我在最后一行使用strace,我会得到很多行:

select(0, NULL, NULL, NULL, {0, 2000})  = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 4000})  = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 8000})  = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 16000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 32000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 1000})  = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 2000})  = 0 (Timeout) …
Run Code Online (Sandbox Code Playgroud)

cassandra datastax-enterprise cqlsh

6
推荐指数
1
解决办法
1180
查看次数

Cassandra Compaction vs Repair vs Cleanup

在发布问题并阅读本文那些文章之后,我仍然不理解这三个操作之间的关系 -

  • 卡桑德拉压实任务
  • nodetool修复
  • nodetool清理

是否可以在压缩任务运行时处理修复任务,还是在压缩任务运行时进行清理?清理是一项需要每周执行修复的操作吗?为什么修复操作需要手动执行,而不是Cassandra默认行为?

健康集群维护的基本规则是什么?

cassandra nodetool cassandra-2.1

6
推荐指数
1
解决办法
4855
查看次数

Django在管理模型中显示related_name对象

我有以下型号:

class A(models.Model):
    name = models.CharField(max_length=100)
    c = models.ForeignKey(C, related_name='letters_c', null=True, blank=True)
    ...


class B(models.Model):
    id= models.CharField(max_length=200, blank=False, default="")
    a = models.ForeignKey(A, related_name='letters_a', default=0)
    ...
Run Code Online (Sandbox Code Playgroud)

使用以下管理员:

class AAdmin(admin.ModelAdmin):
    fields = ['name', 'c', 'letters_a']
    list_display = ['name']
    ordering = ['name']
Run Code Online (Sandbox Code Playgroud)

我有一个错误

'letters_a' not found.
Run Code Online (Sandbox Code Playgroud)

我想我不完全理解外键和它们在Django模型中的表示之间的逻辑。

我希望能够添加/编辑并在Django admin中看到类A letters_arelated_name对象。

我该怎么做?

django django-models django-admin

6
推荐指数
1
解决办法
2113
查看次数

如何使用连接池在Spark中进行Postgresql

我有一个spark(1.2.1 v)作业,使用scala的 postgresql.Driver将rdd的内容插入到postgres中:

rdd.foreachPartition(iter => {

        //connect to postgres database on the localhost
        val driver = "org.postgresql.Driver"
        var connection:Connection = null
        Class.forName(driver)
        connection = DriverManager.getConnection(url, username, password)
        val statement = connection.createStatement()

        iter.foreach(row => {
            val mapRequest = Utils.getInsertMap(row)
            val query = Utils.getInsertRequest(squares_table, mapRequest)

            try { statement.execute(query) } 
            catch {
                case pe: PSQLException => println("exception caught: " + pe);
            }
        })
        connection.close()
})
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我为rdd的每个分区打开了到postgres的新连接,然后关闭它。我认为,以正确的方式去将是使用连接池,Postgres的,我可以从连接(如描述在这里),但它只是伪代码:

rdd.foreachPartition { partitionOfRecords =>
// ConnectionPool is a static, lazily initialized pool of connections …
Run Code Online (Sandbox Code Playgroud)

postgresql scala apache-spark

5
推荐指数
1
解决办法
1266
查看次数

集群卡在高堆使用率上

我有Elasticsearch v 2.2.0 集群、1 个节点、4g 堆大小、7g RAM、2 个 cpu 核心、401 个索引、1,873 个分片、107,780,287 个文档,总数据 70.19GB

我还配置了index.fielddata.cache.size: 40%

问题是当我使用 Kibana 查询某些东西(非常简单的查询)时,如果它是单个查询它工作正常,但如果我继续查询更多 - 弹性变得如此缓慢并最终卡住,因为 JVM 堆使用率(来自 Marvel)正在达到 87-95%。当我尝试加载一些 Kibana 仪表板时也会发生这种情况,这种情况的唯一解决方案是重新启动弹性服务或清除所有缓存

为什么堆会这样卡住?

编辑:

_node/stats 当堆被卡住时

_node/stats 当集群处于正常状态时

编辑2:

为了更好地理解这个问题,我分析了内存转储。这个分析是在集群尝试一些 Kibana 查询之后执行的:

在此处输入图片说明

问题嫌疑人1: 在此处输入图片说明

问题嫌疑人2: 在此处输入图片说明

问题嫌疑人3: 在此处输入图片说明

在某些索引中,我确实有 _ttl 的设置不起作用(_ttl 设置为 4 周,但文档仍在那里......)。从那以后,我更改了默认映射,但没有删除“不工作 ttl”索引。

这可能是主要问题吗?

elasticsearch

5
推荐指数
1
解决办法
3094
查看次数

Python Flask - 如何通过 cookie/session 记住匿名用户?

我正在构建一个 Flask 网站,它是研究实验的一部分。我需要能够记住匿名用户,这样我网站的每个访问者都将是匿名且独一无二的,但也会被记住,这样他们就无法再次进入该网站(他们将重定向到“感谢您的参与”页面) .

我该怎么做?我查看了flask.session(如何生成唯一的匿名ID并将其保存到用户cookie?)和Flask-login(必须与用户登录才能获取ID)但没有找到这个问题的具体解决方案。

请帮忙。

python session-cookies flask

5
推荐指数
1
解决办法
1304
查看次数

如何从正在运行的 JVM 中捕获堆转储

我有一个在 ec2 amazon 服务器上运行的 Elasticsearch 集群。如本文所述,从正在运行的 JVM 捕获堆转储的方法是使用 jmap:

sudo jmap -dump:format=b,file=heap.hprof {processID}
Run Code Online (Sandbox Code Playgroud)

错误:{processID}:已知文件不安全

Jmap 需要运行该进程的用户,所以我必须执行如下命令:

sudo -u elasticsearch jmap -dump:format=b,file=heap.hprof {processID}
Run Code Online (Sandbox Code Playgroud)

错误:

将堆转储到 /home/ubuntu/heap.hprof ...

没有权限

所以我想我必须像这样使用 jmap:

sudo -u elasticsearch sh -c "sudo jmap -dump:format=b,file=heap.hprof {processID}"
Run Code Online (Sandbox Code Playgroud)

[sudo] 弹性搜索密码:

什么是elasticsearch用户密码?有一些默认值吗?我没有找到任何解决方案...

jvm amazon-ec2 elasticsearch

4
推荐指数
1
解决办法
3010
查看次数

如何获得C*集群的压缩策略?

文档中,它说SizeTieredCompactionStrategy(STCS)是默认的压缩策略.

如何获得群集的实际压缩策略?

cassandra nodetool

3
推荐指数
1
解决办法
890
查看次数