Hi - SUMMARY: This may be a silly question but... after installing Riak via ssh, can I (or should I) test *remotely* it from a browser?
I'm very excited about being able to learn how to use MapReduce with Riak. I installed Riak on my remote VPS server (running Debian 5.0 Lenny) - via Putty & SSH on my Windows laptop. So... if I PUT some data into Riak using curl, it seems to show up. But I can't see it in my browser if I go to my server, eg: http://myhost.com/riak/images/img001.jpg returns "Error 101" - webpage not available. Of course, since my 3 nodes are all at 127.0.0.1, then maybe I *shouldn't* be able to access them remotely from a browser. (By the way, I did open up my firewall on ports 8091, 8092, and 8093 - incoming and outgoing). Anyways... I was just wondering if anyone had any pointers. +++++ DETAILS: (0) I followed the steps here: https://wiki.basho.com/display/RIAK/Building+a+Development+Environment and everything worked fine. (1) I ran a test: curl -H "Accept: text/plain" http://127.0.0.1:8091/stats and got the output: curl -H "Accept: text/plain" http://127.0.0.1:8091/stats { "vnode_gets": 0, "vnode_puts": 0, "read_repairs": 0, "vnode_gets_total": 2, "vnode_puts_total": 1, "node_gets": 0, "node_gets_total": 2, "node_get_fsm_time_mean": "undefined", "node_get_fsm_time_median": "undefined", "node_get_fsm_time_95": "undefined", "node_get_fsm_time_99": "undefined", "node_get_fsm_time_100": "undefined", "node_puts": 0, "node_puts_total": 1, "node_put_fsm_time_mean": "undefined", "node_put_fsm_time_median": "undefined", "node_put_fsm_time_95": "undefined", "node_put_fsm_time_99": "undefined", "node_put_fsm_time_100": "undefined", "read_repairs_total": 0, "cpu_nprocs": 291, "cpu_avg1": 0, "cpu_avg5": 0, "cpu_avg15": 0, "mem_total": 537100288, "mem_allocated": 520372224, "nodename": "d...@127.0.0.1", "connected_nodes": [ "d...@127.0.0.1", "d...@127.0.0.1" ], "sys_driver_version": "1.5", "sys_global_heaps_size": 0, "sys_heap_type": "private", "sys_logical_processors": 2, "sys_otp_release": "R14B", "sys_process_count": 155, "sys_smp_support": true, "sys_system_version": "Erlang R14B (erts-5.8.1) [source] [smp:2:2] [rq:2] [async-threads:64] [kernel-poll:true]", "sys_system_architecture": "i686-pc-linux-gnu", "sys_threads_enabled": true, "sys_thread_pool_size": 64, "sys_wordsize": 4, "ring_members": [ "d...@127.0.0.1", "d...@127.0.0.1", "d...@127.0.0.1" ], "ring_num_partitions": 64, "ring_ownership": "[{'d...@127.0.0.1',21},{'d...@127.0.0.1',21},{' d...@127.0.0.1',22}]", "ring_creation_size": 64, "storage_backend": "riak_kv_bitcask_backend", "pbc_connects_total": 0, "pbc_connects": 0, "pbc_active": 0, "riak_err_version": "0.1.0", "runtime_tools_version": "1.8.4.1", "luwak_version": "1.0", "skerl_version": "0.1", "riak_kv_version": "0.13.0", "riak_core_version": "0.13.0", "luke_version": "0.2.2", "erlang_js_version": "0.4.1", "bitcask_version": "1.1.4", "mochiweb_version": "1.7.1", "webmachine_version": "1.7.3", "crypto_version": "2.0.1", "os_mon_version": "2.2.5", "sasl_version": "2.1.9.2", "stdlib_version": "1.17.1", "kernel_version": "2.14.1" So that looked good. (2) To do a test involving an image, I copied an image (myimg.jpg) into my current directory, and then PUT the image into Riak (at riak/images/img001.jpg) using curl: curl -X PUT HTTP://127.0.0.1:8091/riak/images/img001.jpg -H "Content-type: image/jpeg" --data-binary @myimg.jpg Now the image seems to be stored properly in Riak, because it seems that I can GET it with curl: curl -v http://127.0.0.1:8091/riak/images/img001.jpg (This sends a bunch of garbled text to my Putty/SSH window. I assume this means "success" because it's just the binary data of the jpg file.) (3) I also PUT some text, and it seems to work: curl -v -d 'this is a test' -H "Content-Type: text/plain" http://127.0.0.1:8091/riak/test * About to connect() to 127.0.0.1 port 8091 (#0) * Trying 127.0.0.1... connected * Connected to 127.0.0.1 (127.0.0.1) port 8091 (#0) > POST /riak/test HTTP/1.1 > User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.8 libssh2/0.18 > Host: 127.0.0.1:8091 > Accept: */* > Content-Type: text/plain > Content-Length: 14 > < HTTP/1.1 201 Created < Vary: Accept-Encoding < Server: MochiWeb/1.1 WebMachine/1.7.3 (participate in the frantic) < Location: /riak/test/QTPs0B1zeu9I1WXtJnaAJpQyOee < Date: Thu, 02 Dec 2010 02:12:27 GMT < Content-Type: application/json < Content-Length: 0 < * Connection #0 to host 127.0.0.1 left intact * Closing connection #0 Then I GET the test (using the location key generated above): curl -v http://127.0.0.1:8091/riak/test/QTPs0B1zeu9I1WXtJnaAJpQyOee * About to connect() to 127.0.0.1 port 8091 (#0) * Trying 127.0.0.1... connected * Connected to 127.0.0.1 (127.0.0.1) port 8091 (#0) > GET /riak/test/QTPs0B1zeu9I1WXtJnaAJpQyOee HTTP/1.1 > User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.8 libssh2/0.18 > Host: 127.0.0.1:8091 > Accept: */* > < HTTP/1.1 200 OK < X-Riak-Vclock: a85hYGBgzGDKBVIsbGvXVWcwJTLmsTJ012Qf48sCAA== < Vary: Accept-Encoding < Server: MochiWeb/1.1 WebMachine/1.7.3 (participate in the frantic) < Link: </riak/test>; rel="up" < Last-Modified: Thu, 02 Dec 2010 02:12:27 GMT < ETag: 35XAETNjfRGZJESsKwuMvB < Date: Thu, 02 Dec 2010 02:12:47 GMT < Content-Type: text/plain < Content-Length: 14 < * Connection #0 to host 127.0.0.1 left intact * Closing connection #0 this is a test OK, so that's the silly question I have: If I'm connecting to this server remotely, is there any point in trying to see that data from a browser? If I do the following: http://myhost.com:8091/riak/images/img001.jpg http://myhost.com:8091/riak/test/QTPs0B1zeu9I1WXtJnaAJpQyOee the browser just says "web page unavailable". +++++ Anyways, everything probably *is* working fine - and I probably just shouldn't be trying to test it from a remote browser - because normally I wouldn't access "raw" Riak data directly from a browser, right? Eventually I'll have some sort of web application framework set up (eg, Nitrogen), and in the source of a web page I'll be using a Riak URL as a datasource - say, to send out some JSON to populate a control on the web page, right? Sorry about this newbie question! Thanks for any pointers. - Scott
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com