- 論壇徽章:
- 0
|
<span class="Apple-style-span" style="font-family: Tahoma; line-height: 25px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><div class="section"><font class="Apple-style-span" color="#006699" size="3"><u>轉(zhuǎn)載地址:</u></font><span class="Apple-style-span" style="font-size: 14px; line-height: 25px; font-weight: normal; "><a href="http://www.iteye.com/topic/321933" target="_blank" target="_blank">http://www.iteye.com/topic/321933</a></span><a name="erl-node" id="erl-node" style="color: rgb(0, 102, 153); text-decoration: underline; ">erl node啟動(dòng)方法</a><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><strong style="font-weight: bold; ">short name:</strong></p><ul class="simple" style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">erl -sname Name</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">erl -sname <a href="mailto:Name@ShortHost" class="reference" style="color: rgb(0, 102, 153); text-decoration: underline; " target="_blank" target="_blank">Name@ShortHost</a></li></ul><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><strong style="font-weight: bold; ">longname:</strong></p><ul class="simple" style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">erl -name Name</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">erl -name <a href="mailto:Name@ShortHost" class="reference" style="color: rgb(0, 102, 153); text-decoration: underline; " target="_blank" target="_blank">Name@ShortHost</a></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">erl -name <a href="mailto:Name@FullHost" class="reference" style="color: rgb(0, 102, 153); text-decoration: underline; " target="_blank" target="_blank">Name@FullHost</a></li></ul><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">說明:</p>Name :: atom() || string()
ShortHost :: atom() || string(), 不可含有"."。比如"myhost"
FullHost :: [ShortHost()] || Ip, 比如"test.mydomain.com"和"8.34.135.3"
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">short name 和 long name主要為格式上的區(qū)別,long name中Host如果為域名,需要進(jìn)行DNS解析。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">我們也可以在hosts中添加類似:</p>ip ShotHost
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">的Entry使shortname name節(jié)點(diǎn)支持其他主機(jī)(請(qǐng)參考后面介紹)</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "> </p><div class="note"><p class="first admonition-title" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Note</p><p class="last" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">注意,shot name的節(jié)點(diǎn)和long name的節(jié)點(diǎn)不能互相通信。</p></div></div><div class="section"><a name="id1" id="id1" style="color: rgb(0, 102, 153); text-decoration: underline; ">示例</a><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">short name:</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">假設(shè)本機(jī)/etc/hosts配置為:8.27.86.135 da6600.fb.joyent.us</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span class="pre">erl</span> <span class="pre">-sname</span> <span class="pre">cheng</span> % 啟動(dòng)了一個(gè)名叫:<a href="mailto:cheng@da6600" class="reference" style="color: rgb(0, 102, 153); text-decoration: underline; " target="_blank" target="_blank">cheng@da6600</a> 的Node</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span class="pre">erl</span> <span class="pre">-name</span> <span class="pre">cheng</span> % 啟動(dòng)了一個(gè)名叫:<a href="mailto:cheng@da6600.fb.joyent.us" class="reference" style="color: rgb(0, 102, 153); text-decoration: underline; " target="_blank" target="_blank">cheng@da6600.fb.joyent.us</a> 的Node</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">如果我們的本機(jī)hosts配置中,沒有指定域名,那么需要我們指定Host:</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span class="pre">erl</span> <span class="pre">-sname</span> <span class="pre">cheng@da6600</span> % 啟動(dòng)了一個(gè)名叫:cheng@da6600的Node</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">long name:</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span class="pre">erl</span> <span class="pre">-name</span> <span class="pre">cheng@da6600</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span class="pre">erl</span> <span class="pre">-name</span> <span class="pre">cheng@da6600.fb.joyent.us</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span class="pre">erl</span> <span class="pre">-name</span> <span class="pre">cheng@8.27.86.135</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">請(qǐng)注意,此3個(gè)longname Node是同一個(gè)Node</p></div><div class="section"><a name="id2" id="id2" style="color: rgb(0, 102, 153); text-decoration: underline; ">應(yīng)用</a><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">很多資料中,當(dāng)進(jìn)行分布式程序開發(fā)時(shí),需要經(jīng)歷下面的步驟</p><ol class="arabic simple" style="font-size: 1em; line-height: 1.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">本機(jī)單個(gè)節(jié)點(diǎn)進(jìn)行測(cè)試,</li><li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">本機(jī)多個(gè)節(jié)點(diǎn)進(jìn)行測(cè)試,</li><li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">多臺(tái)主機(jī)進(jìn)行接近真實(shí)環(huán)境的測(cè)試</li></ol><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">其中第2步,常常是使用 <span class="pre">erl</span> <span class="pre">-sname</span> <span class="pre">Name</span> 類似的方法,產(chǎn)生Node, 因此我們印象中,好像sname只能是在本機(jī)的情況下使用?</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">通常情況下,shortname是限于本機(jī)的多個(gè)節(jié)點(diǎn),longname可以跨越多臺(tái)主機(jī)(通過IP,DNS解析)。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">當(dāng)然我們也可以像使用long name Node一樣,使用short name Node。不同的是long name可以通過DNS進(jìn)行解析, 而short name必須手動(dòng)的在hosts中添加對(duì)應(yīng)的映射。這樣做的目的就是將本地的請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)的主機(jī)。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">好了讓我們使用short name來試驗(yàn)一下</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><strong style="font-weight: bold; ">server1(ip:8.27.86.135)</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">啟動(dòng)node:</p>erl -sname foo@server1
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><strong style="font-weight: bold; ">server2(server2也可以在內(nèi)網(wǎng)當(dāng)中,此時(shí)鏈接只能由server2發(fā)起)</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">/etc/hosts中添加:</p>8.27.86.135 server1
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">隨后啟動(dòng)node:</p>erl -sname bar
> net_kernel:connect_node('foo@server1').
true
> nodes().
> [foo@server1]
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">這樣,兩個(gè)節(jié)點(diǎn)就已經(jīng)鏈接了。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">同理,我們也可以在server1中添加一個(gè)條目,為server2其一個(gè)ShortName,隨后連接它。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">到此,對(duì)于short name, long name的使用應(yīng)該比較清晰了。</p></div></span> |
|