使用的虚拟机软件是:VMWare Workstation Pro 14

虚拟机系统:Ubuntu 18.04

注:涉及到的内容比较多,可直接点击相应链接查看对应内容

目录

创建新账户

安装ssh

安装vim

在虚拟机中安装JDK并配置环境变量

安装Eclipse(可选)

安装Hadoop

Hadoop伪分布模式修改

启动HDFS伪分布式模式


创建新账户

参考文章:Ubuntu16.04系统中创建新用户

*使用adduser命令

1. 切换为root用户

su root

注:若提示“su: Authentication failure”,原因应该是没有设置root账户的密码

在终端输入:

sudo passwd root

设置完root密码后重新切换为root用户即可

2. 添加新用户hadoop

adduser hadoop

设置密码信息

Hadoop集群搭建Ubuntu虚拟机 虚拟机ubuntu安装hadoop_restful

退出当前账户登录hadoop账户

3. 允许该用户以管理员身份执行指令

  1. 切换到root
    su root

2)执行visudo命令

visudo
  1. 该命令实际上打开的是/etc/sudoers文件,修改该文件,在“root ALL=(ALL:ALL) ALL”这一行下面加入一行:
    hadoop ALL=(ALL:ALL) ALL

ctrl+o(然后再按enter)保存,ctrl+c取消,ctrl+x退出

退出root账户

exit

安装ssh

1. 更新apt源

sudo apt-get update

2. 安装ssh服务端

sudo apt-get install openssh-server

3. 安装后使用如下命令登录本机

ssh localhost

输入yes后输入对应的密码即可登录

4. 输入exit退出ssh

5. 配置免密登录

参考文章:Ubuntu18配置ssh免密登录

cd ~/.ssh/ # 若没有该目录,请先执行一次 

ssh localhost ssh-keygen -t rsa # 会有提示,都按回车就可以 

cat id_rsa.pub >> authorized_keys # 加入授权 

使用ssh localhost试试能否直接登录

安装vim

sudo apt-get install vim

在虚拟机中安装JDK并配置环境变量

参考文章:Ubuntu 18.04安装JDK并配置环境变量 |?Ubuntu18.04 安装Jdk1.8

1. 下载JDK,网址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Hadoop集群搭建Ubuntu虚拟机 虚拟机ubuntu安装hadoop_restful_02

根据系统版本选择下载

2. 解压

解压到本目录下,将文件名换成对应的即可

sudo tar -zxvf jdk-8u171-linux-x64.tar.gz

3. 移动到自己的java目录

sudo mv jdk1.8.0_201 /usr/local/jdk1.8

4. 配置环境变量

使用全局设置方法,是所有用户的共用的环境变量

sudo vim ~/.bashrc

把以下命令复制到最底部,其中,export JAVA_HOME=后面要填写自己解压后的jdk的路径

export JAVA_HOME=/usr/local/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

5. 使配置立即生效

source ~/.bashrc

6. 测试是否安装成功

java -version

安装Eclipse(可选)

参考文章:Ubuntu 18.04安装Eclipse教程

1. 官网下载:https://www.eclipse.org/downloads/packages/

Hadoop集群搭建Ubuntu虚拟机 虚拟机ubuntu安装hadoop_ubuntu_03

2. 解压

sudo tar -zxvf eclipse-jee-2018-09-linux-gtk-x86_64.tar.gz

3. 移动到自己的文件夹下

sudo mv eclipse /usr/local/

4. 建立jre软链接,先进入到eclipse的安装目录,打开终端

sudo ln -s /usr/local/jdk1.8/jre jre

5. 添加eclipse桌面图标

cd /usr/share/applications
sudo vim eclipse.desktop

复制如下代码:其中Exec=填写eclipse的安装路径,Icon=填写图标路径

