标签:newlisp
newLISP提供了一个简单的MapReduce的方式,利用net-eval函数,可以向远程运行这newlisp服务进程的机器发起调用。
本文介绍最简单的方法:
首先服务器启动newlisp进程
newlisp -l -c -d 4711 &
-c 是不会出现常见的newlisp的会话终端
-d 是在连接之间保存状态,一个边际效应就是后续的请求必须等待前面的请求已经完成才能发出
下面来试用一下:
假设在A机器已经使用了上面的命令启动了newLISP服务进程
现在在B机器上运行newLISP的shell,输入下面的命令:
> (net-eval "123.126.32.82" 4711 ‘(+ 3 4)) 7
再看文件操作:
> (net-eval "123.126.32.82" 4711 ‘(exec "touch /home/chenshu/work/mobile_data/code/export/tt")) newLISP
[chenshu@hadoopMaster export]$ ls tt -alh -rw-rw-r-- 1 chenshu chenshu 0 May 20 19:50 tt
#!/usr/bin/newlisp (println "ok") (make-dir "/home/chenshu/work/mobile_data/code/export/mm") (exit)
(net-eval "123.126.32.82" 4711 ‘(exec "newlisp /home/chenshu/work/mobile_data/code/export/test.lsp"))
但是这只是简单的应用,复杂了远程调用就需要耐心调试。
至少目前我的test.lsp如果调用hive命令读取schema,并连接mysql创建表,就会失败。还需要仔细检查,查看原因。
标签:newlisp
原文地址:http://blog.csdn.net/csfreebird/article/details/26393899