1. 程式人生 > >Ubuntu 16.04 安裝 Hadoop

Ubuntu 16.04 安裝 Hadoop

安裝SSH、配置SSH無密碼登入

  • 安裝SSH Server
  • 登入本機
$ sudo apt-get install openssh-server
$ ssh localhost
  • 配置無密碼登入
$ exit  # 退出ssh localhost
$ cd ~/.ssh/  # 執行一次localhost,即有該目錄
$ ssh-keygen -t rsa  # 按回車即可
$ cat ./id_rsa.pub >> ./authorized_keys  # 加入授權

安裝Hadoop

  • 官網下載安裝包並解壓。(wget、tar)
  • 修改hadoop資料夾許可權
$ sudo chown -R meow:meow ./hadoop

Hadoop偽分散式配置

Hadoop可以在單節點上以偽分散式的方式執行,Hadoop 程序以分離的Java程序來執行,節點既作為NameNode也作為DataNode,同時,讀取的是HDFS中的檔案。
需要修改/usr/local/hadoop/etc/hadoop/下的 core-site.xmlhdfs-site.xml 兩個配置檔案。

  • 修改core-site.xml
<configuration>
 <property>
        <
name
>
hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://172.18.23.188:9000</
value
>
</property> </configuration>

其中的172.18.23.188是伺服器的私網IP。

  • 修改hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>
  • Hadoop配置檔案說明
  1. Hadoop的執行方式是由配置檔案制定的。因此如果需要從偽分散式切換為非分散式,需要刪除core-site.xml中的配置項。
  2. 偽分散式雖然只需要配置 fs.defaultFS 和 dfs.replication 就可以執行(官方教程如此),不過若沒有配置 hadoop.tmp.dir 引數,則預設使用的臨時目錄為 /tmp/hadoo-hadoop,而這個目錄在重啟時有可能被系統清理掉,導致必須重新執行 format 才行。所以我們進行了設定,同時也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否則在接下來的步驟中可能會出錯。
  • 執行NameNode的格式化
$ cd /usr/local/hadoop
$ ./bin/hdfs namenode -format
  • 開啟NameNode和DataNode的守護程序
./sbin/start-dfs.sh

啟動成功後,使用 jps 指令查詢程序,如顯示以下四個程序,則hadoop啟動成功。

[image:ADB6ECED-8792-4C2B-966A-9BE88F72ADD2-15881-0000B04288A9A0C8/B214F8ED-8F19-4738-93DA-DD39B87E555D.png]