Hadoop伪分布式环境配置
Hadoop伪分布式环境配置
JDK配置
JDK版本为jdk1.8.0
1、下载jdk1.8.0.tar.gz文件,并解压文件至/usr/java
下
tar –zxvf jdk-1.8.0.tar.gz –C /usr/java
2、对系统环境变量进行配置,编辑器采用sublime文本编辑器
subl /etc/profile
3、对配置文件进行修改,在文件的尾端加入以下代码
4、执行命令,让配置文件生效
source /etc/profile
5、查看java环境是否配置成功
jdk配置成功!
ssh免密码登录配置
1、为进行免密码验证节点,方便运行程序,首先需要验证是否已经安装ssh,若没有安装,则先安装ssh
2、安装完ssh之后,对ssh进行配置,输入以下命令:
ssh-****** -t rsa –P ‘’ –f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
首先生成ssh**,然后将**写入对应的目录下。
3、配置完成后,测试是否可以进行免密码登录,输入以下命令:
ssh localhost
ssh配置成功!
Hadoop配置
1、首先需要下载hadoop安装包,然后将安装包解压在对应的目录下 。
在官网下载Hadoop安装包,选择hadoop-2.7.4版本,下载完成后解压到/usr/local/hadoop目录下,在超级用户权限下进行,先在对应目录下创建hadoop文件夹,执行以下命令:
mkdir /usr/local/hadoop
将hadoop安装包解压在对应的hadoop目录下,执行以下命令:
tar –zxvf hadoop-2.7.4.tar.gz –C /usr/local/hadoop
2、hadoop为分布式系统,需要配置hadoop节点信息,配置文件通过修改hadoop相关的文件
需要修改/usr/local/hadoop/hadoop-2.7.4/etc/hadoop
中的四个配置文件分别配置如下:
功能具体参考:https://blog.csdn.net/mr_leehy/article/details/77049800
core-site.xml
此文件用于指定namenode的地址,使用hadoop时产生文件的存放目录,设置检查点备份日志的最长时间
hdfs-site.xml
用于指定hdfs保存数据的副本数量,namenode的存储位置,datanode的存储位置
mapred-site.xml
告诉hadoop以后MR(Map/Reduce)运行在YARN上
yarn-site.xml
用于指定yarn的工作方式
3、为避免ssh远程登录环境变量丢失,在该目录下找到hadoop-env.sh文件,添加:
export JAVA_HOME=/usr/java/jdk1.8.0_151
4、完全分布式环境,在ssh免密登录配置时,需要多台机器间免密登录。在上述四个配置文件中,需要增加一些信息,在master和多个slaves上分别进行配置。
5、格式化HDFS以创建一个新的HDFS
使用hadoop namenode –format
指令格式化HDFS创建新HDFS
格式化HDFS成功!
6、启动hadoop
在/usr/local/hadoop/hadoop-2.7.4/sbin
中执行start-all.sh
脚本,启动Hadoop。然后执行jps
命令验证是否启动成功。
同时打开浏览器输入地址localhost:50070
出现管理界面,说明已经成功配置hadoop相关运行环境:
hadoop配置成功!
利用MapReduce实现wordcount程序
1、首先需要创建三个文件,文件内容分别为:
Hello World
Hello Hadoop
Hello WangJie
2、在hadoop中创建input目录并将这三个文件写入
3、查看目录结构
证明文件写入HDFS!
4、切换到/usr/local/hadoop/hadoop-2.7.4
目录,执行命令:
执行成功后得到如下结果:
可以观察到Hadoop Job运行记录,Job的ID号为job_local1892484491_0001,输入文件有3个,以及Map的输入输出记录、Reduce的输入输出记录。
5、观察结果
执行 hadoop fs -cat /output/part-r-00000 确认MapRuduce执行结果:
统计结果正确!