Hadoop入门——hadoop环境搭建(伪分布式)

这篇文章主要介绍Ubuntu 系统下Hadoop的安装与伪分布式环境搭建

一、前期准备

你需要一个装有Linux操作系统的虚拟机。

1、虚拟机:Vmware WorkStation 14 Pro

软件来源:百度下载

安装教程

2、Linux操作系统:我选的是ubuntu-17.10-desktop-amd64,大家可以根据自己的需求在官网下载:https://www.ubuntu.com/download

安装教程:https://jingyan.baidu.com/article/3f16e003c0b5102591c1030d.html(以Ubuntu为例)


二、环境准备

1、创建hadoop用户

切换到root用户

sudo root

增加一个hadoop用户

sudo useradd -m hadoop -s /bin/bash

给Hadoop用户添加管理员权限

sudo adduser hadoop sudo

更改hadoop用户密码(根据自己的意愿,可改可不改)

sudo passwd hadoop

切换到hadoop用户,密码为之前更改的

su hadoop


2、更新apt

后续需要使用apt进行软件的安装,在这里先更新一下apt

sudo apt-get update


3、安装vim

sudo apt-get install vim

可能会出现如下错误

解决方法:

sudo rm /var/cachr/apt/archives/lock
sudo rm /var/lib/dpkg/lock


重新安装vim,遇到命令行的 [ yes/no]  选项,直接yes进行安装。



4、安装SSH,配置免密登陆

ubuntu默认安装了SSH client,我们需要安装SSH server


配置免密登陆。(可跳过)一方面,我们通过ssh登陆时比较方便,不需重新输入密码;另一方面,在集群方式工作时,主机与从机通信过程或从机与从机之间进行文件备份时是需要越过密码验证这一环节的,所以需要提前生成公钥,在集群工作时,可以直接自动登陆。

进入ssh所在目录

cd  ~/.ssh

生成密钥对

ssh-keygen -t rsa


将公钥文件加入授权

cat ./id_rsa.pub >> ./authorized_keys 

再次登陆SSH不需要输入密码

ssh localhost



5、安装配置JAVA环境

安装jdk(openjdk 1.8.0)

sudo apt-get install openjdk-8-jre openjdk-8-jdk

找到Java安装路径

dpkg -L openjdk-8-jdk | grep '/bin/javac'

利用编辑,配置环境变量

 vim ~/.bashrc

在第一行添加如下代码:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64  #java安装的绝对路径


退出vim:先按ESC键,:wq为保存退出;:q!为不保存退出

生效环境变量  

source  ~/.bashrc

检查JDK是否安装成功以及环境变量配置是否正确

java -version                      #JDK是否安装成功
echo $JAVA_HOME                    #查看环境变量
$JAVA_HOME/bin/java -version       #验证与java -version 输出结果是否一致

配置JAVA环境成功显示如下:


如果在这一步时提示 Error: JAVA_HOME is not set and could not be found. 的错误,则说明之前设置 JAVA_HOME 环境变量那边就没设置好,请按教程先设置好 JAVA_HOME 变量,否则后面的过程都是进行不下去的。



三、安装配置Hadoop


1、hadoop安装包软件下载

下载地址:http://mirrors.cnnic.cn/apache/hadoop/common/

下载stable(稳定版)下面的hadoop-2.x.y.tar.gz 文件都是编译好,我下载的是hadoop-2.9.0.tar.gz

下载方式:可以在Ubuntu自带的火狐浏览器下下载(建议这种方式,下载的安装包默认位置在Downloads里),也可以在本地下载然后将文件拖到虚拟机内(我采用的是这种方式,因为我的火狐浏览器在下载的时候老是崩掉抓狂

2、选择将 Hadoop 安装至 /usr/local/ 中并修改权限

sudo tar -zxf  ~/Downloads/hadoop-2.9.0.tar.gz -C /usr/local      # 解压到/usr/local中
cd /usr/local/                                                    # 进入usr/local中
sudo mv ./hadoop-2.9.0/ ./hadoop                                  # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop                                     # 修改文件权限

3、检查hadoop是否安装成功

在hadoop文件所在目录输入下面命令:

./bin/hadoop version

安装成功会显示hadoop的版本,如下图所示:


四、Hadoop伪分布式环境配置

Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。


Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

1、 修改core-site.xml配置文件

利用vim编辑器进行编辑,命令如下:

vi ./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>

修改后:



2、 修改hdfs-site.xml配置文件

利用vim编辑器进行编辑,命令如下:

vi ./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>

修改后:



3、启动Hadoop

首次启动需要格式化NameNode(以后启动不需要),输入以下命令:
 hdfs namenode -format

成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示


如果格式化错误,需要检查配置文件配置是否正确,最常见的问题就是配置文件里的拼写错误。

接着开启 NameNode 和 DataNode 守护进程,按提示操作


输入jps命令,查看所有的守护进程是否都正常启动。



4、停止Hadoop

./sbin/stop-dfs.sh


五、总结

易出错点:JAVA环境变量的配置,如果出错后续无法进行。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值