Hadoop 的安装和使用(基于Linux~Ubuntu的虚拟机)

简介: Hadoop 的安装和使用(基于Linux~Ubuntu的虚拟机)

Hadoop 的安装和使用(基于Linux~Ubuntu的虚拟机)


 

❀准备工作(先下载好Hadoop安装包和Linux版的jdk1.8):

https://hadoop.apache.org/release/3.1.3.html (3.1.3 版本的,其他版本的可以参照官网:https://hadoop.apache.org/

下载linux版的jdk:https://www.oracle.com/java/technologies/downloads/#java8 (这里以下载jdk-8u301为例子)

                                                                             1.png

 

一、简单了解下 Hapdoop 安装六部曲:

1,创建hadoop用户

2,更新apt(和 安装Vim 编译器)

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

4,安装Java环境

5,安装 Hadoop 软件,进行 Hadoop单机安装和配置(非分布式)

6,Hadoop伪分布式安装和配置

 

~~~~~~~~~~~~(这里介绍一些极大概率会使用的常识和命令)~~~~~~~~~~~~

■ sudo命令
是ubuntu中一种权限管理机制,授权给普通用户执行一些需要root权限执行的操作。使用sudo命令时,需要输入当前用户的密码.
■ 密码
在Linux的终端中输入密码,终端是不会显示任何你当前输入的密码,也不会提示你已经输入了多少字符密码。
■ Ubuntu终端复制粘贴快捷键
在Ubuntu终端窗口中,复制粘贴的快捷键需要加上 shift,即 粘贴是 ctrl+shift+v。
■ ~的含义
在 Linux 系统中,~ 代表的是用户的主文件夹,即 “/home/用户名” 这个目录,如你的用户名为 hadoop,
则 ~ 就代表 “/home/hadoop/”
□ ctr + c:退出当前命令行

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~打开虚拟机的乌邦图,开始操作啦~~~~~~~~~~~~~~~~~~~~~~~

过程中可能遇到无法从主机复制粘贴命令到虚拟机解决请看文章最后,一些麻烦的解决的第0点

先进入 乌邦图的终端 : 首先按 ctrl+alt+t打开终端窗口

 

1,创建hadoop用户:

①(命令如下~ 如果该过程遇到麻烦的话,可以看文章后边第一点,有删除hadoop用户的操作哈)~这里咱创建了一个叫hadoop的用户哈

1

sudo useradd -m hadoop -s /bin/bash

②(注意:因为是sudo命令,需要先输入当前用户的密码哈)

③ 设置咱创建的用户密码~ 为了防止忘记密码,建议密码就设置为: hadoop

1

sudo passwd hadoop

④ 为 创建的hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题:

1

sudo adduser hadoop sudo

或者:⑤ 共享文件夹,用户访问共享文件夹需要 vboxsf 权限, 终端添加hadoop用户到 vboxsf 组里,输入命令:

1

sudo adduser hadoop vboxsf

   添加后重启

或者:⑤若不打算共享文件夹(就跳过共享文件夹操作那一步),最后一步是: 注销当前用户(点击右上角,找到当前的用户,选择注销),返回登陆界面~选择咱创建的 名为“hadoop”的用户 进入

 

2,更新apt(和 安装Vim 编译器)

~~~~~~~~~~~~先进入 乌邦图的终端 : 首先按 ctrl+alt+t 打开终端窗口~~~~~~~~~~~~~~

(1)更新apt

1

sudo apt-getupdate

 

注意:若出现如下 “Hash校验和不符” 的提示,可通过更改软件源来解决。若没有该问题,则不需要更改。
从软件源下载某些软件的过程中,可能由于网络方面的原因出现没法下载的情况,那么建议更改软件源。
在学习Hadoop过程中,即使出现“Hash校验和不符”的提示,也不会影响Hadoop的安装。
(可以看文章的最后第二点有解决“Hash校验和不符”的操作

 

(2) 安装Vim 编译器(安装的过程当按它提示继续执行时,输入一下     y)

1

sudo apt-getinstall vim

 

~~~~~~~~~~~~~~~~~~~~~~~~(Vim编译的常用操作)~~~~~~~~~~~~~~~~~~~~~

vim的常用模式有分为命令模式,插入模式,正常模式,可视模式。
正常模式:主要用来浏览文本内容。一开始打开vim都是正常模式。按 Esc键 任何情况,都可以返回正常模式
插入编辑模式:用来向文本中添加内容的。在正常模式下,输入 i 键,即可进入插入编辑模式。
注意退出vim时,如果使用vim修改任何文本,需要 在正常模式下(Esc键),输入 shift+zz (或者按 :wq )进行保存,然后再退出 vim

 

3,安装SSH、配置SSH无密码登陆(Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server)

集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令)

