做Hadoop的伪分布式我们分为一下几个步骤
安装JDK
配置JDK的环境变量
配置Hadoop的环境变量
修改Hadoop的文件
对NameNode进行格式化
开启NameNode和DataNode
web页面访问分布式文件系统
需要的软件及源码包
FileZilla ——(https://filezilla-project.org )
SecureCRT ——(https://download.csdn.net/download/xujingran/10775969 )
jdk-7u80-linux-x64.gz ——(https://download.csdn.net/download/xujingran/10775975 )
hadoop-2.6.0.tar.gz([http://archive.apache.org/dist/hadoop/core )
安装JDK
下载完成JDK和Hadoop的源码包
利用FileZilla把文件复制到/root文件夹下
配置JDK,在/usr下创建Java安装文件夹
mkdir / usr/ java
执行ls命令,查看文件是否存在,
解压jdk-7u80-linux-x64.gz到本地的/usr/java
tar - zxvf jdk- 7 u80- linux- x64. gz - C / usr/ java
进入cd /usr/java
执行ls命令查看是否安装成功并修改环境变量
和Windows里安装完JDK进行计算机—>属性—>高级属性—>环境变量的步骤一样
1. vim / etc/ profile
2. 在unset - f pathmunge后面(也就是在最后一行后面)加入
export JAVA_HOME = / usr/ java/ jdk1. 7.0 _80(需要和上面安装的版本相同)
export PATH = $PATH : $JAVA_HOME / bin
修改完成后不会立即生效,需要执行source命令来让它生效。
source / etc/ profile
输入java会有回显信息,输入java- version
命令会有版本的显示则表示JDK安装成功
输入jps会有jps的显示,若没有则需要配置并安装yum源,配置方法查看https://blog.csdn.net/xujingran/article/details/83905273
配置完yum源执行 yum grep|list openjdk
来查找java包,找到后执行 yum install java-1.7.0-openjdk-devel.x86_64
来安装java包
Hadoop的部署安装
进入/root,执行ls查看是否有hadoop的文件
执行tar -zxvf hadoop-2.6.0.tar.gz -C /usr/local
(将hadoop-2.6.0.tar.gz解压到/usr/local)
执行ls查看是否有这个文件,并执行mv hadoop-2.6.0/ hadoop
(注意空格 将名字改为hadoop)
进入cd /usr/local/hadoop/
,输入vim ~/.bashrc
(编辑~/.bashrc文件)
配置hadoop的环境变量
与前面配置的JDK的环境变量不同
在alias rm= ”rm - i”前面加入需要的变量信息
export JAVA_HOME = / usr
export PATH = / usr/ local/ hadoop/ bin/ : / usr/ local/ hadoop/ sbin/ : $PATH
export HADOOP_HOME = / usr/ local/ hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR = $HADOOP_HOME / lib/ native
修改完成后不会立即生效,需要执行source命令来让它生效。
source ~ / . bashrc
(1)输入echo $JAVA_HOME
来检验变量值, (2)输入java -version
查看java是否配置成功 (3)输入hadoop version
查看hadoop是否可用,不可用需要检查配置文件是否正确
Hadoop的配置
我们做的都是在一台虚拟机里做的实验,所以我们是做的伪分布式的实验,伪分布式的实验是需要修改两个文件,core-site.xml 和hdfs-site.xml ,这两个文件都是位于/usr/local/hadoop/etc/hadoop
文件夹下
(1)修改core-site.xml文件
< configuration>
< property>
< name> hadoop. tmp. dir< / name>
< value> file: / usr/ local/ hadoop/ tmp< / value>
< description> Abase for other temporary directories. < / description>
< / property>
< property>
< name> fs. defaultFS< / name>
< value> hdfs: / / localhost: 9000 < / value>
< / property>
< / configuration>
(2)修改hdfs-site.xml文件
< configuration>
< property>
< name> dfs. replication< / name>
< value> 1 < / value>
< / property>
< property>
< name> dfs. namenode. name. dir< / name>
< value> file: / usr/ local/ hadoop/ tmp/ dfs/ name< / value>
< / property>
< property>
< name> dfs. datanode. data. dir< / name>
< value> file: / usr/ local/ hadoop/ tmp/ dfs/ data< / value>
< / property>
< / configuration>
将NameNode格式化,执行hdfs namenode -format
命令 如果显示successfully formatted
或者Exitting with status 0
则显示配置成功,如果显示Exitting with status 1
则配置失败(不同版本的hadoop显示会有不同,请大家注意一下 )
接下来要开启NameNode进程和DataNode进程,命令为:start-dfs.sh (此时需要输入三次密码)。
输入jps命令,如果有jps ,SecondaryNameNode ,NameNode ,DataNode 则说明配置成功。 若没有SecondaryNameNode,需要stop-dfs.sh
关闭进程重新开启, 如果没有NameNode,DataNode,则需要检查前面的文件是否有配置错误
成功启动后在浏览器的web界面输入http://localhost:50070 ,此时会弹出分布式文件系统的提示界面。
Hadoop的使用
在命令行输入hdfs dfs –mkdir –p /usr/hadoop
创建目录,执行完成后去web页面的utilities页面去验证是否成功
输入
. / bin/ hdfs dfs –mkdir –p input. / bin/ hdfs dfs –mkdir –p input
. / bin/ hdfs dfs –put / etc/ hadoop/*.xml input
将hadoop文件夹下的所有.xml文件上传到分布式文件系统,进入web页面的utilities页面去验证是否成功
输入
mkdir . / output
. / bin/ hdfs dfs –get hdfs- site. xml . / output
cat . / output/ hdfs- site. xml
在分布式文件系统中下载hdfs-site.xml 到output文件夹)进入output文件夹下执行ls查看是否成功。
实验结束。