You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@zookeeper.apache.org by Bahman Kalali <ba...@gmail.com> on 2013/03/20 21:52:43 UTC

Error Path when creating a node

Hi,

I am using this API to create a node:

        lockPath = zk.create(/apps/neo4j/zookeeper/data/searchlock, null,
                    Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);

Here is my setting in zoo.cfg in one of three servers:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/apps/neo4j/zookeeper/data/zk1
dataLogDir=/apps/neo4j/zookeeper/log/zk1
clientPort=2185
server.1=upladevzoo01v:2988:3988
server.2=upladevzoo01v:2989:3989
server.3=upladevzoo01v:2990:3990


However, I get this exception on the server log "Error
Path:/apps/neo4j/zookeeper/data"

2013-03-20 15:39:44,882 [myid:2] - INFO  [ProcessThread(sid:2
cport:-1)::PrepRequestProcessor@627] - Got user-level KeeperException when
processing sessionid:0x23d895990500004 type:create cxid:0x1
zxid:0x100000020 txntype:-1 reqpath:n/a Error
Path:/apps/neo4j/zookeeper/data Error:KeeperErrorCode = NoNode for
/apps/neo4j/zookeeper/data

The same setting works fine on my local windows box, but not on a unix box.

Does this have anything to do with permission on unix box?

BR//Bahman

Re: Error Path when creating a node

Posted by Bahman Kalali <ba...@gmail.com>.
I think I find a way to create this /apps/neo4j/zookeeper/data path
recursively in Java code, but I need it change the mode to
CreateMode.PERSISTENT instead of CreateMode.EPHEMERAL_
SEQUENTIAL.

I am not sure why I did not run into issues on windows. The only difference
is that on windows the root is /zookeeper/data and on unix is
/apps/neo4j/zookeeper/data.

BR//Bahman
.

On Wed, Mar 20, 2013 at 5:06 PM, Camille Fournier <ca...@apache.org>wrote:

> Did you create this path on the unix file system, or in ZooKeeper?
> ZooKeeper isn't reading the unix file system for nodes, it's reading its
> own internal data tree. You need to create the nodes in ZooKeeper.
>
>
> On Wed, Mar 20, 2013 at 6:04 PM, Bahman Kalali <bahman.kalali@gmail.com
> >wrote:
>
> > Hi Camille,
> >
> > Thank you very much for your reply!
> >
> > I already created the path /apps/neo4j/zookeeper/data on unix box. Under
> > this path for a cluster of three servers, I have zk1,zk2,zk3 for each
> > server where each zk1, zk2, zk3 have myid files. Also, I can see that
> > version-2 also created under  zk1,zk2,zk3. All these directors are
> created
> > manualy under my user id and not root.
> >
> > However, I still when I create a node under /apps/neo4j/zookeeper/data, I
> > will get an error "Error Path:/apps/neo4j/zookeeper/data
> > Error:KeeperErrorCode = NoNode for /apps/neo4j/zookeeper/data"
> >
> > BR//Bahman
> >
> >
> >
> > On Wed, Mar 20, 2013 at 4:29 PM, Camille Fournier <camille@apache.org
> > >wrote:
> >
> > > The path /apps/neo4j/zookeeper/data has not been created in the ZK on
> > your
> > > unix box. You need to create that path before you can write an
> ephemeral
> > > node to it. You probably did this already on your windows ZK which is
> why
> > > you aren't seeing the error. ZooKeeper does not create parent nodes in
> a
> > > path for you, you must create the full path yourself if it hasn't been
> > > created.
> > > As per the documentation:
> > > "If the parent node does not exist in the ZooKeeper, a KeeperException
> > with
> > > error code KeeperException.NoNode will be thrown."
> > >
> > >
> > > On Wed, Mar 20, 2013 at 4:52 PM, Bahman Kalali <
> bahman.kalali@gmail.com
> > > >wrote:
> > >
> > > > Hi,
> > > >
> > > > I am using this API to create a node:
> > > >
> > > >         lockPath = zk.create(/apps/neo4j/zookeeper/data/searchlock,
> > null,
> > > >                     Ids.OPEN_ACL_UNSAFE,
> > > CreateMode.EPHEMERAL_SEQUENTIAL);
> > > >
> > > > Here is my setting in zoo.cfg in one of three servers:
> > > >
> > > > tickTime=2000
> > > > initLimit=10
> > > > syncLimit=5
> > > > dataDir=/apps/neo4j/zookeeper/data/zk1
> > > > dataLogDir=/apps/neo4j/zookeeper/log/zk1
> > > > clientPort=2185
> > > > server.1=upladevzoo01v:2988:3988
> > > > server.2=upladevzoo01v:2989:3989
> > > > server.3=upladevzoo01v:2990:3990
> > > >
> > > >
> > > > However, I get this exception on the server log "Error
> > > > Path:/apps/neo4j/zookeeper/data"
> > > >
> > > > 2013-03-20 15:39:44,882 [myid:2] - INFO  [ProcessThread(sid:2
> > > > cport:-1)::PrepRequestProcessor@627] - Got user-level
> KeeperException
> > > when
> > > > processing sessionid:0x23d895990500004 type:create cxid:0x1
> > > > zxid:0x100000020 txntype:-1 reqpath:n/a Error
> > > > Path:/apps/neo4j/zookeeper/data Error:KeeperErrorCode = NoNode for
> > > > /apps/neo4j/zookeeper/data
> > > >
> > > > The same setting works fine on my local windows box, but not on a
> unix
> > > box.
> > > >
> > > > Does this have anything to do with permission on unix box?
> > > >
> > > > BR//Bahman
> > > >
> > >
> >
>