[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse
Exec=/usr/local/eclipse/eclipse
Icon=/usr/local/eclipse/icon.xpm
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;

赋予可执行权限:

sudo chmod u+x /usr/share/applications/eclipse.desktop

最后将eclipse图标复制到桌面或固定到dock栏即可

注:打开eclipse报错

Hadoop集群搭建Ubuntu虚拟机 虚拟机ubuntu安装hadoop_restful_04

  1. 首先查看jdk版本是否为1.7及以下,安装旧版本eclipse
  2. 参考文章:Eclipse报错信息JVM terminated. Exit code=1

打开eclipse.ini文件,可以看到:

Hadoop集群搭建Ubuntu虚拟机 虚拟机ubuntu安装hadoop_ubuntu_05

因为安装的是最新版本的eclipse,可能是内存不足的原因

点击虚拟机-设置-内存,将内存改为2048MB,问题解决

Hadoop集群搭建Ubuntu虚拟机 虚拟机ubuntu安装hadoop_restful_06

安装Hadoop

参考文章:Ubuntu16.04安装Hadoop单机和伪分布式环境超详细

1. 自行选择版本下载,地址:http://archive.apache.org/dist/hadoop/core/

2. 解压

sudo tar -zxvf hadoop-2.7.1.tar.gz

3. 重命名为hadoop

sudo mv hadoop-2.7.1 hadoop

4. 移动到自己的文件夹下

sudo mv hadoop /usr/local/

5. 授予访问权限

sudo chmod 777 -R /usr/local/hadoop
//-R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) 
//777:高权限(读、写、执行)

6. 配置环境变量

sudo vim ~/.bashrc

添加如下代码

#HADOOP VARIABLES START 
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL 
export HADOOP_COMMON_HOME=$HADOOP_INSTALL 
export HADOOP_HDFS_HOME=$HADOOP_INSTALL 
export YARN_HOME=$HADOOP_INSTALL 
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END

执行如下代码使其立即生效

source ~/.bashrc

Hadoop伪分布模式修改

1.配置hadoop-env.sh

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

添加如下代码,注意JAVA_HOME路径

# The java implementation to use. 
export JAVA_HOME=/usr/local/jdk1.8
export HADOOP=/usr/local/hadoop
export PATH=$PATH:/usr/local/hadoop/bin

2.配置yarn-env.sh

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

添加如下代码,注意JAVA_HOME路径

# export JAVA_HOME
JAVA_HOME=/usr/local/jdk1.8

3.配置core-site.xml,(这里的tmp.dir不用改,是缓存目录)

sudo 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>

*core-site.xml中原来的有的 < /configuration >一定要删除掉,不然后面格式化的时候会出错。即.xml文件中只有一个 < /configuration >对就可以。

4.修改配置文件 hdfs-site.xml

sudo vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml

插入如下内容,只保留一个 < /configuration >对

<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>

5.配置yarn-site.xml,只保留一个 < /configuration >对

sudo vim /usr/local/hadoop/etc/hadoop/yarn-site.xml

插入如下内容:

<configuration> 
<!-- Site specific YARN configuration properties -->
    <property> 
        <name>yarn.nodemanager.aux-services</name> 
        <value>mapreduce_shuffle</value> 
    </property> 
    <property> 
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
        <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
    </property> 
    <property> 
        <name>yarn.resourcemanager.address</name> 
        <value>127.0.0.1:8032</value> 
    </property> 
    <property> 
        <name>yarn.resourcemanager.scheduler.address</name> 
        <value>127.0.0.1:8030</value> 
    </property> 
    <property> 
        <name>yarn.resourcemanager.resource-tracker.address</name> 
        <value>127.0.0.1:8031</value> 
    </property> 
</configuration>

6. 重启系统

7. 验证Hadoop是否安装成功

输入如下指令

hadoop version

显示如下说明安装成功 若不成功请检查环境变量配置是否正确

Hadoop集群搭建Ubuntu虚拟机 虚拟机ubuntu安装hadoop_大数据_07

启动HDFS伪分布式模式

参考文章:Ubuntu16.04安装Hadoop单机和伪分布式环境超详细

1. 格式化namenode

hdfs namenode -format

成功:

Hadoop集群搭建Ubuntu虚拟机 虚拟机ubuntu安装hadoop_Hadoop集群搭建Ubuntu虚拟机_08

2.启动hdfs

start-all.sh

3.显示进程

jps

有6个进程表示正确:

Hadoop集群搭建Ubuntu虚拟机 虚拟机ubuntu安装hadoop_大数据_09

4. 打开浏览器,输入http://localhost:50070/

显示:

Hadoop集群搭建Ubuntu虚拟机 虚拟机ubuntu安装hadoop_ubuntu_10

输入http://localhost:8088/

显示:

Hadoop集群搭建Ubuntu虚拟机 虚拟机ubuntu安装hadoop_restful_11

至此,Hadoop所需环境全部搭建完毕!

感谢以上参考中提到的各位大佬的文章!