Linux下MFS分布式文件系统的安装与部署(mfs软件包的版本为3.103-1)

续我的上篇博文:https://mp.csdn.net/postedit/89031987

 

 

一、实验环境(rhel7.3版本)

1selinux和firewalld状态为disabled

2各主机信息如下:

主机ip
server1(mfsmaster)172.25.83.1
server2(mfschunkserever1)172.25.83.2
server3(mfschunkserever2)172.25.83.3
物理机(client)172.25.83.83/172.25.254.83

3清空上次实验的结果

<1>对于物理机(client)

[root@foundation83 Desktop]# umount /mnt/mfsmeta/
[root@foundation83 Desktop]# umount /mnt/mfs
[root@foundation83 Desktop]# rm -rf /mnt/mfs
[root@foundation83 Desktop]# rm -rf /mnt/mfsmeta/
[root@foundation83 Desktop]# rpm -e moosefs-client
[root@foundation83 ~]# cd /etc/
[root@foundation83 etc]# ll -d mfs/
drwxr-xr-x 2 root root 26 Apr  8 17:37 mfs/
[root@foundation83 etc]# rm -rf mfs/

 

<2>对于server2和server3(mfschunkserver)

[root@server2 ~]# mfschunserver stop
[root@server2 ~]# rpm -e moosefs-chunkserver
[root@server2 ~]# cd /etc/
[root@server2 etc]# ll -d mfs/
drwxr-xr-x 2 root root 50 Apr  8 17:40 mfs/
[root@server2 etc]# rm -rf mfs/
[root@server2 etc]# cd /var/lib/
[root@server2 lib]# ll -d mfs
drwxr-xr-x 2 mfs mfs 78 Apr  5 00:47 mfs
[root@server2 lib]# rm -rf mfs/
[root@server2 lib]# rm -rf /mnt/chunk1   #该目录必须删除,否则会报错。因为该目录存放着之前的数据

#server3端同理

 

<3>对于server1(mfsmaster)

[root@server1 ~]# mfscgiserv stop
[root@server1 ~]# mfsmaster stop
[root@server1 ~]# rpm -e moosefs-cgiserv
[root@server1 ~]# rpm -e moosefs-cgi
[root@server1 ~]# rpm -e moosefs-master
[root@server1 ~]# cd /etc/
[root@server1 etc]# ll -d mfs
drwxr-xr-x 2 root root 72 Apr  8 17:46 mfs
[root@server1 etc]# rm -rf mfs/
[root@server1 etc]# cd /var/lib/
[root@server1 lib]# ll -d mfs
drwxr-xr-x 2 mfs mfs 256 Apr  8 17:46 mfs
[root@server1 lib]# rm -rf mfs/

 

二、mfs分布式文件系统的安装与部署

 

配置server1(mfsmaster):

 

1、下载moosefs相应的软件到root用户家目录

[root@server1 ~]# ls
moosefs-cgi-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-cgiserv-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-chunkserver-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-cli-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-client-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-metalogger-3.0.103-1.rhsystemd.x86_64.rpm

 

2、安装master端需要的软件

[root@server1 ~]# yum install moosefs-cgi-3.0.103-1.rhsystemd.x86_64.rpm moosefs-cgiserv-3.0.103-1.rhsystemd.x86_64.rpm moosefs-cli-3.0.103-1.rhsystemd.x86_64.rpm moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm -y

 

3、做域名解析(该域名解析必须是mfsmaster。)—上篇博文已经做过

[root@server1 ~]# vim /etc/hosts
172.25.83.1    server1 mfsmaster

 

4、开启服务并查看端口

[root@server1 ~]# systemctl start moosefs-master   #也可以像上篇博文一样,利用mfsmaster命令开启服务,只是使用命令"systemctl status moosefs-master"查看到的状态是该服务并未开启,但是端口是开着的
[root@server1 ~]# systemctl start moosefs-cgiserv   #也可以像上篇博文一样,利用mfscgiserv命令开启服务,"systemctl status moosefs-cgiserv"查看到的状态是该服务并未开启,但是端口是开着的
[root@server1 ~]# netstat -antulp
tcp        0      0 0.0.0.0:9419            0.0.0.0:*               LISTEN      766/mfsmaster       
tcp        0      0 0.0.0.0:9420            0.0.0.0:*               LISTEN      766/mfsmaster       
tcp        0      0 0.0.0.0:9421            0.0.0.0:*               LISTEN      766/mfsmaster       
tcp        0      0 0.0.0.0:9425            0.0.0.0:*               LISTEN      788/python        

