赞
踩
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分
HDFS采用master/slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组Datanode上。Namenode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体Datanode节点的映射。Datanode负责处理文件系统客户端的读写请求。在Namenode的统一调度下进行数据块的创建、删除和复制。
查看这篇文章静态ip配置
名称 | ip |
---|---|
hadoop01 | 192.168.149.11 |
hadoop02 | 192.168.149.12 |
hadoop03 | 192.168.149.13 |
1.这里用的是VMware Workstation Pro–》虚拟机–》管理–》克隆
2.下一步,需要注意的是,完整克隆,不是链接克隆
3.设置好名称和路径之后,点击完成即可
4.在克隆之前可以配置好jdk,这里用的xftp进行上传文件,解压 tar -zxvf 包 后面跟解压到的路径
5.配置jdk和Hadoop环境变量 vi ~/.bashrc
#jdk和hadoop环境变量
export JAVA_HOME=/opt/hadopp/hadoop
export JRE_HOME=${JAVA_HOME}/jre
export HADOOP_HOME=/opt/hadoop/hadoop
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
6.生效环境变量 source ./bashrc
hadoop version 查看版本
7.分别在 Hadoop01、Hadoop02、hadoop03修改vi /etc/hostname为master、slave1、slave2,然后分别重启生效 reboot
8.配置Master节点中的 vi /etc/hosts 主机和IP地址的映射
192.168.149.11 master
192.168.149.12 slave1
192.168.149.13 slave2
9.然后远程拷贝到slave1和slave2 命令:scp /etc/hosts slave1:/etc
一、 配置hosts文件
二、 建立hadoop运行帐号
三、 配置ssh免密码连入
四、 下载并解压hadoop安装包
五、 配置/etc/hostname文件
六、 配置/etc/hosts文件
七、 配置core-size.xml 文件
八、 配置hdfs-size.xml文件
九、 配置yarn-size.xml 文件
十、 向各节点复制hadoop
十一、 格式化namenode
十二、 启动hadoop
十三、 用jps检验各后台进程是否成功启动
slave1
slave2
首先手动添加临时文件夹 在/opt/hodoop/hadoop/
mkdir tmp
修改文件core-size.xml
<configuration>
#配置默认端口号和主机名
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
#配置临时文件
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/hadoop/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:50090</value> </property> #配置冗余数据 两个数据节点存储两份 <property> <name>dfs.replication</name> <value>2</value> </property> #指定存储hdfs中namenode存储位置 <property> <name>dfs.namenode.name.dir</name> <value>file:/opt/hadoop/hadoop/tmp/dfs/name</value> </property> #指定存储hdfs中datanode存储位置 <property> <name>dfs.datanode.data.dir</name> <value>file:/opt/hadoop/hadoop/tmp/dfs/data</value> </property> <property> <name>dfs.permissions</name> <value>falser</value> #默认为true,设置为false可以不要检查权限就生成dfs上的文件 <description>false</description> </property> </configuration>
cp mapered-size.template mapred-site.xmlxml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>local</description>#指定mapreduce运行在yarn平台,默认为local
</property>
</configuration>
<configuration>
<!-- Site specific YARN configuration properties -->
#指定resourcemanager运行的hostname
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
#nodemanager服务和获取输入的方式
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
tar -zcf ~/hadoop.master.tar.gz ./hadoop
scp ./hadoop.master.tar.gz slave1:/home/hadoop
scp ./hadoop.master.tar.gz slave2:/home/hadoop
hdfs namenode -format
SSH免密登录:是主节点master能够不需要输入密码,直接ssh登录到从节点slave1、slave2上
默认已经安装opssh-server服务,没有安装的自行安装
ssh-keygen -t rsa #有提示直接Enter即可
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#ssh-copy-id 将你的公共密钥填充到一个远程机器上的authorized_keys文件中
ssh-copy-id slave1 #传给slave1
ssh-copy-id slave2 #传给slave2
在/hadoop/sbin路径下:
将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
还有,start-yarn.sh,stop-yarn.sh顶部也需添加以下:
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
关闭防火墙
systemctl stop firewalld.service
禁止防火墙开机启动
systemctl disable firewalld.service
关闭防火墙后,用自己浏览器访问hdfs,根据hdfs-size.xml 对应的主机ip和端口号,即可访问。
IP地址加上端口9870,即可访问HDFS全部信息。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。