No luck running 3.0.0.rc9 under Azure

btw:

"**Note: **we had to pass -L to get curl to follow the redirect successfully, to create an event. "

Totally normal (its a redirect that tells it to follow the redirect)

Thanks Greg, I will check into the alias.

The note is in ref to the docs in the wiki. It doesn't have the -L in the example. If it's public I can edit it

It is though there was a change there

OK, thanks. I’ll have to look tomorrow more. I tried to go through the docs about cluster node and settings, but no luck getting it visible externally.

We have this in our config:

{

“db”: “/datadrive/eventStore/db”,

“logsDir”: “/datadrive/eventStore/logs”,

“ip”: “10.215.66.97”,

“httpPrefixes”: [“http://v1eventstore.cloudapp.net:2113/”],

“runProjections”:“ALL”,

}

I even tried to add: “externalIp”: “157.56.178.22”

Not really sure what to try next.

Josh

What do you get on ipconfig?

If you bind to the local address there can you access it from the local machine?

We’ve been able to access it from the local machine. We were able to post to a new stream and read from it (shown above)

Here’s config:

azureuser@V1EventStore:/datadrive/eventstore-3.0.0-rc9/EventStore-OSS-Linux-v3.0.0-rc9$ ifconfig

eth0 Link encap:Ethernet HWaddr 00:15:5d:43:d6:82

inet addr:10.215.66.97 Bcast:10.215.67.255 Mask:255.255.254.0

inet6 addr: fe80::215:5dff:fe43:d682/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:276777 errors:0 dropped:0 overruns:0 frame:0

TX packets:67205 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:375285051 (375.2 MB) TX bytes:7535558 (7.5 MB)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:65536 Metric:1

RX packets:149 errors:0 dropped:0 overruns:0 frame:0

TX packets:149 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:19507 (19.5 KB) TX bytes:19507 (19.5 KB)

that was on loopback :slight_smile:

azureuser@V1EventStore:~$ curl -i -d @ecent.jsonhttp://127.0.0.1:2113/streams/newstream” -H “Content-Type:application/json” -H “ES-EventType: SomeEvent”
HTTP/1.1 307

if you bind to 10.215.66.97 can you access it from the local machine?

No luck:

azureuser@V1EventStore:~$ curl -i -d @event.jsonhttp://10.215.66.97:2113/streams/newstream” -H “Content-Type:application/json” -H “ES-EventType: SomeEvent” -L

curl: (7) Failed to connect to 10.215.66.97 port 2113: Connection refused

Is the config.json wrong?

We have this in the same folder as run-node.sh:

azureuser@V1EventStore:~$ cat /datadrive/eventstore-3.0.0-rc9/EventStore-OSS-Linux-v3.0.0-rc9/config.json

{

“db”: “/datadrive/eventStore/db”,

“logsDir”: “/datadrive/eventStore/logs”,

“ip”: “10.215.66.97”,

“httpPrefixes”: [“http://v1eventstore.cloudapp.net:2113/”],

“runProjections”:“ALL”

}

Can you copy/paste the first like 50 lines of running? It dumps what your config is (or use --whatif)

btw as a note @all https://github.com/EventStore/EventStore/issues/215

Here it is, I didn’t see the IP in there :confused:

[08887,01,00:08:25.337]

ES VERSION: 3.0.0.0 (master/fad2eec252a406deefee21aaf6b8564296854864, Mon, 18 Aug 2014 20:01:07 -0400)

OS: Unknown (Unix 3.13.0.32)

RUNTIME: 3.6.0 ((detached/f540f8a) (64-bit)

GC: 2 GENERATIONS

LOGS: /tmp/EventStore/2014-09-10_00.03.30.578613-Node2113-logs

HELP: False ()

VERSION: False ()

LOG: ()

CONFIG: ()

DEFINES: ()

WHAT IF: False ()

INT IP: 127.0.0.1 ()

EXT IP: 127.0.0.1 ()

INT HTTP PORT: 2112 ()

EXT HTTP PORT: 2113 ()

INT TCP PORT: 1112 ()

INT SECURE TCP PORT: 0 ()

EXT TCP PORT: 1113 ()

EXT SECURE TCP PORT: 0 ()

TCP TIMEOUT: 1000 ()

FORCE: False ()

CLUSTER SIZE: 1 ()

NODE PRIORITY: 0 ()

MIN FLUSH DELAY MS: 2 ()

COMMIT COUNT: -1 ()

PREPARE COUNT: -1 ()

ADMIN ON EXT: True ()

STATS ON EXT: True ()

GOSSIP ON EXT: True ()

DISABLE SCAVENGE MERGING: False ()

DISCOVER VIA DNS: True ()

CLUSTER DNS: fake.dns ()

CLUSTER GOSSIP PORT: 30777 ()

GOSSIP SEED: ()

STATS PERIOD SEC: 30 ()

CACHED CHUNKS: -1 ()

CHUNKS CACHE SIZE: 536871424 ()

MAX MEM TABLE SIZE: 1000000 ()

DB: ()

MEM DB: False ()

SKIP DB VERIFY: False ()

RUN PROJECTIONS: System ()

PROJECTION THREADS: 3 ()

WORKER THREADS: 5 ()

HTTP PREFIXES: ()

ENABLE TRUSTED AUTH: False ()

CERTIFICATE STORE LOCATION: ()

CERTIFICATE STORE NAME: ()

CERTIFICATE SUBJECT NAME: ()

CERTIFICATE THUMBPRINT: ()

CERTIFICATE FILE: ()

CERTIFICATE PASSWORD: ()

USE INTERNAL SSL: False ()

SSL TARGET HOST: n/a ()

SSL VALIDATE SERVER: True ()

AUTHENTICATION TYPE: internal ()

PREPARE TIMEOUT MS: 2000 ()

COMMIT TIMEOUT MS: 2000 ()

UNSAFE DISABLE FLUSH TO DISK: False ()

GOSSIP INTERVAL MS: 1000 ()

GOSSIP ALLOWED DIFFERENCE MS: 60000 ()

GOSSIP TIMEOUT MS: 500 ()

[08887,01,00:08:25.463] Quorum size set to 1

[08887,01,00:08:25.470] Can’t find plugins path: plugins

[08887,01,00:08:25.505]

INSTANCE ID: 6e166e03-732f-44fc-a0cc-d37a883be904

DATABASE: /tmp/EventStore/2014-09-10_00.03.30.578613-Node2113

WRITER CHECKPOINT: 0 (0x0)

CHASER CHECKPOINT: 0 (0x0)

EPOCH CHECKPOINT: -1 (0xFFFFFFFFFFFFFFFF)

TRUNCATE CHECKPOINT: -1 (0xFFFFFFFFFFFFFFFF)

Its using the default ip

EXT IP: 127.0.0.1 ()

Please c/p command line relevant configs etc

Here’s config.json:

{

“db”: “/datadrive/eventStore/db”,

“logsDir”: “/datadrive/eventStore/logs”,

“ip”: “10.215.66.97”,

“internalIp”: “10.215.66.97”, // See note below…

“httpPrefixes”: [“http://v1eventstore.cloudapp.net:2113/”],

“runProjections”:“ALL”

}

I’ve tried both like this:

. ./run-node.sh --config config.json

and just without --config:

. ./run-node.sh

When I do it with --config config.json, the start appears to pick up some of the info, as you can see below…

IP and Internal IP say “Config File” next to them at the bottom.

I’ve tried without internalIp and have tried with it set to 127.0.0.1 just for kicks.

So far, no matter what I try, I cannot hit it externally, nor does the curl command work when pointed at the 10.215.66.97 IP.

azureuser@V1EventStore:/datadrive/eventstore-3.0.0-rc9/EventStore-OSS-Linux-v3.0.0-rc9$ . ./run-node.sh --config config.json

[09395,01,01:25:47.640]

ES VERSION: 3.0.0.0 (master/fad2eec252a406deefee21aaf6b8564296854864, Mon, 18 Aug 2014 20:01:07 -0400)

OS: Unknown (Unix 3.13.0.32)

RUNTIME: 3.6.0 ((detached/f540f8a) (64-bit)

GC: 2 GENERATIONS

LOGS: /tmp/EventStore/2014-09-10_01.25.46.418252-Node2113-logs

HELP: False ()

VERSION: False ()

LOG: ()

CONFIG: config.json (Command Line)

DEFINES: ()

WHAT IF: False ()

INT IP: 127.0.0.1 ()

EXT IP: 127.0.0.1 ()

INT HTTP PORT: 2112 ()

EXT HTTP PORT: 2113 ()

INT TCP PORT: 1112 ()

INT SECURE TCP PORT: 0 ()

EXT TCP PORT: 1113 ()

EXT SECURE TCP PORT: 0 ()

TCP TIMEOUT: 1000 ()

FORCE: False ()

CLUSTER SIZE: 1 ()

NODE PRIORITY: 0 ()

MIN FLUSH DELAY MS: 2 ()

COMMIT COUNT: -1 ()

PREPARE COUNT: -1 ()

ADMIN ON EXT: True ()

STATS ON EXT: True ()

GOSSIP ON EXT: True ()

DISABLE SCAVENGE MERGING: False ()

DISCOVER VIA DNS: True ()

CLUSTER DNS: fake.dns ()

CLUSTER GOSSIP PORT: 30777 ()

GOSSIP SEED: ()

STATS PERIOD SEC: 30 ()

CACHED CHUNKS: -1 ()

CHUNKS CACHE SIZE: 536871424 ()

MAX MEM TABLE SIZE: 1000000 ()

DB: ()

MEM DB: False ()

SKIP DB VERIFY: False ()

RUN PROJECTIONS: System ()

PROJECTION THREADS: 3 ()

WORKER THREADS: 5 ()

HTTP PREFIXES: ()

ENABLE TRUSTED AUTH: False ()

CERTIFICATE STORE LOCATION: ()

CERTIFICATE STORE NAME: ()

CERTIFICATE SUBJECT NAME: ()

CERTIFICATE THUMBPRINT: ()

CERTIFICATE FILE: ()

CERTIFICATE PASSWORD: ()

USE INTERNAL SSL: False ()

SSL TARGET HOST: n/a ()

SSL VALIDATE SERVER: True ()

AUTHENTICATION TYPE: internal ()

PREPARE TIMEOUT MS: 2000 ()

COMMIT TIMEOUT MS: 2000 ()

UNSAFE DISABLE FLUSH TO DISK: False ()

GOSSIP INTERVAL MS: 1000 ()

GOSSIP ALLOWED DIFFERENCE MS: 60000 ()

GOSSIP TIMEOUT MS: 500 ()

DB: /datadrive/eventStore/db (Config File)

LOGS DIR: /datadrive/eventStore/logs (Config File)

IP: 10.215.66.97 (Config File)

INTERNAL IP: 10.215.66.97 (Config File)

HTTP PREFIXES: [ http://v1eventstore.cloudapp.net:2113/ ] (Config File)

RUN PROJECTIONS: ALL (Config File)

[09395,01,01:25:47.758] Quorum size set to 1

[09395,01,01:25:47.766] Can’t find plugins path: plugins

[09395,01,01:25:47.815]

INSTANCE ID: c2d13c68-9ad5-424d-ada6-080e125aa109

DATABASE: /tmp/EventStore/2014-09-10_01.25.46.418252-Node2113

WRITER CHECKPOINT: 0 (0x0)

CHASER CHECKPOINT: 0 (0x0)

EPOCH CHECKPOINT: -1 (0xFFFFFFFFFFFFFFFF)

TRUNCATE CHECKPOINT: -1 (0xFFFFFFFFFFFFFFFF)

I noticed multiple variations on ext ip, like:

CONFIG: config.json (Command Line)

DEFINES: ()

WHAT IF: False ()

INT IP: 127.0.0.1 ()

EXT IP: 127.0.0.1 ()

but later on:

IP: 10.215.66.97 (Config File)

INTERNAL IP: 10.215.66.97 (Config File)

EXTERNAL IP: 10.215.66.97 (Config File)

(I’ve also tried the 157.56.178.22) which is the real public address.

Are they distinct settings?

I got a little further when I used this command line:

. ./run-node.sh --config config.json --ext-ip 10.215.66.97

This time, in web browser over the internet I get:

With this command line:

. ./run-node.sh --config config.json --ext-ip 10.215.66.97

I can now do this successfully from bash:

azureuser@V1EventStore:~$ curl -i -d @event.jsonhttp://10.215.66.97:2113/streams/newstream” -H “Content-Type:application/json” -H “ES-EventType: SomeEvent” -L

201 Created.

That was not working before.

I kind of thought internal ip would be that one, and external the public one in Azure though.

If you’re using RC9, the configuration should be in YAML not in JSON. Docs do not yet reflect this necessarily, but there is a post explaining the changes here: http://geteventstore.com/blog/20140905/event-store-3.0.0-new-configuration-options/

Internal and external IPs are simply ways of separating the two types of traffic (client requests vs replication etc). Unless you have two interfaces on separate networks for this you can set them to the same interface on different ports and all will be well.
Setting either of them to loopback on a cluster is not going to turn out well (unless you’re running three nodes on one box).

James

Thank you James,

We are trying this now.

So far we have this:

Db: /datadrive/eventStore/db
LogsDir: /datadrive/eventStore/logs
IntIp: 10.215.66.97
HttpPrefixes:
- http://v1eventstore.cloudapp.net:2113/
RunProjections: ALL

Not sure if this is correct though… We are looking at this file for options:

https://github.com/EventStore/EventStore/blob/dev/src/EventStore.ClusterNode/ClusterNodeOptions.cs

We’re not having luck yet…any suggestions?

Thanks,

Josh

Are you setting an external ip as well?

We’ve tried a number of variations now, including using just ExtIp, using just IntIp, using both IntIp and ExtIp.

We also tried using just command line parameter passing instead of configs.

So, given the following info, what would you suggest we try for the config?

DNS NAME
V1EVENTSTORE.CLOUDAPP.NET

HOST NAME
V1EventStore
PUBLIC VIRTUAL IP (VIP) ADDRESS
157.56.178.22
INTERNAL IP ADDRESS
10.215.66.97

Here’s our current config:

Db: /datadrive/eventStore/db
LogsDir: /datadrive/eventStore/logs
ExtIp: 157.56.178.22
HttpPrefixes:
- http://v1eventstore.cloudapp.net:2113/
RunProjections: ALL

Here’s the result:
Exit reason: The requested address is not valid in this context

Full log:

azureuser@V1EventStore:/datadrive/eventstore-3.0.0-rc9/EventStore-OSS-Linux-v3.0.0-rc9$ . ./run-node.sh --config config.yml
[12687,01,17:20:16.124]
ES VERSION: 3.0.0.0 (master/fad2eec252a406deefee21aaf6b8564296854864, Mon, 18 Aug 2014 20:01:07 -0400)
OS: Unknown (Unix 3.13.0.32)
RUNTIME: 3.6.0 ((detached/f540f8a) (64-bit)
GC: 2 GENERATIONS
LOGS: /datadrive/eventStore/db-logs

HELP: False ()
VERSION: False ()
LOG: ()
CONFIG: config.yml (Command Line)
DEFINES: ()
WHAT IF: False ()
INT IP: 127.0.0.1 ()
EXT IP: 157.56.178.22 (Config File)
INT HTTP PORT: 2112 ()
EXT HTTP PORT: 2113 ()
INT TCP PORT: 1112 ()
INT SECURE TCP PORT: 0 ()
EXT TCP PORT: 1113 ()
EXT SECURE TCP PORT: 0 ()
TCP TIMEOUT: 1000 ()
FORCE: False ()
CLUSTER SIZE: 1 ()
NODE PRIORITY: 0 ()
MIN FLUSH DELAY MS: 2 ()
COMMIT COUNT: -1 ()
PREPARE COUNT: -1 ()
ADMIN ON EXT: True ()
STATS ON EXT: True ()
GOSSIP ON EXT: True ()
DISABLE SCAVENGE MERGING: False ()
DISCOVER VIA DNS: True ()
CLUSTER DNS: fake.dns ()
CLUSTER GOSSIP PORT: 30777 ()
GOSSIP SEED: ()
STATS PERIOD SEC: 30 ()
CACHED CHUNKS: -1 ()
CHUNKS CACHE SIZE: 536871424 ()
MAX MEM TABLE SIZE: 1000000 ()
DB: /datadrive/eventStore/db (Config File)
MEM DB: False ()
SKIP DB VERIFY: False ()
RUN PROJECTIONS: ALL (Config File)
PROJECTION THREADS: 3 ()
WORKER THREADS: 5 ()
HTTP PREFIXES: [ http://v1eventstore.cloudapp.net:2113/ ] (Config File)
ENABLE TRUSTED AUTH: False ()
CERTIFICATE STORE LOCATION: ()
CERTIFICATE STORE NAME: ()
CERTIFICATE SUBJECT NAME: ()
CERTIFICATE THUMBPRINT: ()
CERTIFICATE FILE: ()
CERTIFICATE PASSWORD: ()
USE INTERNAL SSL: False ()
SSL TARGET HOST: n/a ()
SSL VALIDATE SERVER: True ()
AUTHENTICATION TYPE: internal ()
PREPARE TIMEOUT MS: 2000 ()
COMMIT TIMEOUT MS: 2000 ()
UNSAFE DISABLE FLUSH TO DISK: False ()
GOSSIP INTERVAL MS: 1000 ()
GOSSIP ALLOWED DIFFERENCE MS: 60000 ()
GOSSIP TIMEOUT MS: 500 ()
LOGS DIR: /datadrive/eventStore/logs (Config File)

[12687,01,17:20:16.168] Quorum size set to 1
[12687,01,17:20:16.176] Can’t find plugins path: plugins
[12687,01,17:20:16.235]
INSTANCE ID: 745d85ad-81e5-4e3d-bfa7-9bc0b0cdb28e
DATABASE: /datadrive/eventStore/db
WRITER CHECKPOINT: 0 (0x0)
CHASER CHECKPOINT: 0 (0x0)
EPOCH CHECKPOINT: -1 (0xFFFFFFFFFFFFFFFF)
TRUNCATE CHECKPOINT: -1 (0xFFFFFFFFFFFFFFFF)

[12687,01,17:20:16.448] MessageHierarchy initialization took 00:00:00.1651867.
[12687,01,17:20:16.584] CACHED TFChunk #0-0 (chunk-000000.000000) in 00:00:00.0032496.
[12687,01,17:20:16.773] Starting MiniWeb for /web/es/js/projections ==> /datadrive/eventstore-3.0.0-rc9/EventStore-OSS-Linux-v3.0.0-rc9/clusternode-web/js/projections
[12687,01,17:20:16.774] Starting MiniWeb for /web/es/js/projections/v8/Prelude ==> /datadrive/eventstore-3.0.0-rc9/EventStore-OSS-Linux-v3.0.0-rc9/Prelude
[12687,01,17:20:16.774] Starting MiniWeb for /web/es/js/projections/resources ==> /datadrive/eventstore-3.0.0-rc9/EventStore-OSS-Linux-v3.0.0-rc9/web-resources/js
[12687,01,17:20:16.775] Binding MiniWeb to /web/es/js/projections/{*remaining_path}
[12687,01,17:20:16.776] Binding MiniWeb to /web/es/js/projections/v8/Prelude/{*remaining_path}
[12687,01,17:20:16.776] Binding MiniWeb to /web/es/js/projections/resources/{*remaining_path}
[12687,01,17:20:16.791] Starting MiniWeb for /web ==> /datadrive/eventstore-3.0.0-rc9/EventStore-OSS-Linux-v3.0.0-rc9/clusternode-web
[12687,01,17:20:16.792] Binding MiniWeb to /web/{*remaining_path}
[12687,01,17:20:16.794] Starting MiniWeb for /web/users ==> /datadrive/eventstore-3.0.0-rc9/EventStore-OSS-Linux-v3.0.0-rc9/Users/web
[12687,01,17:20:16.794] Binding MiniWeb to /web/users/{*remaining_path}
[12687,09,17:20:16.823] ========== [127.0.0.1:2112] SYSTEM INIT…
Exiting with exit code: 1.
Exit reason: The requested address is not valid in this context
[12687,09,17:20:16.888] Starting Normal TCP listening on TCP endpoint: 157.56.178.22:1113.
[12687,09,17:20:16.891] Failed to listen on TCP endpoint: 157.56.178.22:1113.
[12687,14,17:20:16.916] TableIndex initialization…
[12687,14,17:20:16.937] ReadIndex building…
[12687,14,17:20:16.938] ReadIndex rebuilding done: total processed 0 records, time elapsed: 00:00:00.0009340.
[12687,09,17:20:16.958] Exiting with exit code: 1.
Exit reason: The requested address is not valid in this context

Hide full text