$ cp conf/goosefs-site.properties.template conf/goosefs-site.properties
goosefs.master.hostname
为 localhost
。goosefs.master.mount.table.root.ufs
为本地文件系统中的目录,例如:/tmp 或是 /data/goosefs 等。$ ./bin/goosefs-mount.sh SudoMount
$ ./bin/goosefs-start.sh local SudoMount
jps
命令,能够看到伪分布式模式下,GooseFS 的所有进程:$ jps35990 Jps35832 GooseFSSecondaryMaster35736 GooseFSMaster35881 GooseFSWorker35834 GooseFSJobMaster35883 GooseFSJobWorker35885 GooseFSProxy
goosefs
命令行,执行 namespace、fileSystem、job 以及 table 的各项操作了。例如,上传一个本地文件到 GooseFS 中,并且列出当前 GooseFS 中根目录下的文件和目录:$ goosefs fs copyFromLocal test.txt /Copied file:///Users/goosefs/test.txt to /$ goosefs fs ls /-rw-r--r-- goosefs staff 0 PERSISTED 04-28-2021 04:00:35:156 100% /test.txt
goosefs -h
命令行参数获得详细帮助信息。scripts
目录下提供了批量配置 SSH 免密登录以及批量安装部署 GooseFS 的脚本工具,可供用户方便快捷地完成 GooseFS 大规模集群的安装部署。用户可自检前一章节的部署环境要求中的批量部署条件,灵活地选择是否可以执行批量部署。scripts
目录下提供了批量配置 SSH 免密登录以及批量部署安装 GooseFS 的工具化脚本,用户在满足执行条件的前提下,可按照如下步骤完成批量部署任务:cd ${GOOSEFS_HOME}
。conf/masters
和 conf/workers
中的主机名或 IP 地址。scripts
目录中,认真填写 commons.sh
这一脚本文件中的 SCRIPT_EXEC_USER
和SCRIPT_EXEC_PASSWORD
。再切换到 root
账户或使用 sudo
身份执行 config_ssh.sh
完成整个集群的免密登录配置。validate_env.sh
工具,校验整个集群配置状态。ln -s conf ~/.goosefs
。goosefs copy .
和 goosefs copy ~/.goosefs
将 goosefs 二进制包和配置文件分发到所有的节点。./bin/goosefs-start.sh all SudoMount
来启动运行整个集群。默认配置下,所有的运行日志都会记录到 ${GOOSEFS_HOME}/logs
下。tar zxvf goosefs-x.x.x-bin.tar.gz
命令解压到安装路径后。可参见批量部署工具的介绍配置和执行集群的批量部署,也可以继续参考下文详细地手动部署流程。conf
目录下拷贝 template
文件创建配置文件:$ cp conf/goosefs-site.properties.template conf/goosefs-site.properties
goosefs-site.properties
配置文件中指定如下配置:goosefs.master.hostname=<MASTER_HOSTNAME>goosefs.master.mount.table.root.ufs=<STORAGE_URI>
goosefs.master.hostname
设置为单 master 节点的 hostname 或 ip。goosefs.master.mount.table.root.ufs
则指定 GooseFS 根目录所挂载的底层文件系统(UFS)路径URI。goosefs.master.mount.table.root.ufs=cosn://bucket-1250000000/goosefs/
。masters
配置文件中指定单 Master 节点的 hostname 或 ip,例如:# The multi-master Zookeeper HA mode requires that all the masters can access# the same journal through a shared medium (e.g. HDFS or NFS).# localhostcvm1.compute-1.myqcloud.com
workers
配置文件中指定所有 Worker 节点的 host 或 ip,例如:# An GooseFS Worker will be started on each of the machines listed below.# localhostcvm2.compute-2.myqcloud.comcvm3.compute-3.myqcloud.com
./bin/goosefs copyDir conf/
就可以将配置同步到所有节点。./bin/goosefs-start.sh all
就可以启动 GooseFS 集群。$ cp conf/goosefs-site.properties.template conf/goosefs-site.properties
goosefs.master.mount.table.root.ufs=<STORAGE_URI>goosefs.master.embedded.journal.addresses=<EMBBEDDED_JOURNAL_ADDRESS>
goosefs.master.mount.table.root.ufs
则设置为挂载到 GooseFS 根目录的底层存储 URI。goosefs.master.embedded.journal.addresses
则设置为所有备节点的 ip:embedded_journal_port
或 host:embedded_journal_port
。其中,embedded_journal_port 默认为9202。例如:192.168.1.1:9202,192.168.1.2:9202,192.168.1.3:9202。$ ./bin/goosefs copyDir conf/
$ ./bin/goosefs format
$ ./bin/goosefs-start.sh all
$ ./bin/goosefs-stop.sh all$ ./bin/goosefs-start.sh all SudoMount
$ ./bin/goosefs fs leader
$ ./bin/goosefs fsadmin report
hdfs://10.0.0.1:9000/goosefs/journal
或 cosn://bucket-1250000000/journal
。goosefs.zookeeper.enabled=truegoosefs.zookeeper.address=<ZOOKEEPER_ADDRESSS>goosefs.master.journal.type=UFSgoosefs.master.journal.folder=<JOURNAL_URI>
JOURNAL_URI
必须是共享存储系统的 URI。然后使用 ./bin/goosefs copyDir conf/
将配置同步分发到集群中的所有节点。最后启动集群 ./bin/goosefs-start.sh all
即可。goosefs-start.sh all
脚本并启动 GooseFS 后,集群将包含如下进程:进程 | 描述 |
GooseFSMaster | 默认 RPC 端口为9200,Web 端口为9201 |
GooseFSWorker | 默认 RPC 端口为9203,Web 端口为9204 |
GooseFSJobMaster | 默认 RPC 端口为9205,Web 端口为9206 |
GooseFSProxy | 默认 Web 端口为9211 |
GooseFSJobWorker | 默认 RPC 端口为9208,Web 端口为9210 |
本页内容是否解决了您的问题?