123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- ZooKeeper REST implementation using Jersey JAX-RS.
- --------------------------------------------------
- This is an implementation of version 2 of the ZooKeeper REST spec.
- Note: This interface is currently experimental, may change at any time,
- etc... In general you should be using the Java/C client bindings to access
- the ZooKeeper server.
- This REST ZooKeeper gateway is useful because most of the languages
- have built-in support for working with HTTP based protocols.
- See SPEC.txt for details on the REST binding.
- Quickstart:
- -----------
- 1) start a zookeeper server on localhost port 2181
- 2) run "ant run"
- 3) use a REST client to access the data (see below for more details)
- curl http://localhost:9998/znodes/v1/
- or use the provided src/python scripts
- zk_dump_tree.py
- Tests:
- ----------
- 1) the full testsuite can be run via "ant test" target
- 2) the python client library also contains a test suite
- Examples Using CURL
- -------------------
- First review the spec SPEC.txt in this directory.
- #get the root node data
- curl http://localhost:9998/znodes/v1/
- #get children of the root node
- curl http://localhost:9998/znodes/v1/?view=children
- #get "/cluster1/leader" as xml (default is json)
- curl -H'Accept: application/xml' http://localhost:9998/znodes/v1/cluster1/leader
- #get the data as text
- curl -w "\n%{http_code}\n" "http://localhost:9998/znodes/v1/cluster1/leader?dataformat=utf8"
- #set a node (data.txt contains the ascii text you want to set on the node)
- curl -T data.txt -w "\n%{http_code}\n" "http://localhost:9998/znodes/v1/cluster1/leader?dataformat=utf8"
- #create a node
- curl -d "data1" -H'Content-Type: application/octet-stream' -w "\n%{http_code}\n" "http://localhost:9998/znodes/v1/?op=create&name=cluster2&dataformat=utf8"
- curl -d "data2" -H'Content-Type: application/octet-stream' -w "\n%{http_code}\n" "http://localhost:9998/znodes/v1/cluster2?op=create&name=leader&dataformat=utf8"
- #create a new session
- curl -d "" -H'Content-Type: application/octet-stream' -w "\n%{http_code}\n" "http://localhost:9998/sessions/v1/?op=create&expire=10"
- #session heartbeat
- curl -X "PUT" -H'Content-Type: application/octet-stream' -w "\n%{http_code}\n" "http://localhost:9998/sessions/v1/02dfdcc8-8667-4e53-a6f8-ca5c2b495a72"
- #delete a session
- curl -X "DELETE" -H'Content-Type: application/octet-stream' -w "\n%{http_code}\n" "http://localhost:9998/sessions/v1/02dfdcc8-8667-4e53-a6f8-ca5c2b495a72"
|