用于 chunkserver 连接的端口地址(默认是 9420)
metalogger 监听的端口地址(默认是 9419)
用于客户端挂接连接的端口地址(默认是 9421)
MFS master web 界面监听端口,查看整体运行状态(默认是 9425)

 

此时可以在客户端的浏览器中访问:172.25.83.1:9425

 

配置server2和server3:(mfschunkserever1和mfschunkserver2)

 

1、从server1端拷贝moosefs-chunkserver对应的rpm包,并进行安装

[root@server1 ~]# scp moosefs-chunkserver-3.0.103-1.rhsystemd.x86_64.rpm server2:
[root@server2 ~]# ls
moosefs-chunkserver-3.0.103-1.rhsystemd.x86_64.rpm
[root@server2 ~]# rpm -ivh moosefs-chunkserver-3.0.103-1.rhsystemd.x86_64.rpm 


#server3端操作同server2

 

2、做域名解析(该域名解析必须是mfsmaster。)—上篇博文已经做过

[root@server2 ~]# vim /etc/hosts
172.25.83.1    server1 mfsmaster


#server3端操作同server2
  • 其中域名解析必须写为mfsmaster的原因是由配置文件(/etc/mfs/mfschunkserver.cfg)决定的

 

3、建立需要作为chunkserver的目录,并修改所有人,所有组

实验中我们将/mnt/mfs/作为chunkserver,使用根空间,实际生产环境下应该创建目录后,将磁盘挂载在该目录下

[root@server2 ~]# mkdir /mnt/chunk1   #该目录随意建在哪个目录下,并且该目录的名字随意给
[root@server2 ~]# chown mfs.mfs /mnt/chunk1/ -R   #其中mfs用户和组是安装完软件之后,自动创建的,不需要我们手动建立。


[root@server3 ~]# mkdir /mnt/chunk2   #该目录随意建在哪个目录下,并且该目录的名字随意给
[root@server3 ~]# chown mfs.mfs /mnt/chunk2 -R 

 

4、在配置文件中注明作为chunkserver的目录

[root@server2 ~]# vim /etc/mfs/mfshdd.cfg   #在文件的最后一行,添加如下的内容
 35 
 36 /mnt/chunk1

[root@server3 ~]# vim /etc/mfs/mfshdd.cfg   #在文件的最后一行,添加如下的内容
 35 
 36 /mnt/chunk2

 

5、开启服务,并查看端口

[root@server2 ~]# systemctl start moosefs-chunkserver
[root@server2 ~]# netstat -antulpe
tcp        0      0 0.0.0.0:9422            0.0.0.0:*               LISTEN      997        26012      2343/mfschunkserver


[root@server3 ~]# systemctl start moosefs-chunkserver
[root@server3 ~]# netstat -antulpe
tcp        0      0 0.0.0.0:9422            0.0.0.0:*               LISTEN      997        26012      2343/mfschunkserver


#在server1端查看server2端(chunkserver)和server3端(chunkserver)与server1端的9420端口建立的连接
[root@server1 ~]# netstat -antulpe
tcp        0      0 172.25.83.1:9420        172.25.83.3:40074       ESTABLISHED 994        413228     766/mfsmaster       
tcp        0      0 172.25.83.1:9420        172.25.83.2:43680       ESTABLISHED 994        409370     766/mfsmaster       
  • 开启moosefs-chunkserver服务之后,server2端会在/mnt/chunk1下生成256个目录,用来存放客户端的数据(server3端同理)

此时浏览器刷新页面:

应该可以看见这个 MooseFS 系统的全部信息,包括主控 master 和存储服务 chunkserver

 

配置物理机(client):

 

1、从server1端拷贝moosefs-client对应的rpm包,并进行安装

[root@server1 ~]# scp moosefs-client-3.0.103-1.rhsystemd.x86_64.rpm root@172.25.83.83:
[root@foundation83 ~]# rpm -ivh moosefs-client-3.0.103-1.rhsystemd.x86_64.rpm

 

2、做域名解析(该域名解析必须是mfsmaster。)—上篇博文已经做过

[root@foundation83 ~]# vim /etc/hosts
172.25.83.1 mfsmaster

 

3、在配置文件中指明挂载点

[root@foundation83 ~]# cd /etc/mfs/
[root@foundation83 mfs]# vim mfsmount.cfg   #在文件的最后添加17行写的内容
 14 # Example:
 15 #
 16 # /mnt/mfs
 17 /mnt/mfs

 

