我是新的cassandra用户.我知道有初始令牌配置以及如何生成它.问题是,如果我有一个带有x个节点的存在集群,并且我想添加额外的节点(一个或多个),我是否应该将所有节点重新配置为新的令牌(根据新生成的值)?
或者有更有效的方法来管理这个?
我在ubuntu os上使用cassandra 1.1.2.我在开始时看到以下日志:
INFO 14:42:59,319 JNA not found. Native methods will be disabled.
Run Code Online (Sandbox Code Playgroud)
我发现了这个问题,但我不确定版本,我应该在哪里找到这个文件.
有人可以描述解决此问题的确切步骤.谢谢
我在Cassandra上收到以下警告-这是什么意思?这是一个问题吗?我该如何解决呢?
WARN 15:32:06,772无法锁定JVM内存(ENOMEM)。这可能会导致部分JVM换出,尤其是在启用了mmapped I / O的情况下。增加RLIMIT_MEMLOCK或以root身份运行Cassandra。
WARN 15:33:20,860 MemoryMeter未初始化(jamm未指定为Java代理);假设liveRatio为10.0。通常,这意味着cassandra-env.sh禁用了干扰,因为您使用的是越野车JRE。升级到Sun JRE
我正在使用Cassandra 1.1.2。
我目前正在使用mongodb,我发现查询性能非常差(可能需要几秒钟).方案如下:
我有一个结构文件:
{_id:"xxx", userId:"yyy", a:1 ,b:2, counter:1}
Run Code Online (Sandbox Code Playgroud)
在测试中:
"userId" value could be {1..200,000}
"a" values could be {1..30}
"b" values could be {1}
Run Code Online (Sandbox Code Playgroud)
因此,我的最大尺寸集合将为6,000,000.目前,为此集合定义了两个索引: default _id and useId
业务逻辑查询所有用户条目,然后通过递增计数器来更新一个(查询更新由"_id"写入).此外,如果这是一个新实体,则有一个插入查询.
我在ubuntu上使用mongo 1.8.2和8g ram运行
我有一个主辅助复制(所有mongo运行本地磁盘存储和一个子网与tomcat服务器).当然所有读取都会进入辅助节点并写入主节点.我没有测试分片,因为我认为6,000,000不是一个巨大的收藏,不是吗?
另外,我运行jmetter测试,一次使用不同的userIds生成500个线程请求.
当我运行mongostat时,我看到%锁定非常高(大约70%),大约5-10分钟的加载后,我看到qw(写入队列)是500(作为我打开的连接的数量)当我停止服务器需要mongo大约10-20分钟来完成所有排队的任务
我也运行了db.serverStatus()并解释,结果看起来很好.当我运行db.currentOp()时,我看到等待'write'锁的查询我无法将currentOp的输出文件完全分析,因为我从命令行执行了查询,只有窗口缓冲区尺寸.但是从那里我看到了许多等待写锁的更新(通过_id).
我会感激任何想法.
还有一件事:因为每个查询可能会带来30个文档,我认为可能有不同的moddeling如下:
{_id:"xxx", userId:"123", bs: [{b:1, cs[{c:1, cnt:1}, {c:2, cnt:1}}, {{b:2 cs: [{c:1, cnt:1}]}}]
Run Code Online (Sandbox Code Playgroud)
但是当我尝试这种建模时,我无法增加计数器,我只是没有找到正确的方法来做到这一点.我可以做插入和推芽无法更新以下查询:
db.coll.update({userId:"123", "bs.b":1, "bs.cs.c":1}, {"bs.cs.cnt" : {$inc : 1})
Run Code Online (Sandbox Code Playgroud)
我在查询中有关于非法"点"的错误
我现在很累.等待一些好主意
非常感谢
Julia
我对mongostat中的故障指标有疑问.我在ubuntu上运行mongo 2.0,在raid-0配置中运行2个磁盘(每个32G).
测试加载到mongo 500万用户配置文件.我正在单线程中执行该过程并使用insert(大量的1000个条目).
当我第一次设置mongo 并加载到配置文件中时,我会在加载过程中看到mongostat(2,5,甚至15)中的许多故障.
然后我再次运行加载:首先我放弃旧的集合,然后运行加载.以下几次故障= 0几乎所有时间.
这是为什么?
我想添加/更新以下参数
<property>
<name>mapred.map.tasks.speculative.execution</name>
<value>false</value>
</property>
Run Code Online (Sandbox Code Playgroud)
在hadoop的mapred-site.xml中.如何在不重新启动群集的情况下执行此操作?
我有2个存储库
http://mysnv/svn/proj1/trunk
Run Code Online (Sandbox Code Playgroud)
和
http://mysnv/svn/proj2/trunk
Run Code Online (Sandbox Code Playgroud)
如何将具有历史记录的proj2复制为proj1主干中的文件夹以获得以下结果
http://mysnv/svn/proj1/trunk
Run Code Online (Sandbox Code Playgroud)
其实我想要做的是只有一个SVN存储库的所有内容proj2和历史中的文件夹proj2在http://mysnv/svn/proj1/trunk
这是我正在使用的SVN版本:
svn,版本1.7.8(r1419691)
我找到了这个博客,但svn合并对我来说还不清楚.它在哪里./foo/trunk:proj1?
我的svn文件夹结构是这样的/data/svn/repos/,我没有看到trunk文件夹.
我正在寻找一个命令来制作副本,而不会影响我的主项目proj1.
我正在衡量卡夫卡制片人的制作人员表现.目前我遇到了两个配置和用法不同的客户端:
共同:
def buildKafkaConfig(hosts: String, port: Int): Properties = {
val props = new Properties()
props.put("metadata.broker.list", brokers)
props.put("serializer.class", "kafka.serializer.StringEncoder")
props.put("producer.type", "async")
props.put("request.required.acks", "0")
props.put("queue.buffering.max.ms", "5000")
props.put("queue.buffering.max.messages", "2000")
props.put("batch.num.messages", "300")
props
}
Run Code Online (Sandbox Code Playgroud)
第一客户:
"org.apache.kafka" % "kafka_2.11" % "0.8.2.2"
Run Code Online (Sandbox Code Playgroud)
用法:
val kafkaConfig = KafkaUtils.buildKafkaConfig("kafkahost", 9092)
val producer = new Producer[String, String](new ProducerConfig(kafkaConfig))
// ... somewhere in code
producer.send(new KeyedMessage[String, String]("my-topic", data))
Run Code Online (Sandbox Code Playgroud)
第二位客户:
"org.apache.kafka" % "kafka-clients" % "0.8.2.2"
Run Code Online (Sandbox Code Playgroud)
用法:
val kafkaConfig = KafkaUtils.buildKafkaConfig("kafkahost", 9092)
val producer = new KafkaProducer[String, String](kafkaConfig)
// ... somewhere …Run Code Online (Sandbox Code Playgroud) 我总是从本地文件系统执行作业,如下所示
hadoop jar /home/usr/jar/myjar.jar com.test.TestMain
Run Code Online (Sandbox Code Playgroud)
我如何执行相同的命令,但myjar.jar将位于hdfs中?
就像是
hadoop jar hdfs:///home/usr/jar/myjar.jar com.test.TestMain
Run Code Online (Sandbox Code Playgroud)
但是这当然行不通...
我可能错过了一些东西,但我正在尝试从java运行命令行
代码如下:
String command = "sed -i 's/\\^@\\^/\\|/g' /tmp/part-00000-00000";
ProcessBuilder pb = new ProcessBuilder(command);
pb.redirectErrorStream(true);
Process process = pb.start();
process.waitFor();
if (process.exitValue() > 0) {
String output = // get output form command
throw new Exception(output);
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
java.lang.Exception: Cannot run program "sed -i 's/\^@\^/\|/g' /tmp/part-00000-00000": error=2, No such file or directory
Run Code Online (Sandbox Code Playgroud)
fils存在.我正在这个文件上做它并且它存在.我只是想找到一种方法让它从java开始工作.我究竟做错了什么?
我有以下对象:
// this class is immutable, acts like container for several properties.
public class MyDataAddOps{
private final boolean isActive;
private final Map<String,Object> additionalProps;
public MyDataAddOps(boolean isActive, Map<String,Object> additionalProps){
this.isActive = isActive;
this.additionalProps = additionalProps;
}
public boolean isActive(){return isActive;}
public Map<String,Object> getAdditionalProps(){ return additionalProps;}
}
// this class acts as "spring" bean that calls load on construction,
// and then another scheduler bean calls the load per some cron expression (once a minute for example)
public class MyDataAddOpsService{
private MyDataAddOps …Run Code Online (Sandbox Code Playgroud) 我有java包有Host类和Client类可以反映许多主机
public final class Host {
public final String name;
public final int port;
}
public class SomeClient{...
public Client(Host... hosts) throws Exception {
....
}
Run Code Online (Sandbox Code Playgroud)
我正在编写scala代码来创建这个客户端
// the hosts example is hosts1,host2,host3
def getClient(hosts:String) :SomeClient ={
val default_port:Int = 100
val hostsArr: Array[String] =hosts.split(",")
new Client (hostArr ???)
}
Run Code Online (Sandbox Code Playgroud)
如何将scala数组字符串映射并转换为Host [],以便正确创建客户端?
我正在尝试编写一些简单的生成器,将消息写入kafka我已经下载了kafka0.7
运行kafka服务器,生产者和消费者
> bin/kafka-server-start.sh config/server.properties
> bin/kafka-console-consumer.sh --zookeeper zooserver:2181 --topic test --from-beginning
> bin/kafka-console-producer.sh --zookeeper zooserver:2181 --topic test
Run Code Online (Sandbox Code Playgroud)
一切正常!
然后我创建了简单的消费者,它也有用.
SimpleConsumer consumer = new SimpleConsumer("172.21.110.134", 9092, 10000, 1024000);
…
ByteBufferMessageSet messages = consumer.fetch(fetchRequest);
System.out.println("consumed: " + Utils.toString(msg.message().payload(), "UTF-8"));
Run Code Online (Sandbox Code Playgroud)
但是下面的生产者总是会抛出一个错误
ProducerConfig config = new ProducerConfig(props);
…
Producer<String, Message> producer = new Producer<String, Message>(config);
producer.send(new ProducerData<String, Message>("test", new Message("Hello World".getBytes())));
Run Code Online (Sandbox Code Playgroud)
获得以下异常
Exception in thread "main" java.lang.ClassCastException: kafka.message.Message cannot be cast to java.lang.String
at kafka.serializer.StringEncoder.toMessage(Encoder.scala:30)
at kafka.producer.ProducerPool$$anonfun$send$1$$anonfun$3$$anonfun$apply$1.apply(ProducerPool.scala:107)
Run Code Online (Sandbox Code Playgroud)
我在java代码中使用maven依赖项
<dependency>
<groupId>com.twitter</groupId>
<artifactId>kafka_2.9.2</artifactId>
<version>0.7.0</version>
</dependency> …Run Code Online (Sandbox Code Playgroud) java ×4
cassandra ×3
scala ×3
apache-kafka ×2
hadoop ×2
mongodb ×2
bash ×1
bigdata ×1
concurrency ×1
performance ×1
project ×1
repository ×1
svn ×1