IPFS集羣搭建(一)

一.ipfs安裝

1.下載go-ipfs : https://dist.ipfs.io/#go-ipfs(需要翻牆)

2.執行如下指令

$ tar xvfz go-ipfs.tar.gz
$ cd go-ipfs
$ ./install.sh

3.驗證

$ ipfs help
USAGE:

    ipfs - Global p2p merkle-dag filesystem.
...

3.搭建私有集羣

默認安裝後是共享的公網IPFS密匙,私有集羣需要使用自己生產的密匙到swarm.key。

  1. 生產私有密匙

首先我們使用密鑰創建工具,創建一個密鑰。

下載地址:https://github.com/Kubuxu/go-ipfs-swarm-key-gen

該工具的安裝下載使用go。不會安裝的朋友自行Google。

go get -u http://github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen

然後創建密鑰:

ipfs-swarm-key-gen > ~/.ipfs/swarm.key

     2.複製密匙文件到其他節點的.ipfs目錄下

     3 每臺節點運行如下命令.去除默認的公網節點地址

ipfs bootstrap rm —all

    4 更改config文件的address的API、Gateway爲當前的地址,因爲ipfs默認只能本地訪問,其他節點無法訪問,同時注意關閉防火牆或者開發5001,8080,4001端口。但是使用ipfs-cluster集羣管理攻擊搭建集羣時需要設置成本地,否重ipfs-cluster無法訪問到ipfs.

    5 在每臺節點手動添加其他節點,如下:

pfs bootstrap add /ip4/13.114.30.87/tcp/4001/ipfs/<節點id>

如:

ipfs bootstrap add /ip4/13.114.30.87/tcp/4001/ipfs/Qmc2AH2MkZtwa11LcpHGE8zW4noQrn6xue7VcZCMNYTpuP

節點id:可以通過節點運行ipfs id顯示

[hadoop@localhost .ipfs]$ ipfs id
{
	"ID": "QmaK84LzXydnzGk3WUhgZ1Tqi1mKieUYZ5SjeaC7CdycLi",
	"PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCkE0RU4xuFAQM/fVyK9y36nISNGlmiAA59qaqhHA0mGF3zllJqJgxM//0gru3XnaVpyzGzwFhFGjcBlQBhas6g/6TqlpnYSbIFMy8TB2KwBa8grtvfi1yiHsDArx0G/X/IDOmDKejVKFitzdLNZRswPagKmtgPS75tJk8MDmApFu1gzTDAqzpymhzWQeH9Heso6W+oGmSeJUWoANG36OReF1z89FWGHBVJROHxZ7Ic9ohbZ1vFd+C6fjL66Pm0CZ6reMdlvIApWXO5WGQuMDif/0+iaLpbYSJWCt+HUz31qGGOgQ/K/ci2sja0Nv2xbSRvAMTaD5eQAqk87lYVJSxnAgMBAAE=",
	"Addresses": [
		"/ip4/127.0.0.1/tcp/4001/ipfs/QmaK84LzXydnzGk3WUhgZ1Tqi1mKieUYZ5SjeaC7CdycLi",
		"/ip4/192.168.20.129/tcp/4001/ipfs/QmaK84LzXydnzGk3WUhgZ1Tqi1mKieUYZ5SjeaC7CdycLi",
		"/ip4/192.168.211.133/tcp/4001/ipfs/QmaK84LzXydnzGk3WUhgZ1Tqi1mKieUYZ5SjeaC7CdycLi",
		"/ip6/::1/tcp/4001/ipfs/QmaK84LzXydnzGk3WUhgZ1Tqi1mKieUYZ5SjeaC7CdycLi"
	],
	"AgentVersion": "go-ipfs/0.4.22/",
	"ProtocolVersion": "ipfs/0.1.0"
}

     6 驗證

運行ipfs swarm peers 顯示以連接節點

在A節點上傳文件,後得到文件的哈希

ipfs add x.txt

[hadoop@localhost .ipfs]$ ipfs add repo.lock 
added QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH repo.lock
 0 B / ? [---------------------------------------------------------------------------------------------------------------------------------------------=]   0.00%

測試能否在B節點通過hash獲取到

[hadoop@localhost test]$ ipfs get QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH
Saving file(s) to QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH
 0 B / ? [--------------------------------------------------------------------------------------------------------------------------------------------------=] 0s
[hadoop@localhost test]$ ls
QmaoUGJqmaCp36zb1Bov2wwLM76o3Y7SfBcdALBeEgfb1h  QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH
[hadoop@localhost test]$ 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章