Hi Team, We have configured HDFS as deep storage ...
# troubleshooting
a
Hi Team, We have configured HDFS as deep storage for pinot cluster. Upon checking the segment.realtime.download.url , it is pointing to controllers storage path Url: http://c81:9000/segments/max_reporting_aggregations/max_reporting_aggregations__0__150__20211127T0641Z returned Path: /tmp/data/PinotController/max_reporting_aggregations/max_reporting_aggregations__0__150__20211127T0641Z Shouldn't this segment get stored at HDFS location? Below are the controller's and server's config. Controller Config:
Copy code
# Pinot Role
pinot.service.role=CONTROLLER

# Pinot Cluster name
pinot.cluster.name=MAX-Pinot

# Pinot Zookeeper Server
pinot.zk.server=c81:2181

# Use hostname as Pinot Instance ID other than IP
pinot.set.instance.id.to.hostname=true

# Pinot Controller Port
controller.port=9000

# Pinot Controller VIP Host
controller.vip.host=c81

# Pinot Controller VIP Port
controller.vip.port=9000

# Location to store Pinot Segments pushed from clients
controller.data.dir=<hdfs://nameservice1/data/max/poc/hdfs/controller/>

controller.task.frequencyPeriod=3600
controller.local.temp.dir=/opt/pinot/host/
controller.enable.split.commit=true
controller.access.protocols.http.port=9000
controller.helix.cluster.name=MAX-Pinot
pinot.controller.segment.fetcher.protocols=file,http,hdfs
pinot.controller.storage.factory.class.hdfs=org.apache.pinot.plugin.filesystem.HadoopPinotFS
pinot.controller.storage.factory.hdfs.hadoop.conf.path=/opt/pinot/hadoop/etc/hadoop
pinot.controller.segment.fetcher.hdfs.class=org.apache.pinot.common.utils.fetcher.PinotFSSegmentFetcher
pinot.server.grpc.enable=true
Server Config:
Copy code
# Pinot Role
pinot.service.role=SERVER

# Pinot Cluster name
pinot.cluster.name=MAX-Pinot

# Pinot Zookeeper Server
pinot.zk.server=c81:2181

# Use hostname as Pinot Instance ID other than IP
pinot.set.instance.id.to.hostname=true

# Pinot Server Netty Port for queris
pinot.server.netty.port=8098

# Pinot Server Admin API port
pinot.server.adminapi.port=8097

# Pinot Server Data Directory
pinot.server.instance.dataDir=/opt/pinot/host/data/server/index

# Pinot Server Temporary Segment Tar Directory
pinot.server.instance.segmentTarDir=/opt/pinot/host/data/server/segmentTar

pinot.server.consumerDir=/opt/pinot/host/data/server/consumer
pinot.server.instance.enable.split.commit=true
pinot.server.instance.reload.consumingSegment=true
pinot.server.segment.fetcher.protocols=file,http,hdfs
pinot.server.segment.fetcher.hdfs.class=org.apache.pinot.common.utils.fetcher.PinotFSSegmentFetcher
pinot.server.storage.factory.class.hdfs=org.apache.pinot.plugin.filesystem.HadoopPinotFS
pinot.server.storage.factory.hdfs.hadoop.conf.path=/opt/pinot/hadoop/etc/hadoop
pinot.server.grpc.enable=true
pinot.server.grpc.port=8090
pinot.server.query.executor.timeout=100000
pinot.server.instance.realtime.alloc.offheap=true
m
The download url should point to HDFS path. Can you check if PinotFS is initialized to HDFS in controller logs?
a
Hey @Mayank, any particular step which i need to check in logs?
m
During initialization there should be some log about PinotFS initialization