Summer's Blog
😈酷炫主页
✨运维
🎉安装
👀踩坑
  • k8s
  • shell
  • python
  • redis
  • elasticsearch
  • mysql
  • ceph
  • spark
  • 关于
  • 思维
  • 命令
  • 友链
  • 分类
  • 标签
  • 归档
👨‍👩‍👦‍👦腾讯云社区
🗣GitHub

Summer———夏苏文

💨运维界的前行者
😈酷炫主页
✨运维
🎉安装
👀踩坑
  • k8s
  • shell
  • python
  • redis
  • elasticsearch
  • mysql
  • ceph
  • spark
  • 关于
  • 思维
  • 命令
  • 友链
  • 分类
  • 标签
  • 归档
👨‍👩‍👦‍👦腾讯云社区
🗣GitHub
  • Docker

  • Zabbix

  • Elasticsearch

  • K8s

  • Mysql

  • Redis

  • Nginx

  • Prometheus

  • Ansible

  • 大数据部分

    • hadoop单机部署
    • 挂载HDFS到本地目录
      • 1.部署架构图
      • 2.实现效果
      • 3.部署详解
      • 4.HDFS服务端操作
      • 5.本机挂载
      • 6.跨机器挂载
      • 7.双向验证
    • 拜占庭将军问题
    • MongoDB使用iscsi作为data目录
  • 其他

  • 安装
  • 大数据部分
summer
2021-03-05

挂载HDFS到本地目录

Hadoop新特性:支持通过NFSv3挂载HDFS文件系统到用户的本地文件目录;也就是说:允许用户像访问本地文件系统一样访问HDFS!这对于普通用户来说大大的简化了HDFS的使用。summer记录下如何将HDFS文件系统挂载到Linux本地中。

# 1.部署架构图

# 2.实现效果

  1. 用户可以浏览HDFS文件系统通过本地的文件系统。
  2. 用户可以下载HDFS文件在本地文件系统。
  3. 用户可以直接上传文件从本地文件系统到hdfs。
  4. 用户可以通过挂载点将数据直接流到HDFS。

# 3.部署详解

这里使用2台主机举例:一台作为hadoop文件系统HDFS,另外1台作为客户机挂载HDFS到本地文件系统。

主机 主机名 IP
HDFS服务器 Master 192.168.0.95
PC1客户端 Node1 192.168.0.96

# 4.HDFS服务端操作

  1. 先停止HDFS服务端
[root@master sbin]# ./stop-dfs.sh 
Stopping namenodes on [apiserver.cluster.local]
apiserver.cluster.local: stopping namenode
localhost: stopping datanode
Stopping secondary namenodes [0.0.0.0]
0.0.0.0: stopping secondarynamenode
[root@master sbin]# jps
9150 Jps
1
2
3
4
5
6
7
8
  1. 编辑配置文件
[root@master sbin]# cd ../etc/hadoop/
[root@master hadoop]# vim hdfs-site.xml 
<configuration>
      <property>
         <name>dfs.replication</name>
         <value>1</value>
      </property>
      <property>
        <name>dfs.namenode.accesstime.precision</name>
        <value>3600000</value>
        <description>The access time for HDFS file is precise upto this value. The default value is 1 hour.
        Setting a value of 0 disables access times for HDFS.
        </description>
     </property>
     <property>
        <name>nfs.dump.dir</name>
        <value>/tmp/.hdfs-nfs</value>
     </property>
     <property>
        <name>nfs.exports.allowed.hosts</name>
        <value>* rw</value>
     </property>
</configuration>
[root@master hadoop]# vim core-site.xml 
[root@master hadoop]# cat core-site.xml 
<!-- Put site-specific property overrides in this file. -->
<configuration>
     <property>
         <name>fs.defaultFS</name>
         <value>hdfs://192.168.0.95:9000</value>             
     </property>
     <!-- 指定hadoop临时目录 -->
     <property>
         <name>hadoop.tmp.dir</name>
         <value>/home/summer/hadoop/data/tmp</value>
     </property>
     <property>
         <name>hadoop.proxyuser.root.groups</name>
         <value>*</value>
     </property>
     <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
     </property>
</configuration>
[root@master hadoop]# 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
  1. 启动HDFS的NFS

启动NFS一共有三个守护进程,分别为 portmap,mountd和nfsd,NFS网关进程同时具有nfsd和mountd。这里我利用Hadoop自带的包启动

[root@master hadoop]# service nfs stop  //停止平台提供的nfs/rpcbind/portmap服务
Redirecting to /bin/systemctl stop nfs.service
[root@master hadoop]# service rpcbind stop
Redirecting to /bin/systemctl stop rpcbind.service
Warning: Stopping rpcbind.service, but it can still be activated by:
  rpcbind.socket
[root@master hadoop]# cd ../../sbin/
[root@master sbin]# ./start-dfs.sh   //启动hdfs文件系统
Starting namenodes on [apiserver.cluster.local]
apiserver.cluster.local: starting namenode, logging to /summer/hadoop/logs/hadoop-root-namenode-master.out
localhost: starting datanode, logging to /summer/hadoop/logs/hadoop-root-datanode-master.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /summer/hadoop/logs/hadoop-root-secondarynamenode-master.out
[root@master sbin]# jps  //验证进程是否启动
88064 SecondaryNameNode
87028 DataNode
89551 Jps
86446 NameNode
[root@master sbin]# ./hadoop-daemon.sh start portmap  //启动包含portmap的包(需要root权限):
starting portmap, logging to /summer/hadoop/logs/hadoop-root-portmap-master.out
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
[root@master sbin]# jps  //验证portmap进程
88064 SecondaryNameNode
87028 DataNode
93229 Jps
86446 NameNode
92350 Portmap
[root@master sbin]# ./hadoop-daemon.sh start nfs3  //启动 mountd and nfsd进程
starting nfs3, logging to /summer/hadoop/logs/hadoop-root-nfs3-master.out
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
[root@master sbin]# jps  //验证nfs3进程
88064 SecondaryNameNode
94704 Nfs3
95650 Jps
87028 DataNode
86446 NameNode
92350 Portmap
[root@master sbin]# rpcinfo -p 192.168.0.95  //验证所有服务是否已启动和运行
   program vers proto   port  service
    100005    3   udp   4242  mountd
    100005    1   tcp   4242  mountd
    100000    2   udp    111  portmapper
    100000    2   tcp    111  portmapper
    100005    3   tcp   4242  mountd
    100005    2   tcp   4242  mountd
    100003    3   tcp   2049  nfs
    100005    2   udp   4242  mountd
    100005    1   udp   4242  mountd