4、建立挂载目录,并进行挂载

[root@foundation83 ~]# mkdir /mnt/mfs   #建立挂载目录
[root@foundation83 ~]# mfsmount   #执行mfsmount命令,可以直接挂载(在哪个目录下执行该命令都可以)
mfsmaster accepted connection with parameters: read-write,restricted_ip,admin ; root mapped to root:root
[root@foundation83 ~]# df
Filesystem                         1K-blocks     Used Available Use% Mounted on
mfsmaster:9421                      35622912  3039936  32582976   9% /mnt/mfs


[root@server1 ~]# netstat -antulpe   #在server1端(mfsmaster)查看客户端与mfsmaster端的9421端口建立的连接
tcp        0      0 172.25.83.1:9421        172.25.83.83:39328      ESTABLISHED 994        421769     766/mfsmaster   

 

5、建立文件测试

在 MFS 挂载点下创建两个目录,并设置其文件存储份数

[root@foundation83 ~]# cd /mnt/mfs/
[root@foundation83 mfs]# ls
[root@foundation83 mfs]# mkdir dir1   #必须在挂载目录中(这里是/mnt/mfs)建立
[root@foundation83 mfs]# mkdir dir2   #必须在挂载目录中(这里是/mnt/mfs)建立
[root@foundation83 mfs]# mfs   #利用两次tab键补全查看mfs的命令
mfsappendchunks   mfsdirinfo        mfslistsclass     mfsseteattr
mfscheckfile      mfsfileinfo       mfsmakesnapshot   mfssetgoal
mfscopyeattr      mfsfilepaths      mfsmount          mfssetquota
mfscopygoal       mfsfilerepair     mfsrgetgoal       mfssetsclass
mfscopyquota      mfsgeteattr       mfsrgettrashtime  mfssettrashtime
mfscopysclass     mfsgetgoal        mfsrmsnapshot     mfstools
mfscopytrashtime  mfsgetquota       mfsrsetgoal       mfsxchgsclass
mfsdeleattr       mfsgetsclass      mfsrsettrashtime  
mfsdelquota       mfsgettrashtime   mfsscadmin        
[root@foundation83 mfs]# mfsgetgoal dir1   #获取dir1目录中文件存储份数
dir1: 2
[root@foundation83 mfs]# mfsgetgoal dir2   #获取dir2目录中文件存储份数
dir2: 2
[root@foundation83 mfs]# mfssetgoal -r 1 dir1   #设置在dir1目录中文件存储份数为一个(以示区分),默认是两个。
dir1:
 inodes with goal changed:                       1
 inodes with goal not changed:                   0
 inodes with permission denied:                  0

注意:对一个目录设定 “goal”,此目录下的新创建文件和子目录均会继承此目录的设定,但不会改变已经存在的文件及目录的 copy 份数。但使用-r 选项可以更改已经存在的 copy 份数。(这就是mfsgetgobal  dir1与mfsgetgobal  -r  dir1的区别)

#拷贝/etc/passwd这份文件分别到两个目录上
[root@foundation83 mfs]# cp /etc/passwd dir1/
[root@foundation83 mfs]# cp /etc/passwd dir2/
[root@foundation83 mfs]# mfsfileinfo dir1/passwd    #查看dir1目录下的passwd文件信息,可以看到dir1目录下的文件存储份数是1。
dir1/passwd:
	chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
		copy 1: 172.25.83.2:9422 (status:VALID)
[root@foundation83 mfs]# mfsfileinfo dir2/passwd    #查看dir2目录下的passwd文件信息,可以看到dir2目录下的文件存储份数是2。
dir2/passwd:
	chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
		copy 1: 172.25.83.2:9422 (status:VALID)
		copy 2: 172.25.83.3:9422 (status:VALID)
#验证mfs分布式文件系统中一个block的大小为64M
[root@foundation83 mfs]# dd if=/dev/zero of=dir1/bigfile bs=1M count=65
65+0 records in
65+0 records out
68157440 bytes (68 MB) copied, 0.644724 s, 106 MB/s
[root@foundation83 mfs]# mfsfileinfo dir1/bigfile 
dir1/bigfile:
	chunk 0: 0000000000000005_00000001 / (id:5 ver:1)
		copy 1: 172.25.83.2:9422 (status:VALID)
	chunk 1: 0000000000000006_00000001 / (id:6 ver:1)
		copy 1: 172.25.83.3:9422 (status:VALID)