① 命令:

1

sudo apt-getinstall openssh-server

② 安装后,可以使用如下命令登陆本机:(该过程按照提示,输入 yes)

1

ssh localhost

③ 配置成SSH无密码登陆:

1

2

3

4

exit                           # 退出刚才的 ssh localhost

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

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

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

2.png

此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了~~~

 

4,安装Java环境 (安装JDK方式(手动安装,推荐本方式))~该过程遇到的bug解决情况在文章最后,一些麻烦的解决的第三点

(例如:■ 0x00007FFC10CA2ACC指令 引用了0x0000000000000000 内存,该内存不能written,要终止程序?)

(例如: 如何从windows传输文件到virtualBox中ubuntu系统~即共享文件

(例如:■bug虚拟机下Ubuntu共享文件夹不能显示您没有查看共享文件的权限)

(例如:bug:VirtualBox 主机于虚拟机不能复制粘贴的bug

(例如:bug热键等鼠标独占的问题

 

将jdk文件jdk-8u301-linux-x64.tar.gz下载到本地电脑,假设保存在“/home/yushan/下载/”目录下。

(该过程,先通过共享文件功能,在主机windows下将jdk压缩包拷贝的共享文件下,然后重启虚拟机

■ 可能遇到的bug1:虚拟机下Ubuntu共享文件夹不能显示

解决:在主机windows下将jdk压缩包(要共享的文件)共享,重新拷贝到共享文件夹下,然后Ubuntu重启(点击菜单栏:控制-> 重启


■ 可能遇到的bug2:您没有查看共享文件的权限~

解决:终端添加hadoop用户到 vboxsf 组里,输入命令: sudo adduser hadoop vboxsf 然后重启

3.png

② ctr+alt+t 进入终端(当前用户是hadoop哈),执行以下命令:

1

2

3

4

5

cd /usr/lib

sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件

cd ~       #进入hadoop用户的主目录

cd 下载      #注意区分大小写字母,刚才已经通过FTP软件把JDK安装包jdk-8u301-linux-x64.tar.gz上传到该目录下

sudo tar -zxvf ./jdk-8u301-linux-x64.tar.gz -C /usr/lib/jvm  #把JDK文件解压到/usr/lib/jvm目录下

③ JDK文件解压缩以后,可以执行如下命令到/usr/lib/jvm目录查看一下:(可以看到,在/usr/lib/jvm目录下有个jdk1.8.0_301目录)

1

2

cd /usr/lib/jvm

ls

④ 设置环境变量:

1

2

cd ~

vim ~/.bashrc

⑤ 使用vim编辑器, 进入 插入模式,按 i 键,(在文件的开头位置,添加如下几行内容)

1

2

3

4

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_301

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

⑥ 按Esc 键,进入vim的正常模式,然后 输入shift+zz(保存并退出)

⑦ 让.bashrc文件的配置立即生效:

1

source ~/.bashrc

⑧ 查看是否安装成功:

1

java -version

看到java的版本,则配置java环境成功啦

 

 

5,安装 Hadoop(默认安装的Hadoop 就是单机版的啦,即单 Java 进程)

通过windows 在官网下载好hadoop的安装包,放到共享文件夹里,然后启动虚拟机~

然后把 hadoop的安装包复制粘贴到 文件夹的下载里~

5.png

 将 Hadoop 安装至 /usr/local/ 中:

1

2

3

4

sudo tar -zxf ~/下载/hadoop-3.1.3.tar.gz -C /usr/local    # 解压到/usr/local中

cd /usr/local/

sudo mv ./hadoop-3.1.3/ ./hadoop                    # 将文件夹名改为hadoop

sudo chown -R hadoop ./hadoop                    # 修改文件权限

Hadoop 的解压和版本查看:

cd /usr/local/hadoop

./bin/hadoop version

6.png

~~~~~~~看到了hadoop版本,则安装成功啦

 

可选操作,测试一下单机版的hadoop运行情况哈

在此我们选择运行 grep 例子(hadoop的jar包有的一个例子~运行


./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar 可以看到所有例子),


我们将 input 文件夹中的所有文件作为输入,筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中。

① 命令:

1

2

3

4

5

cd /usr/local/hadoop

mkdir ./input

cp ./etc/hadoop/*.xml ./input   # 将配置文件作为输入文件

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'

cat ./output/*          # 查看运行结果

② 执行结果如下:

7.png

③ 需要先将 ./output 删除。 注意,Hadoop 默认不会覆盖结果文件,导致再次运行上面实例会提示出错。

1

rm -r ./output

 

 

~~~~~~~~~~~~~未完待续,《Hadoop安装最后一步~Hadoop伪分布式配置》~~~~~~~~~~~~

参考文章:https://www.cnblogs.com/shan333/p/15333455.html

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~(最后,一些麻烦的解决)~~~~~~~~~~~~~~~~~~~~~~~

第0点:无法从主机复制粘贴命令到虚拟机:

步骤:设置 -》存储 -》控制器:SATA -》...

8.png

 

 

 

 

第一点:删除hadoop用户的操作

① 执行userdel命令:

sudo userdel XXX    //XXX为需要删除的用户名

② 删除用户:

sudo rm -rf /home/XXX    //XXX为需要删除的用户名

③ 删除用户权限相关配置,

先删除/home目录下的文件:

cd /home

rm -rf XXX        //XXX为需要删除的用户名

再删除/etc/passwd下的用户:

cat /etc/passwd        

④ 删除/etc/group下的用户组文件:

cat /etc/group        

⑤删除/var/spool/mail下的邮箱文件:

cd /var/spool/mail

rm -rf XXX        //XXX为需要删除的用户信息

参考文章:https://blog.csdn.net/CAU_Ayao/article/details/83502880

 

 

第二点:解决: “Hash校验和不符”  【该过程提示要输入密码,你就输入一下哈】

11.png

 

12.png

 

13.png

 

14.png

 

16.png


目录
相关文章
|
2月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
214 3
|
28天前
|
Ubuntu Linux 开发工具
ubuntu linux搭建lvgl
ubuntu linux搭建lvgl
28 6
|
2月前
|
分布式计算 资源调度 Hadoop
centos7二进制安装Hadoop3
centos7二进制安装Hadoop3
|
2月前
|
Ubuntu Linux 开发工具
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
|
2月前
|
机器学习/深度学习 Ubuntu Linux
【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)
【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)
|
2月前
|
Ubuntu Linux Windows
如何在WSL中的ubuntu编译Linux内核并且安装使用ebpf?
请注意,在WSL1中可能会由于内核架构限制而无法成功进行以上过程,WSL2对于Linux内核的完整支持更为合适。此外,部分步骤可能因不同的Linux发行版或内核版本而异。
72 4
|
2月前
|
分布式计算 Ubuntu Hadoop
在Ubuntu 16.04上如何在独立模式下安装Hadoop
在Ubuntu 16.04上如何在独立模式下安装Hadoop
23 1
|
2月前
|
存储 NoSQL Java
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
该博客文章展示了如何在Linux虚拟机上使用Redis和Jedis客户端实现手机验证码的验证功能,包括验证码的生成、存储、验证以及限制每天发送次数的逻辑,并提供了测试结果截图。
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
|
2月前
|
NoSQL Java Linux
springboot+redis+虚拟机 springboot连接linux虚拟机中的redis服务
该博客文章介绍了如何在Spring Boot项目中通过配置和代码实现连接运行在Linux虚拟机上的Redis服务,并提供了详细的步骤和测试结果截图。
springboot+redis+虚拟机 springboot连接linux虚拟机中的redis服务
|
2月前
|
Ubuntu 安全 搜索推荐
Linux Ubuntu 桌面环境概览
Ubuntu,在开源领域如同璀璨明星,以其卓越的桌面环境和用户体验赢得全球用户的心。采用优雅且功能丰富的GNOME桌面,Ubuntu界面简洁现代,提供直观易用的操作体验。无论是文件管理还是系统设置,图形界面让一切变得轻松。此外,高度可定制化特性让桌面成为个性展示的舞台,集成丰富应用满足多样化需求。背后强大的社区支持确保用户获得及时帮助,共享开源精神。
33 0