HDFS(服务端)

1.hdfs的工作机制:

1.1、客户把一个文件存入hdfs,其实hdfs会把这个文件切块后,分散存储在N台linux机器系统中(负责存储文件块的角色:data node)<准确来说:切块的行为是由客户端决定的>

1.2、一旦文件被切块存储,那么,hdfs中就必须有一个机制,来记录用户的每一个文件的切块信息,及每一块的具体存储机器(负责记录块信息的角色是:name node)

1.3、为了保证数据的安全性,hdfs可以将每一个文件块在集群中存放多个副本(到底存几个副本,是由当时存入该文件的客户端指定的)

2.hdfs集群结构

3.安装hdfs集群

3.1 核心配置参数:

1) 指定hadoop的默认文件系统为:hdfs

2) 指定hdfs的namenode节点为哪台机器

3) 指定namenode软件存储元数据的本地目录 ; 指定datanode软件存放文件块的本地目录

3.2 修改/usr/apps/hadoop-3.2.1/etc/hadoop/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/root/apps/jdk1.8.0_60

3.3 修改core-site.xml

       

                fs.defaultFS

                hdfs://node01:9000

       

3.4 修改hdfs-site.xml

       

                dfs.namenode.name.dir

                /usr/apps/dfs/namenode

       

       

                dfs.datanode.data.dir

                /usr/apps/dfs/datanode

       

4.启动hdfs

4.1 配置hadoop环境变量

HADOOP_HOME=/root/apps/hadoop-2.8.0

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

4.2  初始化namenode的元数据目录

要在node01上执行hadoop的一个命令来初始化namenode的元数据存储目录

hadoop namenode -format

[if !supportLists]l  [endif]创建一个全新的元数据存储目录

[if !supportLists]l  [endif]生成记录元数据的文件fsimage

生成集群的相关标识:如:集群id——clusterID

然后,启动namenode进程(在hdp-01上)

hadoop-daemon.sh start namenode(启动完后,首先用jps查看一下namenode的进程是否存在)

netstat -nltp | grep pid 查看namenode端口,用端口访问页面

然后,启动众datanode们(在任意地方)

hadoop-daemon.sh start datanode

5.用自动批量启动脚本来启动HDFS

1) 先配置hdp-01到集群中所有机器(包含自己)的免密登陆

2) 配完免密后,可以执行一次  ssh 0.0.0.0

3) 修改hadoop安装目录中/etc/hadoop/slaves(把需要启动datanode进程的节点列入)

你可能感兴趣的:(HDFS(服务端))