做Hadoop的伪分布式我们分为一下几个步骤
需要的软件及源码包
- 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-7u80-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查看是否成功。
- 实验结束。