Re: Error Path when creating a node

Posted by Bahman Kalali <ba...@gmail.com>.
I created a cluster of three servers manually on windows and then I copied
the cluster to unix box. I am hearing that is the issue now.

How can I create nodes in ZooKeeper?

BR//Bahman


On Wed, Mar 20, 2013 at 5:06 PM, Camille Fournier <ca...@apache.org>wrote:

> Did you create this path on the unix file system, or in ZooKeeper?
> ZooKeeper isn't reading the unix file system for nodes, it's reading its
> own internal data tree. You need to create the nodes in ZooKeeper.
>
>
> On Wed, Mar 20, 2013 at 6:04 PM, Bahman Kalali <bahman.kalali@gmail.com
> >wrote:
>
> > Hi Camille,
> >
> > Thank you very much for your reply!
> >
> > I already created the path /apps/neo4j/zookeeper/data on unix box. Under
> > this path for a cluster of three servers, I have zk1,zk2,zk3 for each
> > server where each zk1, zk2, zk3 have myid files. Also, I can see that
> > version-2 also created under  zk1,zk2,zk3. All these directors are
> created
> > manualy under my user id and not root.
> >
> > However, I still when I create a node under /apps/neo4j/zookeeper/data, I
> > will get an error "Error Path:/apps/neo4j/zookeeper/data
> > Error:KeeperErrorCode = NoNode for /apps/neo4j/zookeeper/data"
> >
> > BR//Bahman
> >
> >
> >
> > On Wed, Mar 20, 2013 at 4:29 PM, Camille Fournier <camille@apache.org
> > >wrote:
> >
> > > The path /apps/neo4j/zookeeper/data has not been created in the ZK on
> > your
> > > unix box. You need to create that path before you can write an
> ephemeral
> > > node to it. You probably did this already on your windows ZK which is
> why
> > > you aren't seeing the error. ZooKeeper does not create parent nodes in
> a
> > > path for you, you must create the full path yourself if it hasn't been
> > > created.
> > > As per the documentation:
> > > "If the parent node does not exist in the ZooKeeper, a KeeperException
> > with
> > > error code KeeperException.NoNode will be thrown."
> > >
> > >
> > > On Wed, Mar 20, 2013 at 4:52 PM, Bahman Kalali <
> bahman.kalali@gmail.com
> > > >wrote:
> > >
> > > > Hi,
> > > >
> > > > I am using this API to create a node:
> > > >
> > > >         lockPath = zk.create(/apps/neo4j/zookeeper/data/searchlock,
> > null,
> > > >                     Ids.OPEN_ACL_UNSAFE,
> > > CreateMode.EPHEMERAL_SEQUENTIAL);
> > > >
> > > > Here is my setting in zoo.cfg in one of three servers:
> > > >
> > > > tickTime=2000
> > > > initLimit=10
> > > > syncLimit=5
> > > > dataDir=/apps/neo4j/zookeeper/data/zk1
> > > > dataLogDir=/apps/neo4j/zookeeper/log/zk1
> > > > clientPort=2185
> > > > server.1=upladevzoo01v:2988:3988
> > > > server.2=upladevzoo01v:2989:3989
> > > > server.3=upladevzoo01v:2990:3990
> > > >
> > > >
> > > > However, I get this exception on the server log "Error
> > > > Path:/apps/neo4j/zookeeper/data"
> > > >
> > > > 2013-03-20 15:39:44,882 [myid:2] - INFO  [ProcessThread(sid:2
> > > > cport:-1)::PrepRequestProcessor@627] - Got user-level
> KeeperException
> > > when
> > > > processing sessionid:0x23d895990500004 type:create cxid:0x1
> > > > zxid:0x100000020 txntype:-1 reqpath:n/a Error
> > > > Path:/apps/neo4j/zookeeper/data Error:KeeperErrorCode = NoNode for
> > > > /apps/neo4j/zookeeper/data
> > > >
> > > > The same setting works fine on my local windows box, but not on a
> unix
> > > box.
> > > >
> > > > Does this have anything to do with permission on unix box?
> > > >
> > > > BR//Bahman
> > > >
> > >
> >
>

