HDFS分佈式集羣搭建【基礎版】
環境:以CentOS6.5爲例
- 防火牆關閉並關閉自啓
- 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>
<property>
<name>dfs.namenode.http.address</name>
<value>hadoop1.mask.com:50070</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
配置Hadoop環境變量
在環境變量文件/etc/profile加入
export HADOOP_HOME=(你的Hadoop安裝路徑)
export path=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
NameNode格式化
目的作用:格式化hdfs系統,並且生成存儲數據塊的目錄
hadoop namenode -format
啓動|停止hadoop【在NameNode節點運行】
sbin/start-all.sh
sbin/stop-all.sh
想檢驗是否啓動成功可用jps命令查看進程
shell訪問HDFS
- 查看目錄結構
hadoop fs -ls 路徑
- 創建文件夾
hadoop fs -mkdir /a
hadoop fs -mkdir -p /a/b
- 本地上傳文件到hdfs中
hadoop fs -put local_path hdfs_path
- 查看文件內容
hadoop fs dfs -text /a/c
hadoop fs dfs -cat /a/c
- 刪除
hadoop fs dfs -rm /a/c
- 刪除非空文件夾
hadoop fs dfs -rmr /a
- 從hdfs下載文件到本地
hadoop fs -get hdfs_path local_path
瀏覽器訪問HDFC
http://hadoop1.msk.com:50070 訪問 hdfs
http://hadoop1.msk.com:8088 訪問 yarn