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


目录
相关文章
|
Linux 虚拟化 iOS开发
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
2414 0
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
|
Linux 虚拟化 iOS开发
Rocky Linux 10 x86_64 OVF (sysin) - VMware 虚拟机模板
Rocky Linux 10 x86_64 OVF (sysin) - VMware 虚拟机模板
992 35
Rocky Linux 10 x86_64 OVF (sysin) - VMware 虚拟机模板
|
Linux 虚拟化 iOS开发
Rocky Linux 10 aarch64 OVF (sysin) - Apple silicon VMware 虚拟机模板
Rocky Linux 10 aarch64 OVF (sysin) - Apple silicon VMware 虚拟机模板
746 34
Rocky Linux 10 aarch64 OVF (sysin) - Apple silicon VMware 虚拟机模板
|
Linux 虚拟化 iOS开发
VMware Remote Console 13.0.0 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
VMware Remote Console 13.0.0 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
3862 1
VMware Remote Console 13.0.0 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
|
Ubuntu Linux UED
Ubuntu和Debian系统与Hat Linux系列的使用比较
所以,如果你想搞一个家用服务器,或者是个人使用,喜欢新鲜事物,那Ubuntu可能是你的最好选择。如果你需要一个在商业环境中经受住考验的系统,那Fedora或CentOS可能更符合你的口味。不过记住,CentOS现在是CentOS Stream,中途换马了,所以如果你是稳定性的极端追求者,可能得考虑一下这一变化。而Debian,则适合那些对稳定性需求极高,不太追求软件版本新旧的用户。
572 26
|
Ubuntu 搜索推荐 Linux
Ubuntu/Debian Hat系Linux的便捷操作指南
总的来说,虽然Ubuntu/Debian和Red Hat系列在操作方法上有所不同,但基本概念类似。掌握了包管理和服务管理,可以应对大多数常见的系统管理任务。同时,这两个系统都有丰富的在线资源可以查询,不管你在任务中遇到什么困难,搜索引擎都能帮你找到答案。这些基本技能能让你在Linux的世界里更加自如。
456 26
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
696 32
|
Ubuntu Linux 编译器
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
1026 17
|
Ubuntu Linux
Ubuntu Linux
背景 Ubuntu起源于南非,其名称“Ubuntu”来源于非洲南部祖鲁语或豪萨语,意为“人性”、“我的存在是因为大家的存在”,这体现了非洲传统的一种价值观。Ubuntu由南非计算机科学家马克·沙特尔沃斯(Mark Shuttleworth)创办,他创立了Canonical公司来推动Ubuntu的发展。Ubuntu的第一个版本于2004年发布,至今已经走过了近20个年头,成为了Linux发行版中的佼佼者。
780 4
Ubuntu Linux
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
1063 15