Re: Error Path when creating a node

Posted by Camille Fournier <ca...@apache.org>.
Did you create this path on the unix file system, or in ZooKeeper?
ZooKeeper isn't reading the unix file system for nodes, it's reading its
own internal data tree. You need to create the nodes in ZooKeeper.


On Wed, Mar 20, 2013 at 6:04 PM, Bahman Kalali <ba...@gmail.com>wrote:

> Hi Camille,
>
> Thank you very much for your reply!
>
> I already created the path /apps/neo4j/zookeeper/data on unix box. Under
> this path for a cluster of three servers, I have zk1,zk2,zk3 for each
> server where each zk1, zk2, zk3 have myid files. Also, I can see that
> version-2 also created under  zk1,zk2,zk3. All these directors are created
> manualy under my user id and not root.
>
> However, I still when I create a node under /apps/neo4j/zookeeper/data, I
> will get an error "Error Path:/apps/neo4j/zookeeper/data
> Error:KeeperErrorCode = NoNode for /apps/neo4j/zookeeper/data"
>
> BR//Bahman
>
>
>
> On Wed, Mar 20, 2013 at 4:29 PM, Camille Fournier <camille@apache.org
> >wrote:
>
> > The path /apps/neo4j/zookeeper/data has not been created in the ZK on
> your
> > unix box. You need to create that path before you can write an ephemeral
> > node to it. You probably did this already on your windows ZK which is why
> > you aren't seeing the error. ZooKeeper does not create parent nodes in a
> > path for you, you must create the full path yourself if it hasn't been
> > created.
> > As per the documentation:
> > "If the parent node does not exist in the ZooKeeper, a KeeperException
> with
> > error code KeeperException.NoNode will be thrown."
> >
> >
> > On Wed, Mar 20, 2013 at 4:52 PM, Bahman Kalali <bahman.kalali@gmail.com
> > >wrote:
> >
> > > Hi,
> > >
> > > I am using this API to create a node:
> > >
> > >         lockPath = zk.create(/apps/neo4j/zookeeper/data/searchlock,
> null,
> > >                     Ids.OPEN_ACL_UNSAFE,
> > CreateMode.EPHEMERAL_SEQUENTIAL);
> > >
> > > Here is my setting in zoo.cfg in one of three servers:
> > >
> > > tickTime=2000
> > > initLimit=10
> > > syncLimit=5
> > > dataDir=/apps/neo4j/zookeeper/data/zk1
> > > dataLogDir=/apps/neo4j/zookeeper/log/zk1
> > > clientPort=2185
> > > server.1=upladevzoo01v:2988:3988
> > > server.2=upladevzoo01v:2989:3989
> > > server.3=upladevzoo01v:2990:3990
> > >
> > >
> > > However, I get this exception on the server log "Error
> > > Path:/apps/neo4j/zookeeper/data"
> > >
> > > 2013-03-20 15:39:44,882 [myid:2] - INFO  [ProcessThread(sid:2
> > > cport:-1)::PrepRequestProcessor@627] - Got user-level KeeperException
> > when
> > > processing sessionid:0x23d895990500004 type:create cxid:0x1
> > > zxid:0x100000020 txntype:-1 reqpath:n/a Error
> > > Path:/apps/neo4j/zookeeper/data Error:KeeperErrorCode = NoNode for
> > > /apps/neo4j/zookeeper/data
> > >
> > > The same setting works fine on my local windows box, but not on a unix
> > box.
> > >
> > > Does this have anything to do with permission on unix box?
> > >
> > > BR//Bahman
> > >
> >
>

Re: Error Path when creating a node

Posted by Bahman Kalali <ba...@gmail.com>.
Hi Camille,

Thank you very much for your reply!

I already created the path /apps/neo4j/zookeeper/data on unix box. Under
this path for a cluster of three servers, I have zk1,zk2,zk3 for each
server where each zk1, zk2, zk3 have myid files. Also, I can see that
version-2 also created under  zk1,zk2,zk3. All these directors are created
manualy under my user id and not root.

However, I still when I create a node under /apps/neo4j/zookeeper/data, I
will get an error "Error Path:/apps/neo4j/zookeeper/data
Error:KeeperErrorCode = NoNode for /apps/neo4j/zookeeper/data"

BR//Bahman



On Wed, Mar 20, 2013 at 4:29 PM, Camille Fournier <ca...@apache.org>wrote:

> The path /apps/neo4j/zookeeper/data has not been created in the ZK on your
> unix box. You need to create that path before you can write an ephemeral
> node to it. You probably did this already on your windows ZK which is why
> you aren't seeing the error. ZooKeeper does not create parent nodes in a
> path for you, you must create the full path yourself if it hasn't been
> created.
> As per the documentation:
> "If the parent node does not exist in the ZooKeeper, a KeeperException with
> error code KeeperException.NoNode will be thrown."
>
>
> On Wed, Mar 20, 2013 at 4:52 PM, Bahman Kalali <bahman.kalali@gmail.com
> >wrote:
>
> > Hi,
> >
> > I am using this API to create a node:
> >
> >         lockPath = zk.create(/apps/neo4j/zookeeper/data/searchlock, null,
> >                     Ids.OPEN_ACL_UNSAFE,
> CreateMode.EPHEMERAL_SEQUENTIAL);
> >
> > Here is my setting in zoo.cfg in one of three servers:
> >
> > tickTime=2000
> > initLimit=10
> > syncLimit=5
> > dataDir=/apps/neo4j/zookeeper/data/zk1
> > dataLogDir=/apps/neo4j/zookeeper/log/zk1
> > clientPort=2185
> > server.1=upladevzoo01v:2988:3988
> > server.2=upladevzoo01v:2989:3989
> > server.3=upladevzoo01v:2990:3990
> >
> >
> > However, I get this exception on the server log "Error
> > Path:/apps/neo4j/zookeeper/data"
> >
> > 2013-03-20 15:39:44,882 [myid:2] - INFO  [ProcessThread(sid:2
> > cport:-1)::PrepRequestProcessor@627] - Got user-level KeeperException
> when
> > processing sessionid:0x23d895990500004 type:create cxid:0x1
> > zxid:0x100000020 txntype:-1 reqpath:n/a Error
> > Path:/apps/neo4j/zookeeper/data Error:KeeperErrorCode = NoNode for
> > /apps/neo4j/zookeeper/data
> >
> > The same setting works fine on my local windows box, but not on a unix
> box.
> >
> > Does this have anything to do with permission on unix box?
> >
> > BR//Bahman
> >
>

Re: Error Path when creating a node

Posted by Camille Fournier <ca...@apache.org>.
The path /apps/neo4j/zookeeper/data has not been created in the ZK on your
unix box. You need to create that path before you can write an ephemeral
node to it. You probably did this already on your windows ZK which is why
you aren't seeing the error. ZooKeeper does not create parent nodes in a
path for you, you must create the full path yourself if it hasn't been
created.
As per the documentation:
"If the parent node does not exist in the ZooKeeper, a KeeperException with
error code KeeperException.NoNode will be thrown."


On Wed, Mar 20, 2013 at 4:52 PM, Bahman Kalali <ba...@gmail.com>wrote:

> Hi,
>
> I am using this API to create a node:
>
>         lockPath = zk.create(/apps/neo4j/zookeeper/data/searchlock, null,
>                     Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);
>
> Here is my setting in zoo.cfg in one of three servers:
>
> tickTime=2000
> initLimit=10
> syncLimit=5
> dataDir=/apps/neo4j/zookeeper/data/zk1
> dataLogDir=/apps/neo4j/zookeeper/log/zk1
> clientPort=2185
> server.1=upladevzoo01v:2988:3988
> server.2=upladevzoo01v:2989:3989
> server.3=upladevzoo01v:2990:3990
>
>
> However, I get this exception on the server log "Error
> Path:/apps/neo4j/zookeeper/data"
>
> 2013-03-20 15:39:44,882 [myid:2] - INFO  [ProcessThread(sid:2
> cport:-1)::PrepRequestProcessor@627] - Got user-level KeeperException when
> processing sessionid:0x23d895990500004 type:create cxid:0x1
> zxid:0x100000020 txntype:-1 reqpath:n/a Error
> Path:/apps/neo4j/zookeeper/data Error:KeeperErrorCode = NoNode for
> /apps/neo4j/zookeeper/data
>
> The same setting works fine on my local windows box, but not on a unix box.
>
> Does this have anything to do with permission on unix box?
>
> BR//Bahman
>