關於完整分佈式請參考: hadoop2.8 ha 集羣搭建 【七臺機器的集羣】html
Hadoop是一個由Apache基金會所開發的分佈式系統基礎架構。用戶能夠在不瞭解分佈式底層細節的狀況下,開發分佈式程序。充分利用集羣的威力進行高速運算和存儲。java
Hadoop實現了一個分佈式文件系統(Hadoop Distributed File System),簡稱HDFS。HDFS有高容錯性的特色,而且設計用來部署在低廉的(low-cost)硬件上;並且它提供高吞吐量(high throughput)來訪問應用程序的數據,適合那些有着超大數據集(large data set)的應用程序。HDFS放寬了 (relax)POSIX的要求,能夠以流的形式訪問(streaming access)文件系統中的數據。node
Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS爲海量的數據提供了存儲,則MapReduce爲海量的數據提供了計算。 -----來自googleweb
hadoop安裝模式有三種,本節重點介紹僞分佈式的安裝配置和啓動。shell
第一種是本地(獨立)模式: 本地模式沒啥意義,你們能夠做爲一個入門的參考。centos
第二種是僞分佈式集羣: 在物理機不容許的狀況下,用單機模擬集羣的效果bash
第三種是徹底分佈式集羣: 搭建完成分佈式集羣,爲業務進行服務,具備高容錯,高性能,高冗餘等特色。後面我會再詳細介紹架構
centos下載: 下載適合本身的版本框架
本機已經安裝好VMware和xshell。我已經在虛擬機上建立一個centos做爲這次安裝的環境。我採用的是centos7.ssh
注意: 我在這選擇的centos7的mini版本。能夠選擇完整版本centos.不過完整版本太大。我就用mini版本演示,mini版本里面不少軟件都須要本身安裝,因此我也會把我安裝的步驟貼出來給你們作個分享。
啓動虛擬機後我要作一些調整.
1> 查看ip 使用ifconfig命令,可是會報錯,由於我這是mini版本,沒安裝這些。不要緊,我來安裝一下:(完整版本就已經安裝好了,就不須要下面這步了)
2> xshell鏈接到這個hadoop_yang上;
3> 修改主機名和關閉防火牆。[ 保存退出 :wq! 或者 shift + zz ]
修改主機名:vi /etc/sysconfig/network
將HOSTNAME=localhost改成HOSTNAME=yang 保存退出
修改主機名與IP映射文件:vi /etc/hosts
添加192.168.146.137 yang 保存退出
修改完成後重啓生效:
關閉防火牆,爲了能夠在搭建完成後咱們能夠訪問其端口。若是不想關閉防火牆,能夠打開咱們要訪問的端口便可。隨本身喜愛吧。我在這就直接關閉防火牆進行演示。
1》systemctl stop firewalld 關閉防火牆
2》systemctl status firewalld 查看防火牆狀態
3》 systemctl start firewalld 開啓防火牆
4》 systemctl disable firewalld 禁止防火牆隨機啓動
上面是關閉防火牆,還能夠在開啓某一個訪問端口:vi/etc/sysconfig/iptables 這個前提要安裝iptables.就不演示了。
4> SSH設置和密鑰生成
SSH設置須要在集羣上作不一樣的操做,如啓動,中止,分佈式守護shell操做。認證不一樣的Hadoop用戶,須要一種用於Hadoop用戶提供的公鑰/私鑰對,並用不一樣的用戶共享。
下面的命令用於生成使用SSH鍵值對。複製公鑰造成 id_rsa.pub 到authorized_keys 文件中,並提供擁有者具備authorized_keys文件的讀寫權限。
$ ssh-keygen -t rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys 【能夠不加】
jdk1.8 ,hadoop2.8 【我已經下載好這些了】
1》到這準備工做已經基本完成,我要在root超級用戶下建立一個咱們搭建集羣的用戶。hadoop
2》配置hadoop用戶的sudo命令。參考個人博客:sudo的安裝
3》切換到hadoop用戶上。咱們來安裝hadoop的僞分佈式。
4》上傳軟件
先安裝lrzsz插件
到這,咱們已經經過命令把jdk和hadoop上傳到了/home/hadoop的家目錄下了。
1>解壓jdk,並移動到 /usr/local 下 修更名稱爲jdk1.8
解壓
重命名
移動到指定文件夾
查看移動效果:
配置java環境變量: vi ~/.bashrc [用戶的] 或者 /etc/profile [系統的] 在這我就配置用戶級別的。系統的全局有效。不明白這個範圍的能夠上網查一下。我就不詳細介紹了。
source ~/.bashrc 讓配置生效。
而後java -version 驗證java配置是否成功。
2> hadoop的配置:(修改hadoop/etc/hadoop下的配置文件(hadoop-env.sh、core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml))
jdk是hadoop的基礎。安裝好jdk後,咱們來配置hadoop。首先解壓hadoop。我在local下建立一個hadoop文件夾,後期hadoop的其餘插件我也會放在這個文件夾中。
執行命令 sudo tar -zxvf hadoop----tgz -C /usr/local/hadoop -C參數,是直接解壓到指定文件夾。
配置環境變量:
還能夠加上這些屬性:
export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
source ~/.bashrc 讓配置生效。
1》修改hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8
2》
1>格式化hdfs(只能格式化一次)
cd $HADOOP_HOME/bin
hdfs namenode -format
2>啓動hadoop
cd $HADOOP_HOME/sbin
啓動hdfs
start-dfs.sh
啓動yarn
start-yarn.sh
啓動historyserver
mr-jobhistory-daemon.sh start historyserver
web驗證:(打開表示啓動成功)
驗證hdfs啓動狀態:http://yang:50070/
驗證yarn啓動狀態:http://yang:8088/
驗證啓動狀態:http://yang:19888/