[root@foundation83 mfs]# dd if=/dev/zero of=dir1/bigfile2 bs=1M count=64
64+0 records in
64+0 records out
67108864 bytes (67 MB) copied, 0.59636 s, 113 MB/s
[root@foundation83 mfs]# mfsfileinfo dir1/bigfile2
dir1/bigfile2:
	chunk 0: 0000000000000007_00000001 / (id:7 ver:1)
		copy 1: 172.25.83.2:9422 (status:VALID)
#演示其中一个moosefs-chunkserver服务挂掉的情况(这里演示server2挂掉的情况。dir1/passwd存储在server2端,dir2/passwd存储在server2端和server3端)
[root@server2 ~]# systemctl stop moosefs-chunkserver   #停掉server2端的moosefs-chunkserver服务。此时在server2端查看端口,已经看不到9422端口。在server1端查看端口,已经看不到server2和server1的9420端口建立的连接
[root@foundation83 mfs]# mfsfileinfo dir1/passwd   #我们可以看到dir1/passwd文件的存储收到了影响,而dir2/passwd文件的存储并没有收到任何影响
dir1/passwd:
	chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
		no valid copies !!!
[root@foundation83 mfs]# mfsfileinfo dir2/passwd 
dir2/passwd:
	chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
		copy 1: 172.25.83.3:9422 (status:VALID)

[root@server2 ~]# systemctl start moosefs-chunkserver   #启动moosefs-chunkserver服务,以免影响后面的实验

 

6、恢复垃圾箱文件

[root@foundation83 mfs]# rm -rf dir1/passwd
[root@foundation83 mfs]# mfsgettrashtime dir1   #文件删除后存放在"垃圾箱"中的时间称为隔离时间,这个时间可以用"mfsgettrashtime"命令来查看,用"mfssettrashtime"命令来设置,单位为秒,默认为 86400秒。
dir1: 86400


#86400s这个时间是有mfsmaster的配置文件决定的
[root@server1 ~]# cd /etc/mfs/
[root@server1 mfs]# ls
mfsexports.cfg  mfsexports.cfg.sample  mfsmaster.cfg  mfsmaster.cfg.sample  mfstopology.cfg  mfstopology.cfg.sample
[root@server1 mfs]# vim mfsexports.cfg
 41 #  86400 = 86400 seconds = 1 day
