https://pinot.apache.org/ logo
#general
Title
# general
b

Bordin Suwannatri

03/10/2022, 10:14 AM
error --> ERROR [PinotFSFactory] [main] Could not instantiate file system for class org.apache.pinot.plugin.filesystem.HadoopPinotFS with scheme hdfs
k

Ken Krugler

03/11/2022, 12:03 AM
What does your config look like for the hdfs scheme?
Normally it needs to look something like:
Copy code
pinotFSSpecs:
  - scheme: hdfs
    className: org.apache.pinot.plugin.filesystem.HadoopPinotFS
    configs:
        hadoop.conf.path: '/mnt/hadoop/etc/hadoop/'
Where
hadoop.conf.path
is the appropriate path to the directory where the Hadoop configuration files live (which is needed for Pinot to talk to the HDFS cluster)
b

Bordin Suwannatri

03/11/2022, 7:02 AM
i try to start pinot coontroller use hdfs storage plugin
this is my controller config. pinot.service.role=CONTROLLER pinot.cluster.name=pinot-uat controller.host=pinot-uat01 controller.data.dir=hdfs://tmp/hdptest/pinot-uat/controller/segment #controller.data.dir=/pinot-data controller.local.temp.dir=/tmp/pinot/data/controller controller.zk.str=172.19.131.1162181,172.19.131.1172181,172.19.131.118:2181 controller.enable.split.commit=true controller.access.protocols.http.port=9000 controller.helix.cluster.name=pinot-uat pinot.controller.storage.factory.class.hdfs=org.apache.pinot.plugin.filesystem.HadoopPinotFS pinot.controller.storage.factory.hdfs.hadoop.conf.path=/etc/hadoop/conf pinot.controller.segment.fetcher.protocols=file,http,hdfs pinot.controller.segment.fetcher.hdfs.class=org.apache.pinot.common.utils.fetcher.PinotFSSegmentFetcher pinot.controller.segment.fetcher.hdfs.hadoop.kerberos.principle=infa@TRUE.CARE pinot.controller.segment.fetcher.hdfs.hadoop.kerberos.keytab=/data/apache-pinot/keytab/infa_keytab.keytab pinot.controller.storage.factory.hdfs.hadoop.kerberos.principle=infa@TRUE.CARE pinot.controller.storage.factory.hdfs.hadoop.kerberos.keytab=/data/apache-pinot/keytab/infa_keytab.keytab controller.vip.host=pinotuat.true.care controller.vip.port=9000 controller.port=9000 pinot.set.instance.id.to.hostname=true pinot.server.grpc.enable=true
system start script. [root@poc-pinot01 client]# cat /usr/lib/systemd/system/pinot-controller.service [Unit] Description=run pinot # mdl-sysinit.target target ensure cloud-init is run and file systems are up [Service] # ulimit -l and ulimit -n settings LimitMEMLOCK=infinity LimitNOFILE=323840 LimitNPROC=323840 #ExecStart=/data/apache-pinot/bin/pinot-admin.sh StartController -configFileName /data/apache-pinot/conf/pinot-controller.conf ExecStart=/data/apache-pinot/bin/start-controller.sh -configFileName /data/apache-pinot/conf/pinot-controller.conf # run consul as consul for reduced permissions # but run ExecStartPre commands as root PermissionsStartOnly=true User=pinot Restart=always Environment="HADOOP_HOME=/usr/lib/hadoop" Environment="HADOOP_VERSION=2.6.0-cdh5.16.2" #Environment="HADOOP_VERSION=2.7.0" Environment="HADOOP_GUAVA_VERSION=11.0.2" Environment="HADOOP_GSON_VERSION=2.2.4" Environment="GC_LOG_LOCATION=/data/apache-pinot/logs" Environment="PINOT_VERSION=0.9.3" Environment="PINOT_DISTRIBUTION_DIR=/data/apache-pinot" #Environment="HADOOP_CLIENT_OPTS=-Dplugins.dir=${PINOT_DISTRIBUTION_DIR}/plugins -Dlog4j2.configurationFile=${PINOT_DISTRIBUTION_DIR}/conf/pinot-ingestion-job-log4j2.xml" Environment="SERVER_CONF_DIR=/data/apache-pinot/conf" #Environment="ZOOKEEPER_ADDRESS=172.19.131.1162181,172.19.131.1172181,172.19.131.118:2181" Environment="CLASSPATH_PREFIX=${HADOOP_HOME}/client/hadoop-hdfs-${HADOOP_VERSION}.jar:${HADOOP_HOME}/client/hadoop-annotations-${HADOOP_VERSION}.jar:${HADOOP_HOME}/client/hadoop-auth-${HADOOP_VERSION}.jar:${HADOOP_HOME}/client/hadoop-common-${HADOOP_VERSION}.jar:${HADOOP_HOME}/client/guava-${HADOOP_GUAVA_VERSION}.jar:${HADOOP_HOME}/client/gson-${HADOOP_GSON_VERSION}.jar" Environment="JAVA_OPTS=-Xms6G -Xmx8G" [Install] WantedBy=multi-user.target
[root@poc-pinot01 conf]# pwd /etc/hadoop/conf [root@poc-pinot01 conf]# ls -ltr total 48 drwxr-xr-x 2 root root 4096 Mar 8 17:46 backup -rw-r--r-- 1 root root 1594 Mar 8 17:47 topology.py -rw-r--r-- 1 root root 13652 Mar 8 17:47 topology.map -rw-r--r-- 1 root root 315 Mar 8 17:47 ssl-client.xml -rw-r--r-- 1 root root 314 Mar 8 17:47 log4j.properties -rw-r--r-- 1 root root 3791 Mar 8 17:47 hdfs-site.xml -rw-r--r-- 1 root root 2696 Mar 8 17:47 hadoop-env.sh -rw-r--r-- 1 root root 4636 Mar 8 17:47 core-site.xml
k

Ken Krugler

03/11/2022, 7:18 PM
So the error you reported was in the Controller log file? Normally you’d see more details (like a stack trace)
Also I assume you have the
pinot-hdfs
plugin in the Pinot plugins dir on your controller, right?