Ubuntu18.04搭建Haoop2.7.7单机及伪分布式

看了零零散散的一系列安装教程后,终于磕磕绊绊勉强完成了Ubuntu搭建Haoop
实在是太不希望看零零散散的乱七八糟的教程
所以我决定自己亲手写一份保姆级别的安装配置教程

准备

以下都是我使用的工具版本,具体的版本也可以根据自己的喜好换(劝你最好不要有喜好)

工具

  • 虚拟机: VMware Workstation pro 15.5 官网下载地址
    在这里插入图片描述
    官网按照自己的系统进行下载即可,版本高一点估计也没关系
  • ISO镜像文件 ubuntu
    去百度搜索需要的版本的镜像文件下载
    在这里插入图片描述
  • jdk版本 jdk-8u171 官网下载地址
    百度搜索下载 看准后缀和系统,一定要是linux版本的
    1.8的就好,因为比较稳定 171还是其他的都可,但一定要是8u开头
    在这里插入图片描述
  • hadoop 点击即下载
    百度搜索本版本下载也行
    在这里插入图片描述
  • 最最最重要的东西来了
    请你一定一定要有一颗 健康和强大的心脏 ,因为之后遇到的情况可以让你分分钟崩溃

环境

工具准备好以后就要进行环境的部署了
1、第一步安装VMware
这个随便在网上找个教程安装就可以了
推荐安装教程
2、第二步 新建虚拟机
也是随便找篇教程安装新建即可,除了导入ubuntu的iso文件,大部分时间都是选默认选项,一路next
这个教程就挺好的
VM和ubuntu安装配置后,就是这个样子的
在这里插入图片描述

苦难之旅

安装vim和配置静态IP

1、为了方便之后的文件修改等操作,需要安装一些工具,如vim
切换到root用户下,第一次可能不能切换,按照以下代码更改root用户登录密码
在这里插入图片描述
切换到root用户
在这里插入图片描述
更新apt源,会比较慢,你可以研究如何更换下载源
在这里插入图片描述
安装vim
在这里插入图片描述
为防止每次开机的IP都变换,将其设置为静态IP
在这里插入图片描述
在这里插入图片描述

创建一个hadoop用户

之后的hadoop是装在hadoop用户下的,而不是root用户下
在这里插入图片描述
hadoop 用户增加管理员权限,方便部署
在这里插入图片描述
切换到hadoop用户
在这里插入图片描述

安装SSH、配置SSH无密码登陆

安装ssh服务器
在这里插入图片描述
登录 输入yes和hadoop用户登录密码
在这里插入图片描述
为避免每次登录时都输入密码,设置为无密码登录
在这里插入图片描述
三次回车
若没有~/.ssh文件就再执行一次ssh localhost
在这里插入图片描述
再次登录 已经没有密码了
在这里插入图片描述

安装Java环境

把之前准备好的jdk包弄到虚拟机里面,有很多办法,最简单的就是将jdk包放在qq里,然后在虚拟机的火狐浏览器里登录你的qq进行下载包,顺便把hadoop的压缩包也放到ubuntu虚拟机里,记住下载的路径(建议放在haoop的根目录下,即/home/haoop)。
比如我的在/home/hadoop下
在这里插入图片描述
在haoop用户下

cd /usr/lib
sudo mkdir jvm    #创建/usr/lib/jvm目录用来存放JDK文件
cd ~        #进入到jdk压缩包所在的那个位置,我的是在hadoop的根目录下
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm  
#把JDK文件解压到/usr/lib/jvm目录下

执行如下命令到/usr/lib/jvm目录查看一下
在这里插入图片描述
配置环境变量
在这里插入图片描述
打开~/.bashrc文件后在最底部插入如下代码
在这里插入图片描述
保存后退出vim编辑器
执行如下命令让.bashrc文件的配置立即生效并查看java版本
在这里插入图片描述
出现版本号即java安装完成

安装Haoop

回到放有hadoop压缩包的目录下并解压hadoop到 /usr/local
在这里插入图片描述
解压后

cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop     # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop       # 修改文件权限

在这里插入图片描述
配置环境变量
在这里插入图片描述
在~/.bashrc的文件最后添加下述代码

export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

执行以下代码使~/.bashrc生效并查看haoop版本
在这里插入图片描述
hadoop也就安装完成了

测试Wordcount

wordcount就相当于c语言的"hello world" 是一个小的demo
修改/usr/local/hadoop/etc/hadoop 下的mapred-site.xml文件
如果是mapred-site.template进行如下操作,修改为mapred-site.xml
在这里插入图片描述
修改内容


<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hmaster:9001</value>
</property>
</configuration>

在这里插入图片描述
创建input文件夹

cd /usr/local/hadoop
hadoop fs -mkdir /input

在这里插入图片描述
当前在hadoop的目录下,有个LICENSE.txt的文件,把它放到hdfs的input目录下面

hadoop fs -put LICENSE.txt /input

查看文件是否正确传入到/input目录下
在这里插入图片描述
执行以下代码

cd /usr/local/hadoop/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.7.7.jar wordcount /input /output

在这里插入图片描述
查看输出结果的目录
在这里插入图片描述
查看最终运行的结果
在这里插入图片描述
在这里插入图片描述

伪分布式配置

Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。
Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。
配置文件如下
在这里插入图片描述
修改core-site.xml
在这里插入图片描述
修改前
在这里插入图片描述
添加

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

修改后
在这里插入图片描述
修改配置文件 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>

在这里插入图片描述
完成后执行 NameNode 的格式化
在这里插入图片描述
这里可能会报 Error: JAVA_HOME is not set and could not be found. 的错误
那么请到hadoop的安装目录修改配置文件“/usr/local/hadoop/etc/hadoop/hadoop-env.sh”,在里面找到“export JAVA_HOME=${JAVA_HOME}”这行,然后,把它修改成JAVA安装路径的具体地址
在这里插入图片描述
在这里插入图片描述

开启 NameNode 和 DataNode 守护进程
在这里插入图片描述
通过命令 jps 来判断是否成功启动
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值