2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装

我PC上是win10和Ubuntu18.0.4双系统
hadoop 2.8.5
jdk 1.8

1.安装配置jdk

从orcle官网上下载jdk,解压复制到/usr/local/下
/usr/local/jdk1.8中的文件


2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装_第1张图片
2018-11-20 15-48-11屏幕截图.png

修改配置文件 ~/.bashrc或 /etc/profile,添加环境变量
添加以下内容:


2018-11-20 16-01-37屏幕截图.png

报找不到路径的错误,就看看JAVE_HOME,这个一定是jdk的绝对路径。

配置完成过后,source /etc/profile,可以使修改立即生效,不用重启。
命令java -version查看是否修改成功


2018-11-20 15-56-28屏幕截图.png

2.安装配置hadoop

(1)
去Apache官网下载hadoop 2.8.5


2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装_第2张图片
2018-11-20 16-06-28屏幕截图.png

下载tar文件,解压后复制到/usr/local/下,改名为hadoop,目录中文件

2018-11-20 16-09-56屏幕截图.png

添加环境变量,


2018-11-20 16-13-18屏幕截图.png

注意:sbin目录下有运行hadoop守护进程的脚本,因此如果计划在本地机器上运行守护进程的话,需要将该目录包含进命令行路径中。
HADOOP_HOME一定是hadoop的绝对路径,
HADOOP_CONF_DIR指向/usr/local/hadoop/etc/hadoop
其他暂时不明,好像不写也没关系。
进入/usr/local/hadoop/etc/hadoop
sudo vim hadoop-env.sh 添加jdk路径和HADOOP_CON_DIR

输入 hadoop version来判断Hadoop是否工作

2018-11-20 16-18-37屏幕截图.png

如果报错Could not find or load main class org.apache.hadoop.util.VersionInfo
试试在配置文件中添加
export HADOOP_CLASSPATH=
(hadoop classpath)):$HADOOP_CLASSPATH

各种奇奇怪怪的报错大多和路径有关。
(2)
修改/usr/local/hadoop/etc/hadoop/hadoop-env.sh
EXPORT JAVA_HOME=jdk的路径
Hadoop有以下三种运行模式:
1.独立(本地)模式:无需运行任何守护进程,所有程序都在同一个JVM上执行。在独立模式下测试和调试MapReduce程序很方便,因此该模式在开发阶段较合适。
2.伪分布模式: Hadoop守护进程运行在本地机器上,模拟一个小规模的集群。
3.全分布模式 :Hadoop守护进程运行在一个集群上。

不同模式的关键配置属性,等日后完善。

独立模式下,全为默认属性,不运行守护进程,不需要更多的操作配置
伪分布模式
在/usr/local/hadoop/etc/hadoop下有几个*-site.xml的配置文件,可以把etc/hadoop目录复制到另一个位置,这样安装文件和配置文件隔离开,需要将HADOOP_CONF_DIR指向该目录


2018-11-20 16-28-41屏幕截图.png

core-site.xml中添加


2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装_第3张图片
2018-11-20 16-32-08屏幕截图.png

hdfs-site.xml中添加


2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装_第4张图片
2018-11-20 16-33-24屏幕截图.png

yarn-site.xml
2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装_第5张图片
2018-11-20 16-34-13屏幕截图.png

(3)

配置ssh无密码登陆

安装 ssh,之前请确保apt已更新
$ sudo apt-get install ssh
基于空口令生成一个新SSH密钥,以实现无密码登陆

$ ssh-keygen -t rsa -P ' ' -f ~/.ssh/id_rsa

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

测试是否连接
$ ssh localhost
如果成功则不需要输入密码

(4)
在首次使用hadoop前,必须格式化文件系统。
先修改用户的权限 chown -R 用户名 /usr/local/hadoop
hdfs namenode -format
启动HDFS、YARN和MapReduce守护进程
start-dfs.sh


2018-11-20 16-52-48屏幕截图.png

start-yarn.sh


2018-11-20 16-53-04屏幕截图.png

mr-jobhistory-daemon.sh start historyserver
2018-11-20 16-53-26屏幕截图.png

本地计算机将启动以下守护进程:一个namenode、一个辅助namenode、一个datanode(HDFS)、一个资源管理器、一个节点管理器(YARN)和一个历史服务器(MapReduce)
Hadoop安装目录下logs目录中日志文件可以检查守护进程是否成功启动
Web界面:http://localhost:50070/ 查看namenode

              http://localhost:8088/   查看资源管理器 
2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装_第6张图片
2018-11-20 17-05-50屏幕截图.png
              http://localhost:19888/ 查看历史服务器

还可以通过Java的jps命令,


2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装_第7张图片
2018-11-20 17-08-32屏幕截图.png

创建一个主目录
$ hadoop fs -mkdir -p /user/tce

3.Hadoop自带wordcount测试

进入/usr/local/hadoop/bin,创建目录input
寻找一组英文网页,这里我选择github的主页https://github.com/
查看源代码,拷贝到input目录下的github.html

2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装_第8张图片
2018-11-20 17-20-06屏幕截图.png

在编写text1.txt:hello excuse me fine thank you,text2.txt:hello how do you do thank you
把input目录下文件添加到hadoop输入
cd /usr/local/hadoop/bin
hadoop dfs -put input in
确认一下
hadoop dfs -ls ./in/*
2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装_第9张图片
2018-11-20 17-36-12屏幕截图.png

运行wordcount
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar wordcount in output


2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装_第10张图片
2018-11-20 17-38-26屏幕截图.png

hadoop-mapreduce-examples-2.8.5.jar这个jar包在/usr/local/hadoop/share/hadoop/mapreduce/

2018-11-20 17-38-49屏幕截图.png

登陆 http://localhost:50070/ 查看namenode
2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装_第11张图片
2018-11-20 17-42-05屏幕截图.png

键入 hadoop dfs -cat ./output/* 查看输出结果
2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装_第12张图片
2018-11-20 17-44-44屏幕截图.png

参考资料:

《Hadoop权威指南》大数据的存储与分析 第四版
http://www.cnblogs.com/aijianiula/p/3850002.html
https://blog.csdn.net/t555222/article/details/77882747

你可能感兴趣的:(2018-11-20 在Ubuntu 18中进行Hadoop伪分布式安装)