Hadoop伪分布式环境搭建
- 说明:
熟悉Hadoop伪分布式环境搭建基本思路与流程,理解主从式结构体系思想
一、前置条件
前置条件请自行参考如下资料进行操作,确保虚拟机及操作系统正常安装
- 安装VMware
参考: https://blog.csdn.net/sujiangming/article/details/87991536 - 创建虚拟机和安装操作系统CentOS7
参考: https://blog.csdn.net/sujiangming/article/details/87992373 - 配置网卡解决ifconfig命名找不到的问题
参考: https://blog.csdn.net/sujiangming/article/details/87993482 - 相关安装视频地址
http://www.training-china.com/course/index78/600.html
二、准备工作
-
在根目录/下创建tools和training两个目录
mkdir /tools
mkdir /training
-
利用ftp工具上传jdk、hadoop安装包到/tools目录下
-
jdk的安装
- 上传jdk-8u171-linux-x64.tar.gz到tools目录下,然后执行下面的命令进行解压安装
tar -zvxf jdk-8u171-linux-x64.tar.gz -C /training/
- 配置环境变量,执行:
vi ~/.bash_profile
在.bash_profile文件中添加如下信息: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
- 上传jdk-8u171-linux-x64.tar.gz到tools目录下,然后执行下面的命令进行解压安装
-
设置虚拟机主机名
hostnamectl --static set-hostname niit04
说明:--static 参数代表永久生效 niit04为虚拟机主机名
-
虚拟机中配置主机名与ip地址的映射关系
vi /etc/hosts
在文件的末尾添加类似于
192.168.215.152 niit04这样的格式ip和主机名称选择自己的即可 -
Windows下配置虚拟机IP与主机名映射
windows上配置虚拟机ip地址与虚拟机主机名称的对应关系(为后面web页面访问和编程做准备)进入到C:\Windows\System32\drivers\etc文件夹下,找到hosts文件,使用文本工具如nodepad++打开,在文件末尾添加虚拟机ip和主机名如下:
192.168.215.152 niit04
-
关闭防火墙
systemctl stop firewalld.service systemctl disable firewalld.service
-
配置免密码登录
执行如下命令:ssh-keygen -t rsa (执行命令后,只需敲三次回车键) cd ~/.ssh/ ssh-copy-id -i id_rsa.pub root@niit04
三、Hadoop安装
-
上传hadoop-2.7.3.tar.gz到tools目录下
执行下面的命令进行解压安装
tar -zvxf hadoop-2.7.3.tar.gz -C /training/
-
配置环境变量:
vi ~/.bash_profile
添加如下信息:export HADOOP_HOME=/training/hadoop-2.7.3 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
-
让环境变量生效:
source ~/.bash_profile
-
验证是否生效:
执行:hdfs 或者hadoop 有相关信息出现即可
四、伪分布式配置
-
新建tmp目录:
进入到hadoop安装目录下,执行:
mkdir /training/hadoop-2.7.3/tmp
-
配置Hadoop配置文件
只需对五个配置文件进行配置即可:
hadoop-env.sh hdfs-site.xml core-site.xml mapred-site.xml yarn-site.xml
配置文件所在目录:
/training/hadoop-2.7.3/etc/hadoop
-
配置 hadoop-env.sh文件
只需进行如下配置即可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://niit04: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>niit04:10020</value> </property> <!-- 历史服务器 web 端地址 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>niit04:19888</value> </property>
-
配置 yarn-site.xml
在<configuration></configuration>
之间添加<!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.hostname</name> <value>niit04</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://niit04:19888/jobhistory/logs</value> </property>
-
格式化:HDFS
执行命令:
hdfs namenode -format
如格式化成功,在打印出来的日志可以看到如下信息:
Storage directory/training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
-
启动hadoop环境
启动服务 :start-all.sh
启动mr历史服务 :
mr-jobhistory-daemon.sh start historyserver
-
验证:
-
web界面进行验证,浏览器分别访问如下地址:
访问HDFS:http://niit04:50070
,正常会看到如下界面
访问Yarn:
http://niit04:8088
,正常会看到如下界面
-
执行jps命令,看看是否会有如下进程:
NameNode DataNode SecondaryNameNode ReourceManager NodeManager
至此,已经全部配置完成,大家试试看吧!!!Enjoy it!!!