2019-04-30 16:10:13 UTC - Sébastien de Melo: Hi guys!  Is it supported to have 
multiple functions workers separated from the brokers?
----
2019-04-30 16:13:53 UTC - Matteo Merli: Yes
----
2019-04-30 16:14:32 UTC - Matteo Merli: You just start that as a separated 
component with `bin/pulsar functions-worker`
----
2019-04-30 16:23:08 UTC - Sébastien de Melo: Thank you!  That's what I did but 
the stats subcommand failed with the following error:
$ pulsar-admin --admin-url <http://lucky-star-pulsar-functions-worker:6750> 
functions stats --name Router
javax.ws.rs.ProcessingException: 
lucky-star-pulsar-functions-worker-5988889989-s7zzm: Name or service not known

Reason: HTTP 500 Internal Server Error
command terminated with exit code 1
----
2019-04-30 16:23:22 UTC - Sébastien de Melo: I guess I have to try with a 
StatefulSet
----
2019-04-30 16:27:44 UTC - Matteo Merli: Yes, it will redirect you to the worker 
that is running the particular function
----
2019-04-30 16:27:58 UTC - Matteo Merli: so that advertised name needs to be 
routable
----
2019-04-30 16:29:09 UTC - Poule: do Function support Python3 or just 2
----
2019-04-30 16:33:31 UTC - Poule: what means "Function in trigger function is 
not ready"
----
2019-04-30 16:58:01 UTC - Sanjeev Kulkarni: Functions support ython3
----
2019-04-30 16:58:16 UTC - Sanjeev Kulkarni: That means that function is not yet 
started 
----
2019-04-30 17:20:59 UTC - Poule: 10 minutes is long to start
----
2019-04-30 17:21:03 UTC - Poule: :0)
----
2019-04-30 17:25:35 UTC - Poule: Do I need to start pulsar in a Python3 
environment to insert python3 functions?
----
2019-04-30 17:26:13 UTC - Poule: Or all is taken care of whenever which python 
version I use
----
2019-04-30 17:27:30 UTC - Ali Ahmed: @Poule the functions just the the system 
python
----
2019-04-30 17:27:56 UTC - Ali Ahmed: it should point to python3 if you need to 
use that.
----
2019-04-30 17:28:46 UTC - Poule: it takes python in the path I guess?
----
2019-04-30 17:42:12 UTC - Sanjeev Kulkarni: That is correct 
----
2019-04-30 17:42:40 UTC - Sanjeev Kulkarni: Wrt function not starting after a 
long time, check for any errors in the broker or function worker side 
----
2019-04-30 17:42:57 UTC - Sanjeev Kulkarni: Are you running in threaded or 
process mode?
----
2019-04-30 17:43:42 UTC - Poule: I `tail -f` the logs but nothing interesting
----
2019-04-30 17:43:51 UTC - Poule: no idea what is threaded vs process mode
----
2019-04-30 17:44:07 UTC - Poule: i just started basic `pulsar standalone`
----
2019-04-30 17:45:14 UTC - Poule: in a `pipenv shell` env
----
2019-04-30 17:47:14 UTC - Poule: so far it works in python2
----
2019-04-30 17:49:26 UTC - Sanjeev Kulkarni: It’s python right so it has to be 
process mode 
----
2019-04-30 17:49:46 UTC - Sanjeev Kulkarni: Do you have function logs?
----
2019-04-30 17:55:51 UTC - Poule: it does not log it fails before with 
```13:54:55.548 [function-timer-thread-82-1] ERROR 
org.apache.pulsar.functions.runtime.ProcessRuntime - Extracted Process death 
exception
java.lang.RuntimeException:
        at 
org.apache.pulsar.functions.runtime.ProcessRuntime.tryExtractingDeathException(ProcessRuntime.java:378)
 ~[org.apache.pulsar-pulsar-functions-runtime-2.3.1.jar:2.3.1]```
