1、到hadoop官網下載hadoop3.0,解壓後用xftp複製到ubuntu中
2、配置hadoop的環境變量
在/etc/profile文件中添加如下語句:
exportHADOOP_HOME=/home/navy/hadoop
exportPATH=$PATH:$JAVA_HOME:$HADOOP_HOME/bin
3、配置完後,重啓配置使其生效。source /etc/profile
4、運行 hadoop輸出一長串信息,說明hadoop環境變量配置成功
5、修改hadoop中etc/hadoop目錄下hadoop-env.sh文件 ,將其中的JAVA_HOME改爲jdk安裝目錄,我們的jdk安裝目錄爲/home/navy/jdk1.8.0_162。修改後如下圖所示:
6、修改hadoop中etc/hadoop/目錄下的core-site.xml文件。這個文件的詳解可以查看官網http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml 上的說明。我們先看看io.seqfile.local.dir配置項,這個是用來指定序列文件在合併期間存儲中間數據文件的本地目錄,而它的值是${hadoop.tmp.dir}/io/local。我們再看看這裏面引用的臨時文件目錄配置項 hadoop.tmp.dir,它的值爲 /tmp/hadoop-${user.name}。也就是說,默認情況下,文件合併期間產生的中間數據文件存放在臨時目錄/tmp/hadoop下。大家都知道這是一個臨時文件目錄,當我們再次啓動服務器的時候,該目錄下的文件就會清空,所以,爲了更久的保存數據,我們可以重新指定一個目錄,用來存儲這些數據文件。
我們在當前用戶目錄下創建tmp(mkdir tmp)目錄,路徑爲/home/navy/tmp。打開core-site.xml文件,如下:
在<configuration>中添加如下配置
(1)添加指定中間數據文件存放目錄的配置。
<property>
<name>hadoop.tmp.dir</name>
<value>/home/navy/tmp</value>
</property>
(2)添加指定默認文件系統名稱的配置。即,請求這個hdfs的URL地址。
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
添加完後,使用cat命令查看該文件信息,如下圖所示:
7、修改hadoop中etc/hadoop目錄下的hdfs-site.xml文件。這個文件的詳解可以查看官網 http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml上的說明。我們先看這個配置文件中的 dfs.replication 配置項,這個是用來指定hdfs的副本數的,默認值爲3。現在我們用的是僞分佈式,沒有那麼多副本節點,所以我們將其改爲1。打開hdfs-site.xml文件,在<configuration></configuration>標籤中添加如下代碼:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
修改完後,如下圖所示:
8、設置ssh無密碼登錄。
現在當我們每次使用ssh localhost訪問的時候,都需要輸入密碼。此時我們可以改成無密碼登錄。首先退出root用戶,到普通用戶。然後執行 ssh-keygen -t rsa(使用rsa加密,還有一種方式是dsa)命令生成密鑰。執行後會在用戶登錄目錄下生成.ssh目錄和id_rsa、id_rsa.pub個文件,如下圖所示:
將生成的公鑰複製到 .ssh/authorized_keys中,這樣登錄就不需要密碼了。執行命令 cp id_rsa.pub authorized_keys,完成後.ssh目錄中的文件如下:
9、格式化文件系統。執行hadoop中bin目錄下的hdfs namenode -format 指令即可。
10、開啓節點守護進程。執行hadoop 中sbin 目錄下的tart-dfs.sh 指令即可。此時,可能會提示 rcmd: socket: Permission denied,如下圖所示:
此時,可以在/etc/pdsh目錄下新建 rcmd_default(touch rcmd_default)文件,然後用vi打開此文件,寫入ssh,然後回車(注意:一定要回車另起一行,不然會報錯)。然後在運行 sbin/start-dfs.sh 開啓守護進程。使用jps查看進程啓動情況,如下圖所示:
11、關閉防火牆。查看防火牆狀態:sudo ufw status 關閉防火牆:sudo ufw disable 開啓防火牆:sudo ufw enable sudo ufw default deny
12、在瀏覽器中輸入http://<hadoop服務器IP地址>:98710,如:http://192.168.30.130:9870能看到啓動進程頁面,說明搭建成功。頁面如下: