Rajesh Ramasubbu
02/12/2024, 10:16 PMcontroller.local.temp.dir=/tmp/pinot-tmp-data/
pinot.controller.storage.factory.s3.region={region}
pinot.controller.segment.fetcher.protocols=file,http,s3
pinot.controller.segment.fetcher.s3.class=org.apache.pinot.common.utils.fetcher.PinotFSSegmentFetcher
pinot.controller.storage.factory.s3.disableAcl=false
controller.data.dir=s3://{bucketName}/pinot-data/pinot-s3-example/controller-dataRajesh Ramasubbu
02/12/2024, 10:16 PM{
"tableName": "kinesisTable",
"tableType": "REALTIME",
"segmentsConfig": {
"timeColumnName": "creationTimestamp",
"replicasPerPartition": "1",
"replication": "1",
"retentionTimeUnit": "DAYS",
"retentionTimeValue": "7"
},
"tenants": {},
"tableIndexConfig": {
"loadMode": "MMAP",
"streamConfigs": {
"streamType": "kinesis",
"stream.kinesis.topic.name": "pinot-stream",
"region": "{AWSRegion}",
"shardIteratorType": "LATEST",
"stream.kinesis.consumer.type": "lowlevel",
"stream.kinesis.fetch.timeout.millis": "30000",
"stream.kinesis.decoder.class.name": "org.apache.pinot.plugin.stream.kafka.KafkaJSONMessageDecoder",
"stream.kinesis.consumer.factory.class.name": "org.apache.pinot.plugin.stream.kinesis.KinesisConsumerFactory",
"realtime.segment.flush.threshold.rows": "0",
"realtime.segment.flush.threshold.time": "1h",
"realtime.segment.flush.threshold.size": "150M"
}
},
"metadata": {
"customConfigs": {}
}
}Xiang Fu
Xiang Fu
Rajesh Ramasubbu
02/13/2024, 3:09 AMXiang Fu
Xiang Fu
Xiang Fu
Rajesh Ramasubbu
02/13/2024, 1:03 PM"realtime.segment.flush.threshold.time": "1h",Rajesh Ramasubbu
02/13/2024, 1:03 PM{
"segment.realtime.numReplicas": "1",
"segment.creation.time": "1707771628058",
"segment.flush.threshold.size": "100000",
"segment.realtime.startOffset": "{\"shardId-000000000000\":\"49649210344722884761651303877664502814676963670236332034\"}",
"segment.realtime.status": "IN_PROGRESS"
}Rajesh Ramasubbu
02/13/2024, 1:12 PMBy default, segments continue to consume data until the configured segment flush threshold time (default 6h) or segment flush threshold size (default 100 MB), whichever occurs first, is reached. At that point, the segment gets flushed out from memory to deepstore.Xiang Fu
Rajesh Ramasubbu
02/13/2024, 1:16 PMXiang Fu
Rajesh Ramasubbu
02/13/2024, 1:21 PMXiang Fu
Xiang Fu
Xiang Fu
Rajesh Ramasubbu
02/13/2024, 1:27 PMRajesh Ramasubbu
02/13/2024, 2:00 PMXiang Fu
Xiang Fu
Rajesh Ramasubbu
02/13/2024, 4:02 PMRajesh Ramasubbu
02/13/2024, 7:08 PMpinot.server.netty.port=8098
pinot.server.adminapi.port=8097
pinot.server.instance.dataDir=/tmp/pinot-tmp/server/index
pinot.server.instance.segmentTarDir=/tmp/pinot-tmp/server/segmentTars
pinot.server.storage.factory.class.s3=org.apache.pinot.plugin.filesystem.S3PinotFS
pinot.server.storage.factory.s3.region={region}
pinot.server.segment.fetcher.protocols=file,http,s3
pinot.server.segment.fetcher.s3.class=org.apache.pinot.common.utils.fetcher.PinotFSSegmentFetcherRajesh Ramasubbu
02/13/2024, 7:09 PM# Pinot Role
pinot.service.role=CONTROLLER
# Pinot Cluster name
pinot.cluster.name=pinot-quickstart
# Pinot Zookeeper Server
controller.zk.str={zookeeperIP}
# Use hostname as Pinot Instance ID other than IP
<http://pinot.set.instance.id.to|pinot.set.instance.id.to>.hostname=true
# Pinot Controller Port
controller.port=9000
# Pinot Controller VIP Host
controller.vip.host={LoadBalancerDNS}
# Pinot Controller VIP Port
controller.vip.port=80
# Location to store Pinot Segments pushed from clients
pinot.controller.storage.factory.class.s3=org.apache.pinot.plugin.filesystem.S3PinotFS
controller.local.temp.dir=/tmp/pinot-tmp-data/
pinot.controller.storage.factory.s3.region={region}
pinot.controller.segment.fetcher.protocols=file,http,s3
pinot.controller.segment.fetcher.s3.class=org.apache.pinot.common.utils.fetcher.PinotFSSegmentFetcher
pinot.controller.storage.factory.s3.disableAcl=false
controller.data.dir=s3://{bucketName}/pinot-data/pinot-s3-example/controller-dataRajesh Ramasubbu
02/13/2024, 7:32 PMRajesh Ramasubbu
02/13/2024, 7:33 PM{
"segmentName": "kinesisTable__0__0__20240213T1615Z",
"serverState": {
"Server_10.0.3.194_8098": {
"idealState": "OFFLINE",
"externalView": "OFFLINE",
"segmentSize": null,
"consumerInfo": null,
"errorInfo": null
}
}
}Rajesh Ramasubbu
02/13/2024, 7:34 PM[root@ip-10-0-3-194 kinesisTable_REALTIME]# ls -alt
total 388
drwxr-xr-x 2 root root 50 Feb 13 18:14 consumers
-rw-r--r-- 1 root root 1089 Feb 13 17:20 segment-stats.ser
drwxr-xr-x 6 root root 162 Feb 13 17:20 .
-rw-r--r-- 1 root root 392420 Feb 13 17:15 kinesisTable__0__0__20240213T1615Z.tar.gz
drwxr-xr-x 2 root root 6 Feb 13 17:15 _tmp
drwxr-xr-x 3 root root 16 Feb 13 17:15 kinesisTable__0__0__20240213T1615Z
drwxr-xr-x 3 root root 35 Feb 13 16:15 ..
drwxr-xr-x 2 root root 6 Feb 13 16:15 tmpRajesh Ramasubbu
02/13/2024, 7:34 PM