一、创建hadoop用户

如果你安装Ubuntu的时候不是用的“hadoop”用户,那么需要增加一个名为hadoop的用户


sudo useradd -m hadoop -s /bin/bash


接着使用如下命令设置密码,可简单的设置为hadoop,按提示输入两次密码:


sudo passwd hadoop


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


sudo adduser hadoop sudo


最后使用su hadoop 切换到用户hadoop,或者注销当前用户,选择hadoop登录。

切换到hadoop用户后,先更新一些apt,后续会使用apt安装软件,如果没更新可能有一些软件安装不了


sudo apt-get update


二、安装Java环境

首先在Home目录里面创建一个javabackpack文件夹,用来保存JDK安装包。


普通用户切换hdfs 切换hadoop用户_hadoop 安装


前面已经下载好了jdk-8u251-linux-x64 .tar.gz的压缩包,先解压缩包;右键单击压缩包提取到此处即可解压。


普通用户切换hdfs 切换hadoop用户_hadoop 安装_02


给解压出的文件jdk1.8.0_251添加权限。


sudo chmod -R 777 jdk1.8.0_251


将jdk1.8.0_251目录移动到/usr/java下就可以了。如果没有/usr/java这个目录的话,就创建一个:


sudo mkdir /usr/java


创建完成之后将刚刚修改完权限的jdk1.8.0_251文件移动到目录/usr/java


sudo mv jdk1.8.0_251 /usr/java


配置环境变量,打开/etc/profile文件,命令是:sudo gedit /etc/profile。在文件的末尾加上下面这段配置就可以了:


#


重新加载下/etc/profile中的路径:(是环境变量生效)


source /etc/profile


最后重启电脑,输入命令:


java -version


如果弹出有效界面,代表成功:


普通用户切换hdfs 切换hadoop用户_hadoop安装_03


三、安装Hadoop

首先在Home目录里面创建一个hadoop文件夹,用来保存hadoop-2.9.2.tar.gz安装包。

将hadoop-2.9.2.tar.gz压缩包提取到hadoop文件夹里面,然后在空白处右击鼠标,打开终端。


java -version


给解压出的文件hadoop-2.9.2添加权限。


sudo chmod -R 777 hadoop-2.9.2


将hadoop-2.9.2文件移动到/usr/local/hadoop下就可以了。如果没有/usr/local/hadoop这个目录的话,就创建一个:


sudo mkdir /usr/local/hadoop


创建完成之后将刚刚修改完权限的hadoop-2.9.2文件移动到目录/usr/local/hadoop


sudo mv hadoop-2.9.2 /usr/local/hadoop


输入如下命令来检查Hadoop是否可用,成功则会显示Hadoop版本信息:


cd /usr/local/hadoop/hadoop-2.9.2


普通用户切换hdfs 切换hadoop用户_java version运行不了_04


四、Hadoop单击配置(非分布式)

Hadoop默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。非分布式即单java进程,方便进行调试。

Hadoop附带了丰富的例子(运行./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar 可以看到所有的例子),包括wordcount、terasort、join、grep等。

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


cd /usr/local/hadoop/hadoop-2.9.2


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


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


cat ./output/*


执行成功后如下所示,输出了作业的相关信息,输出的结果是符合正则的单词dfsadmin出现了1次


普通用户切换hdfs 切换hadoop用户_hadoop 安装_05


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


rm -r ./output