[root@master sbin]# showmount -e 192.168.0.95  //验证HDFS的namespace是否导出并可以挂载。
Export list for 192.168.0.95:
/ *
[root@master sbin]#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

# 5.本机挂载

  • 创建目录并挂载
[root@master sbin]# mkdir /hdfs
[root@master sbin]# mount -t nfs -o vers=3,proto=tcp,nolock,noacl 192.168.0.95:/ /hdfs/
[root@master sbin]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root  468G   34G  435G    8% /
devtmpfs                 7.8G     0  7.8G    0% /dev
tmpfs                    7.8G     0  7.8G    0% /dev/shm
tmpfs                    7.8G  755M  7.1G   10% /run
tmpfs                    7.8G     0  7.8G    0% /sys/fs/cgroup
/dev/sda1               1014M  142M  873M   14% /boot
/dev/mapper/centos-home   24G  257M   24G    2% /home
tmpfs                    1.6G     0  1.6G    0% /run/user/1000
tmpfs                    1.6G     0  1.6G    0% /run/user/0
192.168.0.95:/           468G   34G  435G    8% /hdfs
[root@master sbin]# 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 6.跨机器挂载

这里模拟node1(192.168.0.96)挂载远端HDFS文件系统(192.168.0.95)

[root@node1 mnt]# showmount -e 192.168.0.95
Export list for 192.168.0.95:
/ *
[root@node1 mnt]# mount 192.168.0.95:/ /mnt/
[root@node1 mnt]#
1
2
3
4
5

# 7.双向验证

在95机器(hdfs文件系统中)创建文件,验证96机器挂载点是否同步生成文件或文件夹 具体操作如下:

[root@master sbin]# hdfs dfs -mkdir /user
[root@master sbin]# hdfs dfs -mkdir /user/test
[root@master sbin]# hdfs dfs -ls /
Found 1 items
drwxr-xr-x   - root supergroup          0 2021-03-05 14:23 /user
[root@master sbin]# hdfs dfs -ls /user
Found 1 items
drwxr-xr-x   - root supergroup          0 2021-03-05 14:23 /user/test
[root@master sbin]# cd /hdfs/
[root@master hdfs]# ls
user
[root@master hdfs]# ll
总用量 1
drwxr-xr-x 3 root 2584148964 96 3月   5 14:23 user
[root@master hdfs]# cd user/
[root@master user]# ls
test
[root@master user]# 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

可以查看96上机器挂载点上同步生成了文件

[root@node1 mnt]# cd /mnt/
[root@node1 mnt]# ll
总用量 1
drwxr-xr-x 3 root 2584148964 96 3月   5 14:23 user
[root@node1 mnt]# cd user/
[root@node1 user]# ll
总用量 1
drwxr-xr-x 2 root 2584148964 64 3月   5 14:23 test
[root@node1 user]#
1
2
3
4
5
6
7
8
9

在96机器挂载点上创建文件或文件夹,验证95机器(hdfs文件系统中)是否同步生成文件 这里96创建一个文件

[root@node1 user]# touch 1234.sh
[root@node1 user]# ll
总用量 1
-rw-r--r-- 1 root root        0 3月   5 14:31 1234.sh
drwxr-xr-x 2 root 2584148964 64 3月   5 14:23 test
[root@node1 user]# 
1
2
3
4
5
6

可以查看95机器hdfs文件系统同步生成了一个文件

[root@master user]# hdfs dfs -ls /user
Found 2 items
-rw-r--r--   1 root root                0 2021-03-05 14:31 /user/1234.sh
drwxr-xr-x   - root supergroup          0 2021-03-05 14:23 /user/test
[root@master user]# 
1
2
3
4
5

这里模拟上传文件夹到96挂载点上

[root@node1 summer]# mv elasticsearch_cluster/ /mnt/
[root@node1 summer]# cd /mnt/
[root@node1 mnt]# ls
elasticsearch_cluster  user
[root@node1 mnt]# 
1
2
3
4
5

可以查看95机器hdfs文件系统中同步了该文件

[root@master user]# hdfs dfs -ls /
Found 2 items
drwxr-xr-x   - summer summer          0 2021-01-28 18:10 /elasticsearch_cluster
drwxr-xr-x   - root        supergroup           0 2021-03-05 14:31 /user
[root@master user]# 
1
2
3
4
5

也可通过浏览器直观查看

#hadoop#HDFS
上次更新: 4/2/2021, 4:16:20 PM
hadoop单机部署
拜占庭将军问题

← hadoop单机部署 拜占庭将军问题→

最近更新
01
centos8安装部署ovirt-engine
11-21
02
安装Acunetix
11-02
03
三大漏洞扫描工具报告获取
05-24
更多文章>
Theme by Vdoing | Copyright © 2019-2022 夏苏文 | MIT License

网站已在灾难中运行:

蜀ICP备2022029853号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式