2017-09-02 2 views
1

J'essaie d'interroger mes magasins d'état de la fenêtre locale comme ceci:Kafka magasins d'Etat oublient les anciennes données?

long timeFrom = 0; 
long timeTo = System.currentTimeMillis(); 
WindowStoreIterator<Long> iterator = windowStore.fetch("topic name", timeFrom, timeTo); 

Je reçois seulement environ environ 36 heures de données fenêtrées retour, mais je voudrais aller loin dans le passé.

J'ai essayé de configurer le maintien de plusieurs façons, et aussi redémarré mon serveur kafka et Zookeeper:

dans config/server.properties: log.retention.hours = 87600

bin/kafka- topics.sh --zookeeper zk.yoursite.com --alter --topic topicName --config retention.ms = 86400000

Toujours Kafka ne conserve pas les anciennes données.

Répondre

1

Je pense que vous recherchez la rétention de fenêtre, pas la rétention de journal. Si oui, vous pouvez trouver comment configurer ceci à votre convenance ici http://docs.confluent.io/current/streams/developer-guide.html#windowing

+0

probablement c'est ça, je vais vérifier si cela aide ... – micgn

+0

chose drôle, en définissant cette rétention de fenêtre, les données du passé apparaissent immédiatement - ils ont donc n'a jamais été supprimé, mais n'a pas été récupéré – micgn

+0

ouais c'est la rétention de la fenêtre, donc les données existent toujours dans le journal des modifications à remonter, mais vous devez lui dire d'aller le chercher :) – dawsaw

0

cochez ce paramètre log.retention.bytes pour voir si vous supprimez des données après une certaine taille. La politique de rétention peut également être basée sur la taille.

+0

Lorsque vous consommez en utilisant le consommateur êtes-vous capable de voir les vieilles données? – mrnakumar

+0

le log.retention.bytes n'a pas été défini du tout et je suppose qu'il n'a pas de valeur par défaut. Pour être sûr que je l'ai mis maintenant et verra ce qui se passe ... – micgn

+0

@mrnakumar Je n'ai pas encore vérifié. – micgn