This message was deleted.
# general
s
This message was deleted.
a
So, from what I gather, the standalone pulsar does not use ZooKeeper so, you need to force standalone mode to do so:
Copy code
$ env PULSAR_STANDALONE_USE_ZOOKEEPER=true bin/pulsar standalone
Will start up a zookeeper instance with your standalone instance. Next you need to start a function worker:
Copy code
bin/pulsar functions-worker
...
INFO  org.apache.pulsar.functions.worker.Worker - /** Started worker server **/
If you now try the telnet to
localhost 4181
you should get the connection.
If you are having trouble with the ZooKeeper instance starting, you can start it on it’s own and initialize it:
Copy code
$ bin/pulsar zookeeper
...
$ bin/pulsar initialize-cluster-metadata --cluster standalone --zookeeper localhost:2181 --configuration-store localhost:2181 --web-service-url <http://localhost:8080> --broker-service-url <pulsar://localhost:6650>
This step may not be necessary though.
I just tested with the
standalone.conf#functionsWorkerEnabled=true
and you can run the standalone the same way (with
PULSAR_STANDALONE_USE_ZOOKEEPER=true
and it also works.
Just to explain it more, when you run
bin/pulsar standalone
the bash scripts run a specific class:
org.apache.pulsar.PulsarStandaloneStarter.java
which runs Pulsar without ZooKeeper; instead storing it’s metadata in RocksDB. When the functions worker runs, it tries to lookup a metastore URI and trying to get the Authority (
java.net.URI.getAuthority()
) which is a null URI value throwing an exception. So the Function Worker doesn’t seem to start.
🤞🏼
a
Thanks !!!