[root@foundation83 mfs]# mkdir /mnt/mfsmeta   #该目录的位置随意给,该目录的名字也随意给
[root@foundation83 mfs]# mfsmount -m /mnt/mfsmeta   #挂载MFSMETA文件系统,它包含目录trash (包含仍然可以被还原的删除文件的信息)和trash/undel(用于获取文件)。把删除的文件,移到trash/undel 下,就可以恢复此文件。
mfsmaster accepted connection with parameters: read-write,restricted_ip
[root@foundation83 mfs]# mount   #该挂载信息,通过df命令是看不到的,只能通过mount命令查看
mfsmaster:9421 on /mnt/mfsmeta type fuse.mfsmeta (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
[root@foundation83 mfs]# cd /mnt/mfsmeta/
[root@foundation83 mfsmeta]# ls
sustained  trash
[root@foundation83 mfsmeta]# cd trash/   #进入trash目录,该目录下有很多文件
[root@foundation83 trash]# find -name *passwd*   #查看要查找的文件passwd所在的位置
./004/00000004|dir1|passwd
[root@foundation83 trash]# cd 004
[root@foundation83 004]# ls
00000004|dir1|passwd  undel
[root@foundation83 004]# mv 00000004\|dir1\|passwd undel/   #将需要恢复的文件移动到undel目录下,注意书写格式

成功恢复

[root@foundation83 004]# cd /mnt/mfs/dir1/
[root@foundation83 dir1]# ls
bigfile  bigfile2  passwd

 

至此MFS分布式文件系统的安装与部署也就完成了。

 

下面演示server1端(moosefs-master端)的moosefs-master服务挂掉之后,如何恢复的案例?

1、正常关闭moosefs-master服务(利用stop命令)

[root@server1 ~]# systemctl stop moosefs-master   #在server1端使用stop命令正常关闭moosefs-master服务
[root@foundation83 ~]# df   #此时客户端使用df命令会一直处于卡顿状态,除非moosefs-master服务开启(同理只要访问/mnt/mfs目录以及/mnt/mfs目录中的文件,就会出现卡顿状态)


[root@server1 ~]# systemctl start moosefs-master   #在server1端开启moosefs-master服务
[root@foundation83 ~]# df   #此时客户端使用df命令,会出现相应的结果,不会再卡顿
Filesystem                         1K-blocks     Used Available Use% Mounted on
/dev/mapper/rhel_foundation84-root 111491904 80716440  30775464  73% /
devtmpfs                             2828156        0   2828156   0% /dev
tmpfs                                2841788      552   2841236   1% /dev/shm
tmpfs                                2841788     9112   2832676   1% /run
tmpfs                                2841788        0   2841788   0% /sys/fs/cgroup
/dev/sda2                            1038336   143980    894356  14% /boot
/dev/loop0                           3654720  3654720         0 100% /var/www/html/rhel7.0
tmpfs                                 568360       36    568324   1% /run/user/1000
mfsmaster:9421                      17811456  1551424  16260032   9% /mnt/mfs

 

2、非正常关闭moosefs-master服务(利用kill命令)

#在使用kill命令杀掉moosefs-master服务对应的进程之前,我们先来了解下面的内容
[root@server1 ~]# cd /var/lib/mfs/   #当moosefs-master服务开启时,/var/lib/mfs目录中的内容如下
[root@server1 mfs]# ll
total 3620
-rw-r----- 1 mfs mfs    2800 Apr  8 20:29 changelog.1.mfs
-rw-r----- 1 mfs mfs     186 Apr  8 19:54 changelog.2.mfs
-rw-r----- 1 mfs mfs      84 Apr  8 18:01 changelog.3.mfs
-rw-r----- 1 mfs mfs      87 Apr  8 17:49 changelog.5.mfs
-rw-r----- 1 mfs mfs     120 Apr  8 20:29 metadata.crc
-rw-r----- 1 mfs mfs    3863 Apr  8 20:29 metadata.mfs.back
-rw-r----- 1 mfs mfs    2927 Apr  8 20:00 metadata.mfs.back.1
-rw-r--r-- 1 mfs mfs       8 Nov 23 20:46 metadata.mfs.empty
-rw-r----- 1 mfs mfs 3672832 Apr  8 20:29 stats.mfs
[root@server1 mfs]# systemctl stop moosefs-master   #关闭mfsmaster服务
[root@server1 mfs]# ll   #当moosefs-master服务关闭时,/var/lib/mfs目录中的内容如下(有metadata.mfs这个文件,这个文件是开启moosefs-master服务时,必备的文件。如果没有该文件,那么moosefs-master服务也就起不来了)
total 3620
-rw-r----- 1 mfs mfs    2800 Apr  8 20:29 changelog.2.mfs
-rw-r----- 1 mfs mfs     186 Apr  8 19:54 changelog.3.mfs
-rw-r----- 1 mfs mfs      84 Apr  8 18:01 changelog.4.mfs
-rw-r----- 1 mfs mfs      87 Apr  8 17:49 changelog.6.mfs
-rw-r----- 1 mfs mfs     120 Apr  8 20:32 metadata.crc
-rw-r----- 1 mfs mfs    3863 Apr  8 20:32 metadata.mfs
-rw-r----- 1 mfs mfs    3863 Apr  8 20:29 metadata.mfs.back.1
-rw-r--r-- 1 mfs mfs       8 Nov 23 20:46 metadata.mfs.empty
-rw-r----- 1 mfs mfs 3672832 Apr  8 20:32 stats.mfs
[root@server1 mfs]# systemctl start moosefs-master   #开启moosefs-master服务
[root@server1 mfs]# ps aux
mfs      13305  1.1 37.9 604756 581460 ?       S<   20:33   0:00 /usr/sbin/mfsmaster start
[root@server1 mfs]# kill -9 13305   #杀掉moosefs-master服务对应的进程号13305
[root@server1 mfs]# ll   #因为是非正常关闭moosefs-master服务,所以/var/lib/mfs目录下,不会生成用于启动moosefs-master服务的文件metadata.mfs
total 3620
-rw-r----- 1 mfs mfs     136 Apr  8 20:33 changelog.0.mfs
-rw-r----- 1 mfs mfs    2800 Apr  8 20:29 changelog.2.mfs
-rw-r----- 1 mfs mfs     186 Apr  8 19:54 changelog.3.mfs
-rw-r----- 1 mfs mfs      84 Apr  8 18:01 changelog.4.mfs
-rw-r----- 1 mfs mfs      87 Apr  8 17:49 changelog.6.mfs
-rw-r----- 1 mfs mfs     120 Apr  8 20:32 metadata.crc
-rw-r----- 1 mfs mfs    3863 Apr  8 20:32 metadata.mfs.back
-rw-r----- 1 mfs mfs    3863 Apr  8 20:29 metadata.mfs.back.1
-rw-r--r-- 1 mfs mfs       8 Nov 23 20:46 metadata.mfs.empty
-rw-r----- 1 mfs mfs 3672832 Apr  8 20:32 stats.mfs


[root@server1 mfs]# systemctl start moosefs-master   #此时启动moosefs-master服务,会报错
Job for moosefs-master.service failed because the control process exited with error code. See "systemctl status moosefs-master.service" and "journalctl -xe" for details.
[root@server1 mfs]# systemctl status moosefs-master
● moosefs-master.service - MooseFS Master server
   Loaded: loaded (/usr/lib/systemd/system/moosefs-master.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2019-04-08 20:35:07 CST; 1min 1s ago
  Process: 13385 ExecStop=/usr/sbin/mfsmaster stop (code=exited, status=0/SUCCESS)
  Process: 13434 ExecStart=/usr/sbin/mfsmaster start (code=exited, status=1/FAILURE)
 Main PID: 13305 (code=killed, signal=KILL)

Apr 08 20:35:07 server1 mfsmaster[13436]: exports file has been loaded
Apr 08 20:35:07 server1 mfsmaster[13436]: topology file has been loaded
Apr 08 20:35:07 server1 systemd[1]: moosefs-master.service: control process exited, code=exited status=1
Apr 08 20:35:07 server1 mfsmaster[13434]: loading metadata ...
Apr 08 20:35:07 server1 mfsmaster[13434]: can't find metadata.mfs - try using option '-a'
Apr 08 20:35:07 server1 mfsmaster[13434]: init: metadata manager failed !!!
Apr 08 20:35:07 server1 mfsmaster[13434]: error occurred during initialization - exiting
Apr 08 20:35:07 server1 systemd[1]: Failed to start MooseFS Master server.
Apr 08 20:35:07 server1 systemd[1]: Unit moosefs-master.service entered failed state.
Apr 08 20:35:07 server1 systemd[1]: moosefs-master.service failed.


[root@server1 mfs]# mfsmaster -a   #根据提示,使用-a选项,虽然此时用"systemctl status moosefs-master"命令看到服务的状态是启动失败,但是查看端口,相应的端口处于的是开启状态
[root@server1 mfs]# netstat -antulpe   #相应的端口也已经打开
tcp        0      0 0.0.0.0:9419            0.0.0.0:*               LISTEN      994        284571     29612/mfsmaster     
tcp        0      0 0.0.0.0:9420            0.0.0.0:*               LISTEN      994        284572     29612/mfsmaster     
tcp        0      0 0.0.0.0:9421            0.0.0.0:*               LISTEN      994        284573     29612/mfsmaster         
tcp        0      0 0.0.0.0:9425            0.0.0.0:*               LISTEN      0          58780      5656/python         


#想要使利用"systemctl status moosefs-master"命令看到的状态是开启状态,则需要修改脚本文件
[root@server1 mfs]# vim /usr/lib/systemd/system/moosefs-master.service
  8 ExecStart=/usr/sbin/mfsmaster start   #原来的内容
  8 ExecStart=/usr/sbin/mfsmaster -a   #修改后的内容
[root@server1 mfs]# systemctl daemon-reload
[root@server1 mfs]# ps aux
mfs      13795  0.6 38.3 604764 588152 ?       S<   20:39   0:02 mfsmaster -a
[root@server1 mfs]# kill -9 13795   #杀掉之前mfsmaster -a命令对应的进程号,否则在利用命令"systemctl start moosefs-master"启动moosefs-master服务时会报错
[root@server1 mfs]# systemctl start moosefs-master
[root@server1 mfs]# systemctl status moosefs-master
   Active: active (running) since Mon 2019-04-08 20:46:28 CST; 3s ago   #此时看到的服务状态是开启的。
[root@server1 mfs]# netstat -antulpe   #同理,端口也已经打开
tcp        0      0 0.0.0.0:9419            0.0.0.0:*               LISTEN      994        284571     29612/mfsmaster     
tcp        0      0 0.0.0.0:9420            0.0.0.0:*               LISTEN      994        284572     29612/mfsmaster     
tcp        0      0 0.0.0.0:9421            0.0.0.0:*               LISTEN      994        284573     29612/mfsmaster         
tcp        0      0 0.0.0.0:9425            0.0.0.0:*               LISTEN      0          58780      5656/python 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值