Ubuntu16.04下安裝Hadoop2.7.4僞分佈式環境

1.建立Hadoop用戶
三部曲:添加用戶,設置密碼,給該用戶設置管理員權限
爲 hadoop 用戶增長管理員權限,方便部署,避免一些對新手來講比較棘手的權限問題html

sudo useradd -m hadoop -s /bin/bash
sudo passwd hadoop
sudo adduser hadoop sudo

2.登錄hadoop用戶後,更新apt
當前用戶爲hadoop,咱們先更新一下 apt,後續咱們使用 apt 安裝軟件,若是沒更新可能有一些軟件安裝不了。按 ctrl+alt+t 打開終端窗口,執行以下命令:java

sudo apt-get update

3.安裝ssh並設置ssh免密登錄
注意:每次配置時,須要注意當前目錄爲hadoop。
集羣、單節點模式都須要用到 SSH 登錄(相似於遠程登錄,你能夠登陸某臺 Linux 主機,而且在上面運行命令),Ubuntu 默認已安裝了 SSH client,此外還須要安裝 SSH server:node

hadoop@master:~$sudo apt-get install openssh-server
//設置免密登錄,下面命令將建立一個新的密鑰
ssh-keygen -t rsa -P ""

以下圖:linux

clipboard.png

並將生成的密鑰加入到受權中:git

hadoop@master:~$cat /home/hadoop/.ssd/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys

#測試SSH設置經過「hadoop」用戶鏈接到locahost,就是先su hadoop,而後使用ssh
hadoop@master:~$ssh localhost

4.安裝javavim

先檢查 Ubuntu 操做系統的架構是32位仍是64位bash

xugui@master:~$file /sbin/init

而後安裝相應的jdk,例如,jdk-8-linux-x64.tar.gz
在本教程中,咱們將提取的下載文件到 /usr/local ,以下命令:架構

xugui@master:~$ sudo tar -xvf jdk-8u60-linux-64.tar.gz -C /usr/local
#添加環境變量
vim /etc/porfile

添加下面內空到系統變量,即 /etc/profile 文件的結束ssh

JAVA_HOME=/usr/local/jdk1.8.0_60
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH

如今讓 Ubuntu 知道 JDK/JRE 的位置分佈式

xugui@master:~$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/jdk1.8.0_60/bin/java" 1
xugui@master:~$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/jdk1.8.0_60/bin/javac" 1
xugui@master:~$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/jdk1.8.0_60/bin/javaws" 1

告訴 Ubuntu 咱們安裝的即 jdk1.8.0_60 必須是默認的Java

xugui@master:~$ sudo update-alternatives --set java /usr/local/jdk1.8.0_60/bin/java
xugui@master:~$ sudo update-alternatives --set javac /usr/local/jdk1.8.0_60/bin/javac
xugui@master:~$ sudo update-alternatives --set javaws /usr/local/jdk1.8.0_60/bin/javaws

最後查看Java的版本:java -version

5.下載並安裝hadoop
去hadoop官網下載hadoop-2.6.0.tar.gz
咱們選擇將 Hadoop 安裝至 /usr/local/ 中:

sudo tar -zxf ~/下載/hadoop-2.6.0.tar.gz -C /usr/local    # 解壓到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop            # 將文件夾名改成hadoop
sudo chown -R hadoop ./hadoop       # 修改文件權限

Hadoop僞分佈式配置
添加環境變量:vim ~/.bashrc

export HADOOP_HOME=/usr/local/hadoop
export JAVA_HOME=/usr/local/jdk1.8.0_60
export PATH=$PATH:$HADOOP_HOME/bin

而後 source ~/.bashrc

配置關聯HDFS,設置 JAVA_HOME 在文件 /usr/local/hadoop/etc/hadoop/hadoop-env.sh 中

vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

#添加jdk
export JAVA_HOME=/usr/local/jdk1.8.0_60

Hadoop 能夠在單節點上以僞分佈式的方式運行,Hadoop 進程以分離的 Java 進程來運行,節點既做爲 NameNode 也做爲 DataNode,同時,讀取的是 HDFS 中的文件。

Hadoop 的配置文件位於 /usr/local/hadoop/etc/hadoop/ 中,僞分佈式須要修改2個配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每一個配置以聲明 property 的 name 和 value 的方式來實現。

修改配置文件 :core-site.xml
vim  /usr/local/hadoop/etc/hadoop/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://localhost:9000</value>
    </property>
</configuration>

#修改配置文件 hdfs-site.xml:

vim  /usr/local/hadoop/etc/hadoop/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>

Map Reduce 配置

#修改配置文件: mapred-site.xml
vim /usr/local/hadoop/etc/hadoop/mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.jobtracker.address</name>
        <value>localhost:9001</value>
    </property>
</configuration>

在hadoop用戶下,先用ssh localhost,而後格式化hdfs:

#./bin/hdfs是相對路徑,就是先cd到/usr/local/hadoop目錄下
hadoop@master:~$./bin/hdfs namenode -format

顯示格式化成功
clipboard.png

#./sbin同上是相對路徑,啓動hdfs和
./sbin/start-dfs.sh
./sbin/start-yarn.sh

#而後輸入jps,查看是否啓動成功
jps

以下圖:

clipboard.png

終止這兩個守護進程hdfs和yarn

./sbin/stop-dfs.sh
./sbin/stop-yarn.sh

到目前爲止,僞分佈式環境已經搭建成功了。
我也是新手,寫個教程總結一下,而後也是踩了很多坑過來的,能夠參考一下如下兩個教程:
http://dblab.xmu.edu.cn/blog/...
https://wizardforcel.gitbooks...

相關文章
相關標籤/搜索