使用Hadoop需要安装Java环境。安装jdk8
输入命令:sudo apt-get update
输入命令:sudo apt-get install openjdk-8-jre-headless
输入命令:java --version 检查当前的java版本,安装成功
到Hadoop官网的下载页面,选择Hadoop2.7.7的binary,点击
点击后进入如下页面,找到给出的镜像下载点,复制链接
在虚拟机的终端利用wget命令下载,如下图所示。命令格式:wget [链接]
下载结束后,显示界面如下
输入ls命令,可以看到,当前目录中已经多了一个hadoop的tar.gz文件,该文件位于系统的主目录下。
在终端输入如下图所示的命令(注意要在主目录下)(可以简单学习一下Linux的基本操作)
sudo tar -zxvf [文件名] (文件名你下载的Hadoop压缩包的名称)
解压后会得到hadoop文件。可以用ls命令查看。
接着将解压后的文件移动到/usr/local/hadoop目录下
命令 sudo mv hadoop-2.7.7 /usr/local/hadoop
输入命令ll可以查看移动结果
命令 ll /usr/local/hadoop
运行Hadoop前需要设置环境变量。为了每次进入操作系统后,可以自动配置好环境变量,我们需要修改bashrc文件。输入命令 sudo gedit ~/.bashrc
在文件最末添加配置内容。
首先,确认JDK的安装路径。在终端(可以新开一个终端)中输入update-alternatives --display java 命令,查看
其安装路径为上图红框中内容。在bashrc文件中设置JDK的安装路径(注意最后的/bin/java不要),添加
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
再设置Hadoop安装路径
export HADOOP_HOME=/usr/local/hadoop
再设置PATH
export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin
export PATH= P A T H : PATH: PATH:HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME= H A D O O P H O M E e x p o r t H A D O O P C O M M O N H O M E = HADOOP_HOME export HADOOP_COMMON_HOME= HADOOPHOMEexportHADOOPCOMMONHOME=HADOOP_HOME
export HADOOP_HDFS_HOME= H A D O O P H O M E e x p o r t Y A R N H O M E = HADOOP_HOME export YARN_HOME= HADOOPHOMEexportYARNHOME=HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR= H A D O O P H O M E / l i b / n a t i v e e x p o r t H A D O O P O P T S = " − D J a v a . l i b r a r y . p a t h = HADOOP_HOME/lib/native export HADOOP_OPTS="-DJava.library.path= HADOOPHOME/lib/nativeexportHADOOPOPTS="−DJava.library.path=HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH= H A D O O P H O M E / l i b / n a t i v e : HADOOP_HOME/lib/native: HADOOPHOME/lib/native:JAVA_LIBRARY_PATH
编辑完后,如下所示,点击保存然后退出文件。
=
命令行输入 source ~/.bashrc 是的设置生效
这个是Hadoop的配置文件。
输入命令 sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh 打开文件,找到其JAVA_HOME设置。如下图
修改为本地的java安装路径 /usr/lib/jvm/java-11-openjdk-amd64 (和之前一样),保存并退出
设置HDFS的默认名称。
sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml
在configuration中添加如下内容,保存退出
sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml
在configuration中添加如下内容:
Hadoop提供了mapred-site.xml的模板文件。输入命令进行复制 sudo cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
打开mapred-site.xml文件
sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml
在configuration中添加如下配置
sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml
在configuration中添加如下内容
首先,创建namenode数据存储目录
sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode
然后,创建datanode数据存储目录
sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
将hadoop目录的所有者更改为hduser
sudo chown hduser:hduser -R /usr/local/hadoop
最后,将HDFS进行格式化
hadoop namenode -format
Hadoop启动时,NameNode与DataNode连接并管理这些节点。连接时需要使用SSH工具。因此,首先需要下载SSH。输入命令 apt-get install ssh 既可下载
下载后尝试启动hadoop
输入命令 start-all.sh 中间会反复要求输入密码,因为单节点状态下,namenode与datanode时同一台机器,我们只需要输入自己机器的密码即可。最后会显示成功启动
启动后,我们可以输入命令 ips 查看系统当前启动的进程,可见已经正常启动
其中ResourceManager NodeManager属于MapReduce功能
NameNode,SecondaryNameNode,DataNode属于HDFS功能
此外,可以单独启动HDFS,命令为 start-dfs.sh
也可以单独启动Yarn,命令为 start-yarn.sh
关闭命令:stop-all.sh