HDFS分布式集群搭建【基础版】
环境:以CentOS6.5为例(3个节点)
- 防火墙关闭并关闭自启
- selinux设置关闭
- 设置主机名
- 设置主机映射 jdk1.7
- ssh免密登陆
- hadoop-2.5.2
准备
解压hadoop,并在hadoop根目录下创建 data/tmp目录
配置文件修改
*配置文件位置:hadoop目录下的etc/hadoop
hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_71 #jdk路径
core-site.xml
<!-- 用于设置namenode并且作为Java程序的访问入口 --->
<!-- hadoop1.msk.com 为主机名 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1.msk.com:8020</value>
</property>
<!-- 存储NameNode持久化的数据,DataNode块数据 -->
<!-- 手工创建$HADOOP_HOME/data/tmp -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/install/hadoop-2.5.2/data/tmp</value>
</property>
hdfs-site.xml
<!-- 设置副本数量 默认是3 可自行根据需求更改 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 权限,可省略 -->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
mapred-site.xml
<!-- yarn 与 MapReduce相关 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
slaves
这里配置DataNode的主机名 机器有限,这里节点1即为NameNode也为DataNode
hadoop1.msk.com
hadoop2.msk.com
hadoop3.msk.com
NameNode格式化
目的作用:格式化hdfs系统,并且生成存储数据块的目录
bin/hdfs namenode -format
启动|停止hadoop【在NameNode节点运行】
sbin/start-dfs.sh
sbin/stop-dfs.sh
想检验是否启动成功可用jps命令查看进程
shell访问HDFS
- 查看目录结构
bin/hdfs dfs -ls 路径
- 创建文件夹
bin/hdfs dfs -mkdir /a
bin/hdfs dfs -mkdir -p /a/b
- 本地上传文件到hdfs中
bin/hdfs dfs -put local_path hdfs_path
- 查看文件内容
bin/hdfs dfs -text /a/c
bin/hdfs dfs -cat /a/c
- 删除
bin/hdfs dfs -rm /a/c
- 删除非空文件夹
bin/hdfs dfs -rmr /a
- 从hdfs下载文件到本地
bin/hdfs dfs -get hdfs_path local_path
浏览器访问HDFC
http://hadoop1.msk.com:50070 访问 hdfs
http://hadoop1.msk.com:8088 访问 yarn