Database Administrators
Q&A for database professionals who wish to improve their database skills
Latest Questions
0
votes
0
answers
36
views
How to setup continuous DB replication from one MS SQL server to another MS SQL server without reconfiguring source machine?
I am looking for a way to set up continuous data replication between one Microsoft SQL Server to another Microsoft SQL Server both in AWS. The source tables are updated continuously. The challenge here is that I don't want to enable CDC on the source DB.
I am looking for a way to set up continuous data replication between one Microsoft SQL Server to another Microsoft SQL Server both in AWS. The source tables are updated continuously. The challenge here is that I don't want to enable CDC on the source DB.
praloy infinios
(1 rep)
Apr 9, 2025, 07:48 AM
-1
votes
1
answers
409
views
io.debezium.DebeziumException: Client requested master to start replication from impossible position
I am using Kafka and Debezium to connect to a MariaDB I have a problem where in the event the MariaDB loses power and shutsdown abruptly, on restart Debezium is no longer able to connect I have this error in particular ``` [2023-12-06 13:26:05,800] ERROR [192.168.108.1|task-0] Error during binlog pr...
I am using Kafka and Debezium to connect to a MariaDB
I have a problem where in the event the MariaDB loses power and shutsdown abruptly, on restart Debezium is no longer able to connect
I have this error in particular
[2023-12-06 13:26:05,800] ERROR [192.168.108.1|task-0] Error during binlog processing. Last offset stored = null, binlog reader near position = mariadb-bin.000006/53938 (io.debezium.connector.mysql.MySqlStreamingChangeEventSource:1161)
io.debezium.DebeziumException: Client requested master to start replication from impossible position; the first event 'mariadb-bin.000006' at 53938, the last event read from 'mariadb-bin.000006' at 4, the last byte read from 'mariadb-bin.000006' at 4. Error code: 1236; SQLSTATE: HY000.
And on the mariadb side i have this
+--------------------+-----------+
| Log_name | File_size |
+--------------------+-----------+
| mariadb-bin.000001 | 330 |
| mariadb-bin.000002 | 330 |
| mariadb-bin.000003 | 67494 |
| mariadb-bin.000004 | 69007 |
| mariadb-bin.000005 | 126922 |
| mariadb-bin.000006 | 45056 |
| mariadb-bin.000007 | 103304 |
+--------------------+-----------+
7 rows in set (0.001 sec)
MariaDB [(none)]> show master status;
+--------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+------------------+
| mariadb-bin.000007 | 103304 | | |
+--------------------+----------+--------------+------------------+
1 row in set (0.000 sec)
I have tried resetting offsets on Kafka side of things but I get the exact same error without fail, does anyone know why exactly there is a problem and how to resolve things? All help appreciated thanks so much!
RedRum69
(1 rep)
Dec 6, 2023, 06:39 PM
• Last activity: Mar 15, 2025, 12:09 AM
0
votes
2
answers
51
views
Cassandra and Prometheus communication over docker compose
I am sorry to come back to this point, but it's still unsolved. Let me introduce the scenario. Working on Linux machine (3.10.0-1160.el7.x86_64), I am using docker compose to deploy different containers such as cassandra, kafka, prometheus, grafana, etc... After deploying the docker compose file, al...
I am sorry to come back to this point, but it's still unsolved. Let me introduce the scenario. Working on Linux machine (3.10.0-1160.el7.x86_64), I am using docker compose to deploy different containers such as cassandra, kafka, prometheus, grafana, etc... After deploying the docker compose file, all the containers look running:
docker ps --format "{{.Names}}: {{.Status}}"
jenkins-schema-registry-1: Up 41 minutes
jenkins-broker-1: Up 41 minutes
jenkins-storage-1: Up 41 minutes
jenkins-prometheus-1: Up 41 minutes
jenkins-acs-1: Up 41 minutes
jenkins-zookeeper-1: Up 41 minutes
jenkins-logaggregator-1: Up 41 minutes
jenkins-grafana-1: Up 41 minutes
jenkins-loki-1: Up 41 minutes
jenkins-promtail-1: Up 41 minutes
jenkins-sql_acadacdb-1: Up 41 minutes (healthy)
jenkins-opcuasimulatoraas-1: Up 41 minutes
jenkins-opcuasimulatormon-1: Up 41 minutes
jenkins-logsimulator-1: Up 41 minutes
jenkins-hmi_redis-1: Up 41 minutes
jenkins-mysql-1: Up 41 minutes (healthy)
jenkins-mongo-1: Up 41 minutes
In detail, here is the network configuration:
docker ps --format "{{.ID}}: {{.Names}} -> {{.Networks}}"
bef94007b3cc: jenkins-schema-registry-1 -> jenkins_monitoring
8c5dd97de847: jenkins-broker-1 -> jenkins_monitoring
525a4d21f146: jenkins-storage-1 -> jenkins_monitoring
790f5a91013b: jenkins-prometheus-1 -> jenkins_monitoring
cd1e964deed8: jenkins-acs-1 -> jenkins_default
315859268aa9: jenkins-zookeeper-1 -> jenkins_monitoring
a7229f21f3c5: jenkins-logaggregator-1 -> jenkins_monitoring
8ee8483ad5a0: jenkins-grafana-1 -> jenkins_monitoring
29f552f4d239: jenkins-loki-1 -> jenkins_loki-net,jenkins_monitoring
c08294688cec: jenkins-promtail-1 -> jenkins_loki-net,jenkins_monitoring
e3cf072659f0: jenkins-sql_acadacdb-1 -> jenkins_default
cb78b00c13fe: jenkins-opcuasimulatoraas-1 -> jenkins_default
01d046b685c8: jenkins-opcuasimulatormon-1 -> jenkins_default
7a978478f082: jenkins-logsimulator-1 -> jenkins_default
cd981c617974: jenkins-hmi_redis-1 -> jenkins_default
0ef9bee718a4: jenkins-mysql-1 -> jenkins_default
6cc8588a3910: jenkins-mongo-1 -> jenkins_default
And the exposed ports for each container:
docker ps --format "{{.ID}}: {{.Names}} -> {{.Ports}}"
bef94007b3cc: jenkins-schema-registry-1 -> 0.0.0.0:32800->8081/tcp, :::32800->8081/tcp
8c5dd97de847: jenkins-broker-1 -> 0.0.0.0:7072->7072/tcp, :::7072->7072/tcp, 0.0.0.0:9091->9091/tcp, :::9091->9091/tcp, 9092/tcp
525a4d21f146: jenkins-storage-1 -> 0.0.0.0:7000-7001->7000-7001/tcp, :::7000-7001->7000-7001/tcp, 0.0.0.0:7199->7199/tcp, :::7199->7199/tcp, 0.0.0.0:9042->9042/tcp, :::9042->9042/tcp, 0.0.0.0:9100->9100/tcp, :::9100->9100/tcp, 0.0.0.0:9160->9160/tcp, :::9160->9160/tcp
790f5a91013b: jenkins-prometheus-1 -> 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp
cd1e964deed8: jenkins-acs-1 ->
315859268aa9: jenkins-zookeeper-1 -> 2888/tcp, 3888/tcp, 0.0.0.0:32796->2181/tcp, :::32796->2181/tcp
a7229f21f3c5: jenkins-logaggregator-1 -> 0.0.0.0:32798->5044/tcp, :::32798->5044/tcp
8ee8483ad5a0: jenkins-grafana-1 -> 3000/tcp, 0.0.0.0:3210->3210/tcp, :::3210->3210/tcp
29f552f4d239: jenkins-loki-1 -> 0.0.0.0:3100->3100/tcp, :::3100->3100/tcp
c08294688cec: jenkins-promtail-1 ->
e3cf072659f0: jenkins-sql_acadacdb-1 -> 3306/tcp, 33060-33061/tcp
cb78b00c13fe: jenkins-opcuasimulatoraas-1 -> 0.0.0.0:32799->52522/tcp, :::32799->52522/tcp
01d046b685c8: jenkins-opcuasimulatormon-1 -> 0.0.0.0:32797->52520/tcp, :::32797->52520/tcp
7a978478f082: jenkins-logsimulator-1 ->
cd981c617974: jenkins-hmi_redis-1 -> 6379/tcp
0ef9bee718a4: jenkins-mysql-1 -> 3306/tcp, 33060-33061/tcp
6cc8588a3910: jenkins-mongo-1 -> 27017/tcp
Here are the prometheus, cassandra and kafka sections from the docker-compose file:
storage:
image: oci-reg-cta.zeuthen.desy.de/acada/loggingsystem/monstorage:lite
ports:
- "7000:7000" # Gossip communication
- "7001:7001" # Intra-node TLS
- "7199:7199" # JMX port
- "9042:9042" # Native transport
- "9160:9160" # Thrift service
- "9100:9100" # Prometheus JMX Exporter
volumes:
- storage_cassandra:/var/lib/cassandra
- ./jmx_prometheus_javaagent-0.15.0.jar:/opt/jmx_prometheus_javaagent.jar
- ./cassandra.yml:/opt/cassandra.yml
environment:
- JVM_OPTS=-javaagent:/opt/jmx_prometheus_javaagent.jar=0.0.0.0:7071:/opt/cassandra.yml -Dlog.level=DEBUG -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=0.0.0.0 -Dcom.sun.management.jmxremote.rmi.port=7199 -Dcassandra.jmx.remote.port=7199
cap_add:
- SYS_ADMIN
security_opt:
- seccomp:unconfined
networks:
- monitoring
broker:
image: oci-reg-cta.zeuthen.desy.de/acada/confluentinc/cp-kafka:5.4.0
depends_on:
- zookeeper
ports:
- "7072:7072" # Porta per Prometheus JMX Exporter
- "9091:9091" #Porta RMI
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 # must be set to 1 when running with a single-node cluster
KAFKA_DEFAULT_REPLICATION_FACTOR: 1 # cannot be larger than the number of brokers
KAFKA_NUM_PARTITIONS: 3 # default number of partitions per topic
KAFKA_OPTS: -javaagent:/opt/jmx_prometheus_javaagent.jar=0.0.0.0:7072:/opt/kafka.yml -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=0.0.0.0 -Dcom.sun.management.jmxremote.rmi.port=9091
KAFKA_CONFLUENT_SUPPORT_METRICS_ENABLE: "false"
#JVM_OPTS: -javaagent:/opt/jmx_prometheus_javaagent.jar=7072:/opt/kafka.yml
volumes:
- broker_data:/var/lib/kafka/data
- broker_secrets:/etc/kafka/secrets
- ./jmx_prometheus_javaagent-0.15.0.jar:/opt/jmx_prometheus_javaagent.jar
- ./kafka.yml:/opt/kafka.yml
networks:
- monitoring
prometheus:
image: prom/prometheus:v2.53.1
ports:
- "9090:9090" # Prometheus web interface and API (TCP)
volumes:
- type: bind
source: ./prometheus.yml
target: /etc/prometheus/prometheus.yml
networks:
- monitoring
And the .yaml files:
cassandra.yml
---
startDelaySeconds: 0
hostPort: 0.0.0.0:7199
username: xxxxx
password: xxxxx
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false
whitelistObjectNames: ["org.apache.cassandra.metrics:*"]
rules:
- pattern: 'org.apache.cassandra.metricsValue'
name: cassandra_$1_$2
type: GAUGE
labels:
mylabel: "myvalue"
help: "Cassandra metric $1 $2"
- pattern: 'org.apache.cassandra.metricsValue'
name: cassandra_$1_$2_$3
type: GAUGE
help: "Cassandra metric $1 $2 $3"
- pattern: 'org.apache.cassandra.metricsValue'
name: cassandra_$1_$2_$3_$4
type: GAUGE
help: "Cassandra metric $1 $2 $3 $4"
prometheus.yml
global:
scrape_interval: 25s
scrape_timeout: 25s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090'] # Prometheus server
- job_name: 'storage'
metrics_path: /metrics
static_configs:
- targets: ['storage:7071'] # Storage/Cassandra JMX exporter
- job_name: 'broker'
static_configs:
- targets: ['broker:7072'] # Broker/Kafka JMX exporter
kafka.yml
#jmxUrl: "service:jmx:rmi:///jndi/rmi://localhost:7072/jmxrmi"
lowercaseOutputName: true
rules:
- pattern: kafka.serverValue
name: kafka_server_fetcher_bytes_consumed_total
labels:
client_id: "$1"
Querying Prometheus about the status of its targets containers, the situation looks normal:
curl -s http://localhost:9090/api/v1/targets | grep '"health":"up"'
{"status":"success","data":{"activeTargets":[{"discoveredLabels":{"__address__":"broker:7072","__metrics_path__":"/metrics","__scheme__":"http","__scrape_interval__":"25s","__scrape_timeout__":"25s","job":"broker"},"labels":{"instance":"broker:7072","job":"broker"},"scrapePool":"broker","scrapeUrl":"http://broker:7072/metrics ","globalUrl":"http://broker:7072/metrics ","lastError":"","lastScrape":"2025-01-28T06:13:23.641150824Z","lastScrapeDuration":0.089283854,"health":"up","scrapeInterval":"25s","scrapeTimeout":"25s"},{"discoveredLabels":{"__address__":"localhost:9090","__metrics_path__":"/metrics","__scheme__":"http","__scrape_interval__":"25s","__scrape_timeout__":"25s","job":"prometheus"},"labels":{"instance":"localhost:9090","job":"prometheus"},"scrapePool":"prometheus","scrapeUrl":"http://localhost:9090/metrics","globalUrl":"http://790f5a91013b:9090/metrics ","lastError":"","lastScrape":"2025-01-28T06:13:06.761760372Z","lastScrapeDuration":0.011126742,"health":"up","scrapeInterval":"25s","scrapeTimeout":"25s"},{"discoveredLabels":{"__address__":"storage:7071","__metrics_path__":"/metrics","__scheme__":"http","__scrape_interval__":"25s","__scrape_timeout__":"25s","job":"storage"},"labels":{"instance":"storage:7071","job":"storage"},"scrapePool":"storage","scrapeUrl":"http://storage:7071/metrics ","globalUrl":"http://storage:7071/metrics ","lastError":"","lastScrape":"2025-01-28T06:13:07.393065033Z","lastScrapeDuration":3.497353034,"health":"up","scrapeInterval":"25s","scrapeTimeout":"25s"}],"droppedTargets":[],"droppedTargetCounts":{"broker":0,"prometheus":0,"storage":0}}}
Checking for the Cassandra metrics ketch by Prometheus, I get (for example):
curl -s http://localhost:9090/api/v1/query?query=jvm_memory_bytes_used | grep 'result'
{"status":"success","data":{"resultType":"vector","result":[{"metric":{"__name__":"jvm_memory_bytes_used","area":"heap","instance":"broker:7072","job":"broker"},"value":[1738044886.425,"443680528"]},{"metric":{"__name__":"jvm_memory_bytes_used","area":"nonheap","instance":"broker:7072","job":"broker"},"value":[1738044886.425,"67814792"]},{"metric":{"__name__":"jvm_memory_bytes_used","area":"heap","instance":"storage:7071","job":"storage"},"value":[1738044886.425,"438304896"]},{"metric":{"__name__":"jvm_memory_bytes_used","area":"nonheap","instance":"storage:7071","job":"storage"},"value":[1738044886.425,"75872616"]}]}}
It seems Prometheus is working and communicating with Cassandra and Kafka.
But with the following commands (asking to a specific port) I don't get any result (exception done for port 7072 ... it seems just some java metrics and not SPECIFIC to Kafka):
[common@muoni-wn-15 jenkins]$ curl -s http://localhost:7071/metrics
[common@muoni-wn-15 jenkins]$ curl -s http://localhost:7199/metrics
[common@muoni-wn-15 jenkins]$ curl -s http://localhost:7071/metrics
[common@muoni-wn-15 jenkins]$ curl -s http://localhost:9091/metrics
[common@muoni-wn-15 jenkins]$ curl -s http://localhost:7072/metrics
# HELP jmx_config_reload_success_total Number of times configuration have successfully been reloaded.
# TYPE jmx_config_reload_success_total counter
jmx_config_reload_success_total 0.0
# HELP jvm_classes_loaded The number of classes that are currently loaded in the JVM
# TYPE jvm_classes_loaded gauge
jvm_classes_loaded 6275.0
# HELP jvm_classes_loaded_total The total number of classes that have been loaded since the JVM has started execution
# TYPE jvm_classes_loaded_total counter
jvm_classes_loaded_total 6275.0
# HELP jvm_classes_unloaded_total The total number of classes that have been unloaded since the JVM has started execution
# TYPE jvm_classes_unloaded_total counter
jvm_classes_unloaded_total 0.0
So, I suspect there is some misconfiguration in the middle, because I am not sure: 1. the JMX are collecting information; 2. the information are what I want
And also, more severely... I got the following exceptions:
KAFKA -->
[common@muoni-wn-15 jenkins]$ docker compose -f docker-compose.yml.prometheus-cassandra.v4.yml exec broker bash -l
root@3b8e9d856d3f:/# kafka-topics --bootstrap-server localhost:29092 --list
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at sun.net.httpserver.ServerImpl.(ServerImpl.java:100)
at sun.net.httpserver.HttpServerImpl.(HttpServerImpl.java:50)
at sun.net.httpserver.DefaultHttpServerProvider.createHttpServer(DefaultHttpServerProvider.java:35)
at com.sun.net.httpserver.HttpServer.create(HttpServer.java:130)
at io.prometheus.jmx.shaded.io.prometheus.client.exporter.HTTPServer.(HTTPServer.java:179)
at io.prometheus.jmx.shaded.io.prometheus.jmx.JavaAgent.premain(JavaAgent.java:31)
... 6 more
FATAL ERROR in native method: processing of -javaagent failed
Aborted (core dumped)
CASSANDRA -->
[common@muoni-wn-15 jenkins]$ docker compose -f docker-compose.yml.prometheus-cassandra.v3.yml exec storage bash -l
root@a1c1e2c5e95c:/# nodetool status
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:461)
at sun.nio.ch.Net.bind(Net.java:453)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:222)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:85)
at sun.net.httpserver.ServerImpl.(ServerImpl.java:100)
at sun.net.httpserver.HttpServerImpl.(HttpServerImpl.java:50)
at sun.net.httpserver.DefaultHttpServerProvider.createHttpServer(DefaultHttpServerProvider.java:35)
at com.sun.net.httpserver.HttpServer.create(HttpServer.java:130)
at io.prometheus.jmx.shaded.io.prometheus.client.exporter.HTTPServer.(HTTPServer.java:179)
at io.prometheus.jmx.shaded.io.prometheus.jmx.JavaAgent.premain(JavaAgent.java:31)
... 6 more
FATAL ERROR in native method: processing of -javaagent failed
Aborted (core dumped)
I hope someone will help me to leave this dark tunnel ...
Best regards,
Emilio
Hello All,
recently I decided to simply the docker compose file to identify the error source. This is the storage section:
storage:
image: oci-reg-cta.zeuthen.desy.de/acada/loggingsystem/monstorage:lite
ports:
- "1234:1234" # JMX Exporter HTTP port
- "7000:7000" # Gossip
- "7001:7001" # TLS
- "7199:7199" # JMX port (Cassandra native)
- "7198:7198" # RMI registry port (newly added)
- "9042:9042" # CQL
volumes:
- storage_cassandra:/var/lib/cassandra
- ./jmx_prometheus_javaagent-0.15.0.jar:/opt/jmx_prometheus_javaagent.jar
- ./cassandra.v5.yml:/opt/cassandra.v5.yml
environment:
- JVM_OPTS=
-javaagent:/opt/jmx_prometheus_javaagent.jar=1234:/opt/cassandra.v5.yml
-Dcassandra.jmx.remote.port=7199
-Dcom.sun.management.jmxremote.rmi.port=7198
-Djava.rmi.server.hostname=storage
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
and this is the cassandra.v5.yml
startDelaySeconds: 0
lowercaseOutputName: false
lowercaseOutputLabelNames: false
whitelistObjectNames: ["org.apache.cassandra.metrics:*"]
rules:
- pattern: 'org.apache.cassandra.metricsValue'
name: cassandra_$1_$2
type: GAUGE
help: "Cassandra metric $1 $2"
- pattern: 'org.apache.cassandra.metricsValue'
name: cassandra_$1_$2_$3
type: GAUGE
help: "Cassandra metric $1 $2 $3"
And this is the prometheus.v5.yml
global:
scrape_interval: 25s
scrape_timeout: 25s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090'] # Prometheus server
- job_name: 'storage'
metrics_path: /metrics
static_configs:
- targets: ['storage:1234'] # Storage/Cassandra JMX exporter
Using this configuration I can scrape the cassandra metrics exposed at http://localhost:1234/metrics , and there's no problem to query the kafka container, as you can see:
[common@muoni-wn-15 jenkins]$ docker exec -it jenkins-broker-1 kafka-topics --bootstrap-server localhost:29092 --list
__confluent.support.metrics
_schemas
logStorage
But when I try to invoke the nodetool command inside the storage container, I get always the same error ... never mind the port I use (the error is the same even if I don't specify the -p 7197 option of if I change the jmx_prometheus_javaagent.jar port):
[common@muoni-wn-15 jenkins]$ docker exec -it jenkins-storage-1 nodetool -p 7197 status
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:461)
at sun.nio.ch.Net.bind(Net.java:453)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:222)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:85)
at sun.net.httpserver.ServerImpl.(ServerImpl.java:100)
at sun.net.httpserver.HttpServerImpl.(HttpServerImpl.java:50)
at sun.net.httpserver.DefaultHttpServerProvider.createHttpServer(DefaultHttpServerProvider.java:35)
at com.sun.net.httpserver.HttpServer.create(HttpServer.java:130)
at io.prometheus.jmx.shaded.io.prometheus.client.exporter.HTTPServer.(HTTPServer.java:179)
at io.prometheus.jmx.shaded.io.prometheus.jmx.JavaAgent.premain(JavaAgent.java:31)
... 6 more
FATAL ERROR in native method: processing of -javaagent failed
Aborted (core dumped)
Please, I hope someone will help me to leave this tunnel ...
Hello again, I checked the logs as suggested by piotr:
root@8bf0bcba72c7:/var/log/cassandra# grep 1234 system.log
INFO [main] 2025-02-05 07:09:45,973 CassandraDaemon.java:507 - JVM Arguments: [-javaagent:/opt/jmx_prometheus_javaagent.jar=1234:/opt/cassandra.v5.yml, -Dcassandra.jmx.remote.port=7199, -Dcom.sun.management.jmxremote.rmi.port=7198, -Djava.rmi.server.hostname=storage, -Dcom.sun.management.jmxremote.authenticate=false, -Dcom.sun.management.jmxremote.ssl=false, -Xloggc:/opt/cassandra/logs/gc.log, -ea, -XX:+UseThreadPriorities, -XX:ThreadPriorityPolicy=42, -XX:+HeapDumpOnOutOfMemoryError, -Xss256k, -XX:StringTableSize=1000003, -XX:+AlwaysPreTouch, -XX:-UseBiasedLocking, -XX:+UseTLAB, -XX:+ResizeTLAB, -XX:+UseNUMA, -XX:+PerfDisableSharedMem, -Djava.net.preferIPv4Stack=true, -Xms1G, -Xmx1G, -XX:+UseParNewGC, -XX:+UseConcMarkSweepGC, -XX:+CMSParallelRemarkEnabled, -XX:SurvivorRatio=8, -XX:MaxTenuringThreshold=1, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:CMSWaitDuration=10000, -XX:+CMSParallelInitialMarkEnabled, -XX:+CMSEdenChunksRecordAlways, -XX:+CMSClassUnloadingEnabled, -XX:+PrintGCDetails, -XX:+PrintGCDateStamps, -XX:+PrintHeapAtGC, -XX:+PrintTenuringDistribution, -XX:+PrintGCApplicationStoppedTime, -XX:+PrintPromotionFailure, -XX:+UseGCLogFileRotation, -XX:NumberOfGCLogFiles=10, -XX:GCLogFileSize=10M, -Xmn2048M, -XX:+UseCondCardMark, -XX:CompileCommandFile=/etc/cassandra/hotspot_compiler, -javaagent:/opt/cassandra/lib/jamm-0.3.0.jar, -Dcassandra.jmx.local.port=7199, -Dcom.sun.management.jmxremote.authenticate=false, -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password, -Djava.library.path=/opt/cassandra/lib/sigar-bin, -Dcassandra.libjemalloc=/usr/local/lib/libjemalloc.so, -XX:OnOutOfMemoryError=kill -9 %p, -Dlogback.configurationFile=logback.xml, -Dcassandra.logdir=/opt/cassandra/logs, -Dcassandra.storagedir=/opt/cassandra/data, -Dcassandra-foreground=yes]
showing the configuration file is loaded (if I am not wrong), and the process looks running and waiting:
root@8bf0bcba72c7:/var/log/cassandra# ss -tulp
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 127.0.0.11:43202 0.0.0.0:*
tcp LISTEN 0 50 0.0.0.0:7198 0.0.0.0:*
tcp LISTEN 0 50 0.0.0.0:7199 0.0.0.0:*
tcp LISTEN 0 128 127.0.0.11:36235 0.0.0.0:*
tcp LISTEN 0 128 0.0.0.0:9042 0.0.0.0:*
tcp LISTEN 0 3 0.0.0.0:1234 0.0.0.0:*
tcp LISTEN 0 128 172.31.0.8:7000 0.0.0.0:*
Of course, both checks have be done inside the cassandra container.
Emilio Mastriani
(1 rep)
Jan 28, 2025, 06:44 AM
• Last activity: Feb 6, 2025, 08:35 AM
3
votes
2
answers
1546
views
Kafka Internal Data structure vs LSM tree
I was going through Database storage engines and found out about LSM trees. I had also read about Kafka architecture and know that Kafka internally is a commit log. I want to know if Kafka internally uses LSM data structure for append-only store or uses some other data structure for storing data?
I was going through Database storage engines and found out about LSM trees. I had also read about Kafka architecture and know that Kafka internally is a commit log. I want to know if Kafka internally uses LSM data structure for append-only store or uses some other data structure for storing data?
Ayman Patel
(153 rep)
Mar 1, 2021, 07:39 AM
• Last activity: Nov 26, 2024, 02:48 PM
0
votes
0
answers
20
views
is it a good idea to use GTID for tenant meta data?
i want To build an audit log for tracking user activity using `Kafka Connect CDC (Change Data Capture)` and `MySQL`, and set a custom GTID (Global Transaction Identifier) before each transaction, here’s a high-level design pattern and implementation strategy. **Overview of the Solution:** **CDC with...
i want To build an audit log for tracking user activity using
Kafka Connect CDC (Change Data Capture)
and MySQL
, and set a custom GTID (Global Transaction Identifier) before each transaction, here’s a high-level design pattern and implementation strategy.
**Overview of the Solution:**
**CDC with Kafka Connect:** i will use Debezium (a Kafka Connect connector) to capture changes in my MySQL database, which will be streamed to Kafka topics. This will act as the foundation for my audit log system.
**Custom GTID:** (Global Transaction ID): Before executing each transaction in my application, i will set the GTID with custom information (e.g., tenant ID, email, UUID). This GTID will help me uniquely identify the transaction and associate it with a specific tenant and action. SET gtid_next = 'tenantId:tenantEmail;randomUUID'
**Audit Log Consumer:** Kafka consumers will read changes from the Kafka topics, process the audit log information (including the GTID), and store the logs in a database or external system.
what re the down side of this approach could issue with replactions?
Naor Tedgi
(101 rep)
Sep 30, 2024, 03:37 PM
0
votes
0
answers
49
views
Causing SQL to prefer casted time seek in view query
We have ETL process executed by Kafka. It can only get and query by `datetime2` date data type. It generates queries like this: EXEC sp_executesql N'SELECT * FROM ViewName WHERE ViewName.UpdateDate > @P0 AND ViewName.UpdateDate '2022-07-01' --Can add UpdateDate > DATEADD(d, -2, GETDATE()) GO But in...
We have ETL process executed by Kafka. It can only get and query by
datetime2
date data type.
It generates queries like this:
EXEC sp_executesql N'SELECT *
FROM ViewName
WHERE ViewName.UpdateDate > @P0
AND ViewName.UpdateDate '2022-07-01'
--Can add UpdateDate > DATEADD(d, -2, GETDATE())
GO
But in this case SQL decides first to scan this index and only then apply parameters filtering causing heavy reads. I can add commented out filter to reduce reads, but I'm searching for solution to make SQL "understand" that it can use parameters instead. We cannot create non filtered index because of table size. Also adding Cast to UpdateDate
in where clause causes SQL not to use index at all.
Is there something that can be done in this case code wise?(Forceseek
hint throws error)
Michael Cherevko
(742 rep)
Aug 6, 2024, 02:13 PM
1
votes
1
answers
102
views
SSL Encryption for Kafka Pipelines
Any [SingleStore] users out there? For enabling SSL encryption (only) for Kafka pipelines, we created the pipeline like below: CREATE PIPELINE `kafka_ssl` AS LOAD DATA KAFKA ' : /test' CONFIG '{"security.protocol": "ssl" "ssl.ca.location": " "}'' INTO table ; from https://docs.memsql.com/v7.0/concep...
Any [SingleStore] users out there?
For enabling SSL encryption (only) for Kafka pipelines, we created the pipeline like below:
CREATE PIPELINE
kafka_ssl
AS LOAD DATA KAFKA ':/test'
CONFIG '{"security.protocol": "ssl"
"ssl.ca.location": ""}''
INTO table ;
from https://docs.memsql.com/v7.0/concepts/pipelines/kafka-kerberos-ssl/ 22
Please note that we’re not looking for Client authentication (mutual TLS connection). This requires us to manually copy the CA Cert into memsql nodes and provide that path. This works fine for standalone Kafka cluster.
What is the recommended approach if we’re using AWS MSK?
Following documentation points to the client configuration for SSL encryption for MSK clients. They use client truststore location as a property which is not an identified property for memsql pipeline config json
https://docs.aws.amazon.com/msk/latest/developerguide/msk-encryption.html 10
https://docs.aws.amazon.com/msk/latest/developerguide/msk-authentication.html
See others having the same issue in the SingleStore forums. Unable to create a pipeline from Singlestore in a box to AWS MSK.
Matt Brown
(49 rep)
Jun 18, 2022, 06:51 PM
• Last activity: Jul 26, 2022, 04:51 PM
1
votes
1
answers
437
views
SingleStore: Sign Up Log In Cannot get source metadata for pipeline. Failed to create consumer: ssl.ca.location failed: No further error info
below is the command that i am using, but when i create the kafka pipeline command i get the below error: ERROR 1933 ER_EXTRACTOR_EXTRACTOR_GET_LATEST_OFFSETS: Cannot get source metadata for pipeline. Failed to create consumer: ssl.ca.location failed: No further error information available Command u...
below is the command that i am using, but when i create the kafka pipeline command i get the below error:
ERROR 1933 ER_EXTRACTOR_EXTRACTOR_GET_LATEST_OFFSETS: Cannot get source metadata for pipeline. Failed to create consumer: ssl.ca.location failed: No further error information available
Command used:
CREATE PIPELINE ticketmaster_pipeline AS
LOAD DATA KAFKA ‘b-3.etainmentnonprod.z2xjta.c25.kafka.us-east-1.amazonaws.com:9094,b-1.etainmentnonprod.z2xjta.c25.kafka.us-east-1.amazonaws.com:9094,b-2.etainmentnonprod.z2xjta.c25.kafka.us-east-1.amazonaws.com:9094/ticketmaster’
CONFIG '{“sasl.username”: “AWS_ACCESS_KEY”,
"sasl.mechanism": "PLAIN",
"security.protocol": "SASL_SSL",
"ssl.ca.location": "/etc/pki/ca-trust/extracted/java/cacerts"}'
CREDENTIALS ‘{“sasl.password”: “AWS_PSWD/Z”}’
INTO TABLE ticketmaster_kafka
FORMAT JSON (event_url ← event_url,event_id ← event_id,timestamp ← timestamp,event_name ← event_name,venue ← venue,event_datetime ← event_datetime,city ← city,state ← state,section ← section,row ← row,qty ← qty,seat_ids ← seat_ids,seat_numbers ← seat_numbers,inventory_type ← inventory_type,price ← price);
My kafka setup in on AWS MSK insatnce and i have data in the topic also
Matt Brown
(49 rep)
Jun 30, 2022, 09:33 PM
• Last activity: Jul 14, 2022, 11:26 PM
0
votes
2
answers
71
views
how do modern data warehouses tackle frequent small writes? esp. when streaming data is one of the sources?
So for many days, I had a question in mind. **How do modern data warehouses tackle frequent small writes?** esp. when streaming data is one of the sources? e.g. Kafka/Kinesis => DW(Snowflake, Teradata, Oracle ADW, etc) I was under the impression that since data warehouse tables are typically **highl...
So for many days, I had a question in mind.
**How do modern data warehouses tackle frequent small writes?** esp. when streaming data is one of the sources?
e.g. Kafka/Kinesis => DW(Snowflake, Teradata, Oracle ADW, etc)
I was under the impression that since data warehouse tables are typically **highly denormalized and columnar** (for quick performance for reporting queries to avoid joins) they are slow for frequent small writes, but have good performance for reporting style
SELECT
statements. Hence the concept of **bulk nightly uploads from OLTP data sources to OLAP data warehouses**.
- What has changed in the modern DW internal architecture?
- Is there a staging area within DW itself, where data lands and then it is aggregated, stats are collected and then denormalized before it finally rests into actual DW tables powering the reporting?
I am interested in knowing how does it internally works at a high level.
I know this is a basic question, but this is my understanding from my school days hence I am pretty sure it is out of date.
Libertarian
(3 rep)
Oct 23, 2021, 07:53 PM
• Last activity: Nov 1, 2021, 12:03 PM
-2
votes
1
answers
154
views
Relational database with Kafka-like durability/caching implementation
When reading about Kafka I found it really interesting how they are providing durability, especially in comparison to databases: * Kafka - never writes synchronously to disk, provides durability by replicating to other servers (and getting their confirmation); the added benefit is that it can reuses...
When reading about Kafka I found it really interesting how they are providing durability, especially in comparison to databases:
* Kafka - never writes synchronously to disk, provides durability by replicating to other servers (and getting their confirmation); the added benefit is that it can reuses filesystem cache instead of rolling out your own
* relational database - flush log to disk to guarantee durability.
From what I was reading the Kafka approach results in a better performance so I was wondering if there is anything in particular that makes this approach infeasible for relational database? Or maybe some of the "NewSQL" guys are doing it and I'm just unaware?
Sources about Kafka mechanisms I'm talking about:
https://kafka.apache.org/documentation/#persistence
https://kafka.apache.org/documentation/#replication
Krzysztof Nawara
(1 rep)
Sep 18, 2021, 11:35 AM
• Last activity: Sep 20, 2021, 10:51 PM
2
votes
0
answers
40
views
How can I seed all the rows through CDC
We want to add a Kafka stream to publish changes to a table. The stream will be populated through the bin log and Atunity CDC. How do I seed the change data with the initial state of the table?
We want to add a Kafka stream to publish changes to a table. The stream will be populated through the bin log and Atunity CDC. How do I seed the change data with the initial state of the table?
David W
(121 rep)
Dec 19, 2019, 10:58 PM
2
votes
1
answers
1428
views
Kafka Partitions vs Mongo Sharding which one is better throughput
I am using Mongo Sharding to register page views on my website. We have hashed shard key to evenly distribute data in multiple shards. Then our aggregation queries run over time range at interval to aggregate this data and provide trends on site. We came across Kafka for write distribution for heavy...
I am using Mongo Sharding to register page views on my website. We have hashed shard key to evenly distribute data in multiple shards. Then our aggregation queries run over time range at interval to aggregate this data and provide trends on site.
We came across Kafka for write distribution for heavy load and this kind of streaming.
I compared both systems and both provide distribution on partitions in a topic with leader follower approach.
Kafka does it using multiple partition on different brokers with partition replication and Mongo does it with multiple shards which have replica sets.
As aggregation query will always be on time range than it will go to multiple shards/ partitions always.
My question is how we can compare which will provide better through put and run time scalability in case of heavy load as i understand both use same mechanism adding new partitions in case of Kafka or adding new shards in case of Mongo.
Please provide suggestions.
viren
(511 rep)
Mar 21, 2018, 04:15 AM
• Last activity: Oct 30, 2019, 01:47 PM
0
votes
1
answers
457
views
Row based replication on slave where as statement based on Master
We have a master slave setup of MYSQL 5.6. Master and slave runs SBR replication where as slave is not writing binlogs. We need to enable binlogs on the Slave server but we want the binlogs to be in RBR format on the slave instead. We want to ship them to Kafka and it wants RBR replication only. Is...
We have a master slave setup of MYSQL 5.6. Master and slave runs SBR replication where as slave is not writing binlogs.
We need to enable binlogs on the Slave server but we want the binlogs to be in RBR format on the slave instead. We want to ship them to Kafka and it wants RBR replication only.
Is this doable to have RBR on the slave where as it is getting data from master as SBR ?
Thanks
Mysql Consultancy
(35 rep)
Apr 17, 2018, 02:07 PM
• Last activity: Oct 30, 2019, 01:46 PM
Showing page 1 of 13 total questions