----
2019-04-30 17:57:42 UTC - Poule: my guess is wrong python version, need to 
investigate
----
2019-04-30 17:59:55 UTC - Devin G. Bost: We've had some concerns about how well 
Pulsar might perform (in terms of availability) in Kubernetes due to the fact 
that Pulsar is a stateful service. Does anyone have some wisdom they could 
please share about any issues with Pulsar in Kubernetes they've experienced and 
what they've done about them (and how well those solutions worked)?
----
2019-04-30 18:01:35 UTC - Poule: do you like Kubernetes?
----
2019-04-30 18:02:47 UTC - Devin G. Bost: I personally don't have enough 
experience with Kubernetes to give a strong opinion about it, but my colleagues 
(and those on my team) like it.
----
2019-04-30 18:03:54 UTC - Matteo Merli: @Devin G. Bost We have been running 
Pulsar in Kubernetes in production for a while with very good results.

Sure, it takes a while for one to get acquainted with Kubernetes and there sure 
is a learning curve (as I guess the same could be said of Pulsar…)

Though, in my view, the current status is very solid and flexible.
----
2019-04-30 18:05:54 UTC - Poule: what's the advantages of running P on K?
----
2019-04-30 18:06:38 UTC - Matteo Merli: Simplified operations and integration 
with modern ecosystem.
----
2019-04-30 18:07:02 UTC - Devin G. Bost: @Matteo Merli Thanks for the feedback. 
Are there any specific issues that you needed to address to keep everything 
stable (such as dealing with failure states, edge cases, etc.)?
----
2019-04-30 18:07:24 UTC - Matteo Merli: There are a loot of very good tools 
that are coming up with out-of-the-box K8S integrations.
----
2019-04-30 18:09:21 UTC - Matteo Merli: I’d say the biggest “hurdle” was to 
“learn” kubernetes :slightly_smiling_face: and understand all the options and 
how to configure them. For example the semantics of stateful sets (what’s being 
preserved and what not). Or the monitoring readinessProbes and livenessProbe..
----
2019-04-30 18:10:54 UTC - Poule: merlimat you installed K by hand or through 
Rancher/others
----
2019-04-30 18:11:21 UTC - Matteo Merli: Mostly EKS or GKE
----
2019-04-30 18:11:59 UTC - Poule: ok, good idea
----
2019-04-30 18:12:14 UTC - Matteo Merli: I guess that helps keeping the scary 
parts far away
----
2019-04-30 18:12:25 UTC - Poule: yup!
----
2019-04-30 18:26:13 UTC - Thor Sigurjonsson: Yep. I love K8S to be sure - I 
guess on our end I'm thinking we're needing a multi-site instance of pulsar -- 
we foresee different workloads and different latency and uptime requirements. 
also -- I'm betting on doing k8s for anything but the "core" multi-site and 
highest uptime requirements of that solution..
----
2019-04-30 18:27:14 UTC - Thor Sigurjonsson: I think in our world that means we 
might have a "bare-metal" core cluster at each site with the high uptime 
requirements.
----
2019-04-30 18:27:47 UTC - Poule: @Thor Sigurjonsson are you on EKS or GKE
----
2019-04-30 18:27:49 UTC - Thor Sigurjonsson: We're also looking to do workloads 
in functions that might not play nice with that core cluster but would live 
nicely in a k8s cluster.
----
2019-04-30 18:28:01 UTC - Thor Sigurjonsson: We've got one GKE cluster at the 
moment
----
2019-04-30 18:28:08 UTC - Thor Sigurjonsson: but we have on-prem stuff too.
----
2019-04-30 18:28:50 UTC - Thor Sigurjonsson: we also have machine learning 
workloads that we're exploring integrating somehow into pulsar functions...
+1 : Dan C, Jon Bock
----
2019-04-30 18:30:13 UTC - Thor Sigurjonsson: Our bare metal solution right now 
is just Docker with host networking and local volumes mounted and all that 
simply orchestrated with salt. Docker is set up also for live-restore and nicer 
prod settings like that.
----
2019-04-30 18:32:51 UTC - Poule: do you like salt better than ansible
----
2019-04-30 18:44:06 UTC - Thor Sigurjonsson: Personally -- I guess so yes. I 
have more experience with it -- I guess it has more "features" which make it 
more usable for more than just setup of infrastructure / classic config mgmt.
----
2019-04-30 18:44:42 UTC - Thor Sigurjonsson: More reactive stuff I guess that 
way.
----
2019-04-30 19:11:50 UTC - Chris Bartholomew: I run Pulsar in GKE using 
pre-emptible nodes, which means my underlying nodes get destroyed and recreated 
every day. For a stateful service that sounds scary, but Pulsar on k8s handles 
it just fine. K8s reschedules everything, and Pulsar's architecture means it 
survives this daily chaos with minimal impact.
----
2019-05-01 05:35:54 UTC - Shivji Kumar Jha: I am trying to run a broker from my 
IDE (PulsarBrokerStarter.java)
I have changed the broker.conf to use standalone.
```
# Flag to control features that are meant to be used when running in standalone 
mode
isRunningStandalone=true

# Name of the cluster to which this broker belongs to
clusterName=shiv-local```
how do I tell standalone broker to run its own zookeeper?
I keep getting errors saying
```Required zookeeperServers is null```
----
2019-05-01 05:36:26 UTC - jose farfan: @jose farfan has joined the channel
----
2019-05-01 05:37:35 UTC - Matt Slack: @Matt Slack has joined the channel
----
2019-05-01 05:38:59 UTC - Shivji Kumar Jha: If i run an explicit zookeeper on 
my laptop and point standalone.conf to use that
```# Zookeeper quorum connection string
zookeeperServers=localhost:32770```
I still get an error saying
```Required zookeeperServers is null```
----
2019-05-01 05:49:49 UTC - Shivji Kumar Jha: Is this documented somewhere?
----
2019-05-01 06:12:52 UTC - Shivji Kumar Jha: Got it, pulsarstandalonestarter it 
is it seems..
----
2019-05-01 06:12:56 UTC - Sijie Guo: @Shivji Kumar Jha not quite understand 
your requirements. doesn’t bin/standalone start a standalone cluster?
----
2019-05-01 06:12:58 UTC - Shivji Kumar Jha: looking there now!
----
2019-05-01 06:13:11 UTC - Sijie Guo: if you want to start a standalone cluster 
in program, use `PulsarStandaloneStarter`
----
2019-05-01 06:13:30 UTC - Shivji Kumar Jha: I want to start pulsar from IDE, to 
debug bugs like the one you helped me with yesterday
----
2019-05-01 06:13:42 UTC - Shivji Kumar Jha: RIght figured that out just now
----
2019-05-01 06:14:43 UTC - Sijie Guo: i see :+1:
----
2019-05-01 06:37:36 UTC - Shivji Kumar Jha: @Sijie Guo I see the only required 
field is config

