1、建立hadoop組和使用者,useradd hadoop passwd hadoop groupadd hadoops usermod -G hadoops hadoop(將hadoop新增到hadoops組中)。
2、下載hadoop版本 http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.15.0.tar.gz 。(或者直接:wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.15.0.tar.gz/ ,https://archive.cloudera.com/cdh5/cdh/5/ 這裡hadoop生態圈其他的工具下載)
3、安裝java1.8,解壓jdk1.8的包,vi /home/hadoop/.bash_profile,然後新增環境變數
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
測試:java -version ,成功。
4、配置ssh無密碼登入,先輸密碼登入一次(建立.ssh檔案):ssh hadoop000(以後ip可能會變,所以都寫成hadoop000,應先在/etc/hosts檔案中新增host解析,解析到本機ip)。然後執行:ssh-keygen -t rsa來生成ssh的公鑰和私鑰,在.ssh目錄下執行:cat id_rsa.pub >> authorized_keys,最後為authorized_keys檔案更改為600許可權即可:chmod 600 authorized_keys。
5、正式安裝Hadoop,解壓Hadoop的安裝包到~/app:tar -zxvf hadoop-2.6.0-cdh5.15.1.tar.gz -C ~/app
a、配置hadoop/etc/hadoop/hadoop-env.sh下的JAVA_HOME(預設指向$JAVA_HOME,所以只要配置了環境變數就不用配置這裡)。
b、配置hadoop/etc/hadoop/core-site.xml,配置預設的hadoop的檔案系統指向哪裡,<configuration>標籤中加入以下內容。
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop000:8020</value>
</property>
c、配置hadoop的hdfs檔案塊的數量(因為學習環境,只配置成1塊的就行,預設是3塊)和臨時檔案的存放位置(檔案系統的預設臨時檔案是存在/tmp,而linux每次重啟會刪掉/tmp中的檔案,當然我們希望hadoop臨時檔案能自己操作刪除與否),開啟hdfs-site.xml,在<configuration>中加入一下內容:
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/tmp</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
d、配置hadoop從節點的ip,修改hadoop/etc/hadoop/slaves檔案,該檔案預設是localhost,改為hadoop001(hadoop001也一樣先在/etc/hosts裡面配置host解析,也解析到本機)
6、把hadoop配置到環境變數,同java配置步驟(改為HADOOP_HOME即可);source一下環境變數的檔案。
7、格式化檔案系統,執行:hdfs namenode -format,然後啟動檔案系統,執行hadoop的sbin目錄下面的start-dfs.sh,若提示沒找到JAVA_HOME就回到步驟5-a去配置一下。可以單獨啟動和停止某種節點,如:hadoop-daemon.sh stop secondarynamenode。
8、最後輸入jps驗證,發現有nameNode等,啟動成功。或者關閉防火牆後,開啟http://192.168.159.40:50070,能進入檔案系統,啟動成功