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,能進入文件系統,啟動成功