Hadoop伪分布式的从零搭建教程


Hadoop伪分布式从0安装教程

作者:安炳旭

时间:2018 /12 /5

主机环境:MacBookPro

虚拟机:vmware fusion

虚拟机系统:ubuntu18.04

jdk版本:1.8

Hadoop版本:2.7.7

下载

Hadoop

https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

jdk

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下载好放在桌面

![屏幕快照 2018-12-05 上午11.55.10](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 上午11.55.10.png)

安装

配置ssh免密登录

  • 作用:避免每次start-all.sh的时候都要输入密码

步骤

  1. 打开命令行 输入 ssh-keygen -t rsa 一路回车
  2. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  3. 测试 ssh localhost

![屏幕快照 2018-12-05 上午11.43.49](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 上午11.43.49.png)

发现了问题22端口被拒绝!

解决方法:安装openssh

sudo apt-get install openssh-server

4.再次测试

![屏幕快照 2018-12-05 上午11.47.47](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 上午11.47.47.png)

成功了!

安装jdk

  1. 创建文件夹 mkdir /usr/local/java

  2. 进入 cd /usr/local/java

  3. 将下载好的内容移动

    mv /home/bxan/Desktop/jdk-8u191-linux-x64.tar.gz ./

    注意:bxan是用户的名字,每个人都不一样。

  4. 进入root用户:sudo -s

  5. 解压 tar -xzvf jdk-8u191-linux-x64.tar.gz

    如图:便是成功了

    ![屏幕快照 2018-12-05 下午12.00.35](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.00.35.png)

![屏幕快照 2018-12-05 下午12.00.43](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.00.43.png)

6.配置环境变量

gedit /etc/profile

在文件末尾加入

注意:底部不能留空行,行尾部不能有空格

export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

然后

source /etc/profile

注意:这里过后java -version

javac

java 都可以使用了。

重新打开一个terminal再次尝试,若不行输入这个用这个命令安装一下sudo apt install openjdk-8-jdk-headless

成功效果:

![屏幕快照 2018-12-05 下午12.18.26](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.18.26.png)

你不信的话写个hello world试试!

安装Hadoop!

  1. 将桌面上的hadoop移动到/usr/local中

    cd ~/Desktop

    sudo mv hadoop-2.7.7.tar.gz /usr/local

cd /usr/local/

  1. 解压

    sudo tar -xvf hadoop-2.7.7.tar.gz

    解压成功后的效果:

    ![屏幕快照 2018-12-05 下午12.25.51](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.25.51.png)

  2. 修改配置文件

    先切换到root :sudo -s

    进入目录cd etc/hadoop/

修改hadoop-env.sh

sudo gedit hadoop-env.sh

在最后一行添加export JAVA_HOME=/usr/local/java/jdk1.8.0_191

修改core-site.xml

gedit core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

修改hdfs-site.xml

gedit hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

4.执行namenode -format

cd /usr/local/hadoop-2.7.7/bin

然后

./hdfs namenode -format

成功的效果如下:

![屏幕快照 2018-12-05 下午12.44.35](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.44.35.png)

5.启动

先进入 /usr/local/hadoop-2.7.7/sbin

然后 sudo ./start-dfs.sh

出现了错误!!!

![屏幕快照 2018-12-05 下午12.47.36](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.47.36.png)

解决上述一直密码错误的问题

1.修改root密码:sudo passwd root

2.辑配置文件,允许以 root 用户通过 ssh 登录:sudo vi /etc/ssh/sshd_config

​ 找到:PermitRootLogin prohibit-password禁用

   **添加:PermitRootLogin yes**

![屏幕快照 2018-12-05 下午12.57.20](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.57.20.png)

3.sudo service ssh restart

4.切换到root下

ssh-keygen -t rsa

然后cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

修改权限 chmod 600 /root/.ssh/authorized_keys

注意:若没有authorized_keys这个文件就新建一个

6.再次sudo ./start-dfs.sh

![屏幕快照 2018-12-05 下午1.04.59](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午1.04.59.png)

tmd!jps没东西

解决办法:

  1. 进入rootsudo -s
  2. jps
  3. ![屏幕快照 2018-12-05 下午1.15.08](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午1.15.08.png)

4.成功了!!!!

进入localhost:50070看看

![屏幕快照 2018-12-05 下午1.17.47](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午1.17.47.png)

![屏幕快照 2018-12-05 下午1.17.56](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午1.17.56.png)

参考教程


文章作者: Bxan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Bxan !
  目录