This is my args

``` "--config" "/Users/shivaji.jha/workspace/pulsar/conf/standalone.conf" 
"--only-broker" "true"```

But jcommander keeps failing to parse (last line below)

```
    public PulsarStandaloneStarter(String[] args) throws Exception {

        JCommander jcommander = new JCommander();
        try {
            jcommander.addObject(this);
            jcommander.parse(args);
```
----
2019-05-01 07:14:46 UTC - Shivji Kumar Jha: I changed args to
“--config” “/Users/shivaji.jha/workspace/pulsar/conf/standalone.conf”
And there are other crashes now…
----
2019-05-01 07:26:12 UTC - Shivji Kumar Jha: 12:52:30.137 [main] ERROR 
org.apache.pulsar.functions.worker.WorkerService - Error Starting up in worker
java.lang.RuntimeException: No JavaInstanceJar specified
        at 
org.apache.pulsar.functions.runtime.ProcessRuntimeFactory.&lt;init&gt;(ProcessRuntimeFactory.java:73)
 ~[classes/:?]
        at 
org.apache.pulsar.functions.worker.FunctionRuntimeManager.&lt;init&gt;(FunctionRuntimeManager.java:145)
 ~[classes/:?]
        at 
org.apache.pulsar.functions.worker.WorkerService.start(WorkerService.java:165) 
[classes/:?]
        at 
org.apache.pulsar.broker.PulsarService.startWorkerService(PulsarService.java:1044)
 [classes/:?]
        at org.apache.pulsar.broker.PulsarService.start(PulsarService.java:441) 
[classes/:?]
        at org.apache.pulsar.PulsarStandalone.start(PulsarStandalone.java:305) 
[classes/:?]
        at 
org.apache.pulsar.PulsarStandaloneStarter.main(PulsarStandaloneStarter.java:102)
 [classes/:?]
----
2019-05-01 07:41:57 UTC - Shivji Kumar Jha: worked it seems finally 
:slightly_smiling_face:
----

Reply via email to