所謂大資料指的是資料量大,并且複雜多變的資料,為處理這些問題新的技術應運而生,hadoop主要就是用于解決大資料的存儲問題以及計算問題
Hadoop是Apache基金下的分布式系統架構,其實廣義上講hadoop指的是Hadoop生态圈
Hadoop三大發行版本:Apache、Cloudera、Hortonworks。
Apache版本最原始(最基礎)的版本,對于入門學習最好。
Cloudera Hadoop 在大型網際網路企業中用的較多,相較于Apache版本在相容性,安全性,穩定性上有所增強。接下來要安裝的就是這個版本
Hortonworks文檔較好。
下載下傳
wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.15.1.tar.gz
解壓,修改配置檔案
tar -zxvf hadoop-2.6.0-cdh5.15.1.tar.gz
hadoop軟體包常見目錄說明
bin:hadoop用戶端名單
etc/hadoop:hadoop相關的配置檔案存放目錄
sbin:啟動hadoop相關程序的腳本
share:常用例子
修改Hadoop配置檔案,注意位址是0.0.0.0:端口号,否則無法被外部通路
cd etc/hadoop vim hadoop-env.sh
//配置jdk路徑
//檢視java_home: echo $JAVA_HOME
export JAVA_HOME=/root/jdk1.8.0_91
//預設hdfs路徑 ip配置的時0.0.0.0 不能配置127.0.0.1 如果配置表示隻有本地路徑可以通路
vim core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
//設定副本數 1:隻有一個副本
vim hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/tmp</value>
</property>
<property>
<name>dfs.namenode.http.address</name>
<value>slave1:50070</value>
</property>
slaves
hadoop000
啟動HDFS:
第一次執行的時候一定要格式化檔案系統,不要重複執行:
進入bin目錄
./hdfs namenode -format
啟動叢集:./sbin/start-dfs.sh
提示yes選擇yes 密碼輸入虛拟機密碼 不顯示回車即可 需要重複三次
驗證:
//jps進行驗證 出現一下資訊開啟正常
[[email protected] sbin]jps
60002 DataNode
60171 SecondaryNameNode
59870 NameNode
http://192.168.199.233:50070
如果發現jps ok,但是浏覽器不OK? 十有八九是防火牆問題
檢視防火牆狀态:sudo firewall-cmd --state
關閉防火牆: sudo systemctl stop firewalld.service
進制防火牆開機啟動:
JPS 檢測是否成功
成功後可以通路
http://192.168.43.129:50070/dfshealth.html#tab-overview
檢視hadoop web界面
注意關閉防火牆
安裝SSH免密登陸
問題:每次啟動叢集都需要輸入密碼
私鑰和公鑰key值去比對
部分伺服器情況會無法登陸,暫時不明白錯誤原因
先檢視是否具有
systemctl status sshd
ssh-keygen -t rsa 一直回車即可
cd .ssh
ls .ssh檢視目錄結構 id_rsa id_rsa.pub known_hosts具有說明私鑰公鑰聲明成功
-rw------- 1 root root 1679 7月 1 20:39 id_rsa 私鑰
-rw-r--r-- 1 root root 396 7月 1 20:39 id_rsa.pub 公鑰
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
測試是否成功
ssh localhost 如果沒有送出輸入密碼則成功
報錯檢視日志進入虛拟機pi:50070 Utillities>logs下 可檢視日志錯誤