Hadoop2.7.3环境搭建之伪分布式
Posted Acolasiajialifen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop2.7.3环境搭建之伪分布式相关的知识,希望对你有一定的参考价值。
目录
实验环境
- Windows10+Centos7+Linux+Mobaxterm
实验目录
- 准备工作
- 实验步骤
准备工作
- jdk-8u171-linux-x64.tar.gz和hadoop-2.7.3.tar.gz
安装步骤
jdk安装
- 在根目录下创建tools目录和training目录,执行:
mkdir tools mkdir training
- 将jdk-8u171-linux-x64.tar.gz上传至/tools/目录下
- 进入/tools/目录下将其解压至/training/目录下,执行:
tar -zvxf jdk-8u171-linux-x64.tar.gz -C /training/
- 配置环境变量,执行:
vi ~/.bash_profile
-
添加如下内容:
#JAVA export JAVA_HOME=/training/jdk1.8.0_171 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin;
- 使环境生效,执行:
source ~/.bash_profile
-
验证jdk是否安装成功,执行:
java -version
-
设置虚拟机主机名,执行:
hostnamectl --static set-hostname hadoop001
-
虚拟机中配置主机名与虚拟机之间的映射关系,执行:
vi /etc/hosts
-
在文件末尾添加类似于:192.168.88.100 hadoop001(也就是ip地址加虚拟机名称)
-
Windows系统下配置映射关系,进入到C:\\Windows\\System32\\drivers\\etc文件夹下,找到hosts文件,用记事本打开(以管理员身份运行),在末尾添加类似于:192.168.88.100 hadoop001(也就是ip地址加虚拟机名称)
-
关闭防火墙
systemctl status firewalld.service systemctl stop firewalld.service systemctl disable firewalld.service
-
配置免密登录,执行:
ssh-keygen -t rsa (执行命令后,只需敲三次回车键) cd ~/.ssh/ ssh-copy-id -i id_rsa.pub root@hadoop001
安装hadoop
- 将hadoop-2.7.3.tar.gz上传至/tools/目录下
- 进入/tools/目录下将其解压至/training/目录下,执行:
tar -zvxf hadoop-2.7.3.tar.gz -C /training/
- 配置环境变量,执行:
vi ~/.bash_profile
-
添加如下内容
#HADOOP export HADOOP_HOME=/training/hadoop-2.7.3 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- 使环境生效,执行:
source ~/.bash_profile
-
验证hadoop是否安装成功,执行:hdfs或hadoop
伪分布式配置
- 在/training/hadoop-2.7.3目录下新建tmp,执行:
mkdir tmp
- 进入/training/hadoop-2.7.3/etc/hadoop目录下,配置以下hadoop配置文件:
hadoop-env.sh hdfs-site.xml core-site.xml mapred-site.xml yarn-site.xml
- 配置hadoop-env.sh文件,修改JAVA_HOME内容:
export JAVA_HOME=/training/jdk1.8.0_171
-
配置hdfs-site.xml文件,在<configuration></configuration>之间添加:
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property>
-
配置core-site.xml文件,在<configuration></configuration>之间添加:
<property> <name>fs.defaultFS</name> <value>hdfs://hadoop001:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/training/hadoop-2.7.3/tmp</value> </property>
-
配置mapred-site.xml文件,在<configuration></configuration>之间添加:
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!-- 历史服务器端地址 --> <property> <name>mapreduce.jobhistory.address</name> <value>hadoop001:10020</value> </property> <!-- 历史服务器 web 端地址 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoop001:19888</value> </property>
- 配置yarn-site.xml文件,在<configuration></configuration>之间添加:
<!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop001</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 日志聚集功能使能 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 日志保留时间设置7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> <!--配置Log Server --> <property> <name>yarn.log.server.url</name> <value>http://hadoop001:19888/jobhistory/logs</value> </property>
-
格式化hdfs,执行:
hdfs namenode -format
-
进入/training/hadoop-2.7.3/sbin目录下启动hadoop环境,执行:
start-all.sh
-
进入/training/hadoop-2.7.3目录下启动mr历史服务,执行:
mr-jobhistory-daemon.sh start historyserver
- web界面进行验证,使用浏览器访问以下两个地址:
# 访问HDFS: http://hadoop001:50070 # 访问Yarn: http://hadoop001:8088
正常会出现:
hdfs:
Yarn:
此后使用jps命令,查看是否有以下进程:
NameNode
DataNode
SecondaryNameNode
ReourceManager
NodeManager
ok,小主人,恭喜你。到这里你应该配置完成啦!
注意:本文参考其他博客,如有错误,请指正。非常感谢!
以上是关于Hadoop2.7.3环境搭建之伪分布式的主要内容,如果未能解决你的问题,请参考以下文章