pinpoint-apm / pinpoint

APM, (Application Performance Management) tool for large-scale distributed systems.
https://pinpoint-apm.gitbook.io/
Apache License 2.0
13.42k stars 3.75k forks source link

Create Pinot Tables #11332

Open Alberter opened 2 months ago

Alberter commented 2 months ago

When I use the script multi table. sh to create the pinot table, an error of 500 is reported image

Alberter commented 2 months ago

I had start Apache Zookeeper, Pinot Controller, Pinot Broker, and Pinot Server.(https://docs.pinot.apache.org/basics/getting-started/running-pinot-locally)

minwoo-jung commented 2 months ago

@donghun-cho please review this issue.

donghun-cho commented 2 months ago

The pinot table won't be created if pinot cluster cannot connect to Kafka or cannot find the kafka topic.

can the pinot cluster access kafka?

Alberter commented 2 months ago

Thank you for your clarification. Two Kafka services were started locally, and one was shut down to solve the problem. But now there is another issue, the document did not find the steps on how to create a hybrid table. I first created a real-time table, but when creating the offline table, an error message was reported stating that the table already exists

donghun-cho commented 2 months ago

The pinot table won't be created if pinot cluster cannot connect to Kafka or cannot find the kafka topic.

This applies to realtime table only Offline tables can be created without requiring a Kafka connection. so it can be already created from multi-table script

A Pinot Minion is also required for hybrid tables. https://docs.pinot.apache.org/operators/operating-pinot/pinot-managed-offline-flows

Alberter commented 2 months ago

Using API/brokers/tables to view tables, systemMetricDouble does not exist, but executing point-admin.sh addTable yields an error image @donghun-cho

Alberter commented 2 months ago

image

donghun-cho commented 2 months ago

https://docs.pinot.apache.org/basics/concepts/components/table#offline-table-creation Instead of Using launcher scripts try using curl or use swagger ui
image

Alberter commented 2 months ago

The offline table was successfully created using curl, but it seems that the real-time table does not support curl creation. Creating it using pinpoint-admin.sh still fails: image

donghun-cho commented 2 months ago

Could you check which table (realtime or offline) has been created? use pinot controller, or use API/tables with types(not API/brokers/tables)

Alberter commented 2 months ago

The offline table has been successfully created.The real-time table has not been created yet. image image

donghun-cho commented 2 months ago

try using curl to create realtime. multi-table.sh used to create inspectorStatAgent00_REALTIME use curl.

or delete systemMetricDouble schema and offline table and recreate tables by following steps

  1. create schema and realtime table using pinot-admin.sh
  2. add offline table was using curl
Alberter commented 2 months ago

When creating a real-time table using curl, the following error occurs image image

Alberter commented 2 months ago

image

Alberter commented 2 months ago

Using Pinpoint's built-in Kafka and switching to Apache Kafka resulted in the issue

Alberter commented 2 months ago

First of all, thank you very much for your patient answer. After replacing my deployed Kafka with pinpoint-admin.sh Kafka, I followed your advice and recreated the real-time table using script and the offline table using curl. Pinot successfully created the table. The only thing I don't quite understand is why my self built Kafka failed

HanChanYoung commented 2 months ago

@Alberter It seems that I have resolved the issue. The root cause was that the "stream.kafka.broker.list" port in the pinot-inspector-stat-application-realtime-table.json file should be changed from 19092 to 9092. Also, please try running the curl command. @donghun-cho Additionally, I have another question. Is there no offline-table.json for pinot-inspector-stat-application, unlike the realtime one?

donghun-cho commented 2 months ago

No, because the application table uses Pinot ingestion aggregations and already has good response times compared to the agent table