大数据平台Hadoop环境部署
大数据的平台基本部署
Hadoop前置环境搭建
参考我的上一篇博客
大数据平台基本环境部署
集群规划
用三台linux虚拟机搭建一个最简单的分布式集群,用于学习
master | slave1 | slave2 |
---|---|---|
172.16.1.100 | 172.16.1.101 | 172.16.1.102 |
NameNode | SecondaryNameNode | |
NodeManager | ResourceManager | NodeManager |
JDK安装
首先JDK上传到集群的/opt/software目录,然后解压到/opt/module
tar -zxvf /opt/software/jdk-8u131-linux-x64.tar.gz -C /opt/module/
JDK环境变量配置
# vi /etc/profile
在末尾输入以下内容
#JAVA_HOME
JAVA_HOME=/opt/modules/jdk1.8.0_121
export
PATH=$PATH:$JAVA_HOME/bin
保存并退出,然后使用source命令使配置文件生效
# source /etc/profile
Hadoop的安装
安装Hadoop
1)进入到Hadoop安装包路径下:
# cd /opt/software/
2)解压安装文件到/opt/module下面
# tar -zxf hadoop-2.7.2.tar.gz -C /opt/module/
3)查看是否解压成功
# ls /opt/module/
对文件夹进行改名
# mv /opt/module/hadoop-2.6.0/ /opt/module/hadoop
4)将hadoop添加到环境变量
vi /etc/profile
在profie文件末尾添加
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
保存后退出,让修改后的文件生效:
# source /etc/profile
配置Hadoop
进入hadoop的配置文件目录
# cd /opt/module/hadoop/etc/hadoop/
1)core-site.xml 的配置
# vi core-site.xml
输入以下内容
<configuration>
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop/data/tmp</value>
</property>
</configuration>
2)Hdfs的配置
# vi hadoop-env.sh
将
export JAVA_HOME=${JAVA_HOME}
改为
export JAVA_HOME=/opt/module/jdk
更改hdfs-site.xml
<configuration>
<!-- 指定HDFS中存储文件的副本数地址 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定secondary的浏览器访问地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave2:50090</value>
</property>
</configuration>
更改slaves文件,此文件指定hadoop各个节点的地址
master
slave1
slave2
3)yarn的配置
yarn-env.sh的配置
#vi yarn-env.sh
将
export JAVA_HOME=${JAVA_HOME}
改为
export JAVA_HOME=/opt/module/jdk
yarn-site.xml的配置
# vi yarn-site.xml
输入以下内容
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>slave1</value>
</property>
</configuration>
注意!ResourceManager不要和namenode放在一起,因为ResourceManager很吃内存,容易把namenode卡掉.
4)mapreduce的配置
mapred-env.sh的配置
# vi mapred-env.sh
将
export JAVA_HOME=${JAVA_HOME}
改为
export JAVA_HOME=/opt/module/jdk
mapred-site.xml的配置
# vi mapred-site.xml
加入以下内容
<configuration>
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5)集群文件的分发
通过scp命令发送配置文件和集群文件
# scp -r /etc/profile [email protected]:/etc/
# scp -r /etc/profile [email protected]:/etc/
然后分别在slave1和slave2上执行source命令
# source /etc/profile
然后分发jdk和hadoop
# scp -r /opt/module [email protected]:/opt/module
# scp -r /opt/module [email protected]:/opt/module
6) 集群启动及测试
如果集群是第一次启动,需要格式化namenode
# bin/hdfs namenode –format
启动HDFS
[[email protected] /]# start-dfs.sh
[[email protected] /]# jps
4166 NameNode
4482 Jps
4263 DataNode
[[email protected] /]# jps
3218 DataNode
3288 Jps
[[email protected] /]# jps
3221 DataNode
3283 SecondaryNameNode
3364 Jps
启动yarn
在slave2上执行
sbin/start-yarn.sh
注意:Namenode和ResourceManger如果不是同一台机器,不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。
7)集群基本测试
向hdfs上传文件
bin/hadoop fs -put /opt/software/hadoop.tar.gz /
查看文件是否存在
bin/hadoop fs -ls /