大資料-Hadoop-HDFS(分散式檔案系統)環境搭建
1:Hadoop三大核心元件
A:分散式檔案系統HDFS
B:分散式資源排程器
C:分散式計算框架MapReduce
2:HDFS簡介:
HDFS架構:HDFS採用Master/Slave架構 即:一個Master(NameNode)對應多個Slave(DataNode)
NameNode功能:1 處理客戶端(client)的請求的響應
2 負責元資料(Metadata)的處理
DataNode功能:1 負責儲存使用者的資料塊(Blocks)
2 定期向NameNode傳送心跳 向NameNode彙報Blocks的資訊 向NameNode彙報健康狀況
搭建環境時一臺主機作為NameNode 其他主機每一臺主機搭建一個DataNode(DataNode也支援一臺主機執行多個DataNode 但實際生產環境中並不會這樣來配置)
NameNode儲存檔名稱 副本數量 副本id
3:HDFS分散式檔案系統環境搭建
注意:由於實際我們演示環境只有一臺PC機 所有這個Hadoop HDFS實際是一個偽系統
HDFS會把一個檔案拆分成多個塊(預設每個塊128M)然後按照設定以多個副本的形式儲存在其他幾點機器上
3.1:安裝SSH配置免密碼登入
1:CnetOS7中輸入命令:sudo yum install ssh
2:配置免密碼登入:ssh-keygen -t rsa (輸入之後所有的提示輸入全部回車即可) 其中key儲存在/root/.ssh/id_rsa下
3:cd /root中 輸入 ls -la檢視(.fileName的資料夾表示隱藏的資料夾 需要使用ls -la檢視)
4:cd .ssh
5:cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
6:測試是否設定成功ssh localh或者 ssh anndy (anndy是我們的主機名)
注意:只是首次連線需要輸入‘yes’確認
3.2:安裝JDK(至少JDK1.7以上的版本)
3.3:hadoop2.6.0-cdh5.7.0安裝
下載地址:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz
Centos7直接:wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz 可以下載
1:tar -xzvf hadoop-2.6.0-cdh5.7.0.tar.gz 解壓縮Hadoop
2:vi /app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/hadoop-env.sh 修改JAVA_HOME
注意:查詢JAVA_HOME可以輸入 echo $JAVA_HOME
3:配置vi /app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<!-- 指定hadoop執行時產生檔案的儲存路徑 -->
<value>/home/hadoop/app/hadoop/tmp</value>
</property>
4:配置vi /app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/hdfs-site.xml
<property>
<!-- 指定HDFS儲存資料的副本數目,預設情況下是3份-->
<name>dfs.replication</name>
<value>1</value>
</property>
5:修改 vi /app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/slaves
只需用把DataNode的hostName新增進去即可
6:啟動HDFS
A:格式化檔案系統(注意:只是第一次啟動執行格式化 否則一執行就會格式化檔案系統):hdfs/hadoop namenode -format
cd /app/hadoop-2.6.0-cdh5.7.0/bin
./hadoop namenode -format
B:啟動HDFS
cd /app/hadoop-2.6.0-cdh5.7.0/sbin/
./start-dfs.sh
C:jps 檢視有哪些hadoop程序
D:瀏覽器輸入 http://ip:50070 可以檢視狀態
7:配置Hadoop環境變數
1:vi ~/.bash_profile 中新增下列變數路徑
export HADOOP_HOME=/app/hadoop-2.6.0-cdh5.7.0
export PATH=$HADOOP_HOME/bin:$PATH
2:source ~/.bash_profile
3:檢視echo $HADOOP_HOME