hadoop安裝
曾經的學習筆記
1.Hadoop簡介:
a) 分布式存儲系統HDFS
- 分布式存儲系統
- 提供了高可靠性、高擴展性和高吞吐率的數據存儲服務
b) 分布式計算框架MapReduce
- 分布式計算框架
- 具有易用編程、高容錯性和高擴展性等優點
2.HDFS優點:
a) 高容錯性
b) 適合批處理
c) 適合大數據處理
d) 可構建在廉價機器上
3.HDFS的缺點:
a) 低延遲數據訪問
b) 小文件存取
c) 並發寫入、文件隨機修改
4.HDFS架構:
a) NameNode(NN元數據) 保存著 HDFS 的名字空間
- 接受客戶端的讀寫服務
- 保存metadata信息包括
- 文件owership和
- 文件包含那些快
- Block保存在那個datanode
- 文件owership和
- NameNode的metadata信息在啟動後加載到內存
- Metadata存儲到磁盤文件名為”fsImage”
- Block位置信息不會保存到fsImage
- Edits記錄對metadata的操作日誌
b) SecondaryNameNode
- 不是NN的備份(但可以做備份),主要工作是幫助NN合並editslog,減少NN啟動時間
- SNN執行合並時機
c) DataNode(存放數據)
5.HDFS文件權限
a) 與Linux文件權限類似,rwx,權限x對於文件忽略,對文件夾表示允許訪問
b) HDFS用戶認證:
- Simple:只認證用戶,不驗證密碼
- KerBeros:認證用戶名跟密碼:
- 數據安全,但是速度比較慢
- 每添加一臺機器,需要重置用戶密碼,不利於維護
6.安全模式
7.安裝Hadoop:
a) 在Windows下解壓hadoop-2.5.2.tar.gz
b) 查看官方文檔:\hadoop-2.5.2\share\doc\hadoop\index.html
c) 按官方文檔搭建偽分布式:Single Node Setup-->Pseudo-Distributed Operation
d) 安裝所需要環境yum install -y ssh rsync
e) 把hadoop-2.5.2.tar.gz上傳到
f) 解壓並移動目錄mv -r hadoop-2.5.2 /usr/local/hadoop
g) 修改配置環境 vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
h) 在/usr/local/hadoop下測試命令:bin/hadoop
i) 搭建偽分布式操作;修改文件內容:
- vim/usr/local/hadoop/etc/hadoop/core-site.xml
<configuration> <property> <name> fs.defaultFS </ name> <value> hdfs:// localhost:9000 </ value> </ property> </ configuration> |
- vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration> <property> <name> dfs.replication </ name> <value> 1 </ value> </ property> </ configuration> |
j) 格式化文件系統:bin/hdfs namenode -format
k) 啟動NameNode跟datanode守護程序:sbin/start-dfs.sh
8.HDFS安裝:
a) 上傳tar包,解壓並移動到/usr/local/hadoop
b) 配置用戶環境變量:vim ~/.bash_profile,配置java,Hadoop的目錄,重新加載配置
c) 進入Hadoop文件夾下修改Hadoop環境配置:vim etc/hadoop/hadoop-env.sh
d) 修改核心配置:vim etc/hadoop/core-site.xml
e) 修改hdfs配置文件:vim etc/hadoop/hdfs-site.xml
f) 配置Hadoop數據存儲節點:vim etc/hadoop/sales
g) 設置免密登錄:ssh
- 生成公鑰:ssh-keygen
- 到~/.ssh目錄下拷貝公鑰到其他節點:ssh-copy-id -i id_rsa.pub [email protected]
h) 拷貝hosts文件到其他所有節點:scp /etc/hosts [email protected]:/etc/
i) 在node2節點中監控/etc/hosts:tail -f /etc/hosts
j) 拷貝~/.bash_profile文件到其他所有節點:
scp ~/.bash_profile [email protected]:~/.bash_profile
k) 拷貝hadoop文件夾拷貝到其他節點中:
scp -r /usr/local/hadoop [email protected]:/usr/local
l) 格式化HDFS: hdfs namenode -format(註意符號)必須在主節點上
m) 在主節點上啟動 start-dfs.sh
測試:192.168.189.3:50070瀏覽器連接
編程:192.168.189.3:9000
如果啟動有問題,看日誌文件tail -10 /usr/local/hadoop/logs/
9.操作hdfs文件系統
a) hdfs dfs put 上傳
b) hadoop-deamon.sh restart datanode重啟單個節點
c) stop-dfs.sh
10.導入eclipse的Hadoop插件
11.Java控制hdfs
a) 創建項目
b) 導入jar包
hadoop安裝