玩儿数据|玩儿数据 - Hadoop集群环境搭建
Hadoop安装部署指南
author:yupeng
update_date:2017-04-17 08:40:04
version: 1.0
文章图片
软件级分布式框架 1. 系统环境要求
- 本安装说明针对
Hadoop 2.x.y
版本有效,其他版本可能有少许不同之处 - 本安装说明针对Linux操作系统环境,在CentOS 6.5 x64系统环境中部署成功并通过测试,其他操作系统或版本可能有少许不同之处
- JDK1.8+
- 操作系统Root权限
- 本安装说明以3台服务器为基础,如安装多台服务器同理进行即可
- 主 节 点:
hostname:master ipaddr:192.168.10.27
- 子节点1:
hostname:cluster1 ipaddr:192.168.10.28
- 子节点2:
hostname:cluster2 ipaddr:192.168.10.29
- HOST配置
将三台服务器的hostname添加到各个服务器的hosts解析当中
ssh连接master节点:
vi /etc/hosts
将如下配置添加其中:
192.168.10.27 master
192.168.10.28 cluster1
192.168.10.29 cluster2
配置完成后将此配置同步到其他子节点上:
scp root@192.168.10.28:/etc/hosts
scp root@192.168.10.29:/etc/hosts
//scp @:
【玩儿数据|玩儿数据 - Hadoop集群环境搭建】配置完成后可通过ping 检测是否生效
- SSH免密码
Hadoop集群控制需要主节点通过SSH方式登录自己点并执行命令,所以如果没有设置SSH免密码,每次执行命令时都必须手动输入,非常繁琐并且在无人值守的状态下无法正常工作,故需设置SSH免密码
ssh链接master节点:
-
ssh-keygen
并回车直至完成 -
ssh-copy-id root@master
输入密码 -
ssh-copy-id root@cluster1
输入密码 -
ssh-copy-id root@cluster2
输入密码
ssh root@cluster1
,ssh root@cluster2
分别验证是否成功,若未提示输入密码即为配置成功,若仍需输入密码请重试上面步骤- JDK安装配置
略。注:集群所有服务器JDK安装路径最好一致,本教程三台服务器JDK路径均一致,下面配置以此为基础 - HADOOP安装(此步骤仅在主节点进行)
- 解压Hadoop-2.x.y.tar.gz,此处解压放在/opt目录(非必须,可任意目录)
- 配置环境变量,将hadoop加入系统变量当中
vi /etc/profile
//在文件最后添加以下配置
export HADOOP_HOME=/opt/hadoop-2.x.y
export PATH=$PATH:$HADOOP\_HOME/bin:$HADOOP\_HOME/sbin
//配置完成后使其生效
source /etc/profile
- 使用
hadoop version
检查是否安装成功,若未成功请仔细检查上述步骤何处出现问题
- 主节点Hadoop配置
- hadoop-env.sh
修改export JAVA_HOME=
为本机配置的JDK的绝对路径
- core-site.xml
创建hadoop临时目录,此处创建的是:mkdir /opt/tmp
fs.defaultFS
hdfs://master:9000
io.file.buffer.size
131072
hadoop.tmp.dir
file:/opt/tmp
- hdfs-site.xml
创建hdfs namenode目录及datanode目录
此处创建的分别是:
mkdir /opt/dfs/name
mkdir /opt/dfs/data
dfs.namenode.secondary.http-address
master:9001
dfs.namenode.name.dir
file:/opt/dfs/name
dfs.datanode.data.dir
file:/opt/dfs/data
dfs.replication
1
dfs.webhdfs.enabled
true
- mapred-site.xml
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
master:10020
mapreduce.jobhistory.webapp.address
master:19888
- yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.address
master:8032
yarn.resourcemanager.scheduler.address
master:8030
yarn.resourcemanager.resource-tracker.address
master:8035
yarn.resourcemanager.admin.address
master:8033
yarn.resourcemanager.webapp.address
master:8088
- slaves
cluster1
cluster2
- 子节点Hadoop配置
- 在两个子节点分别建立与主节点目录相同的
tmp,name,node
目录
mkdir /opt/tmp
mkdir /opt/dfs/name
mkdir /opt/dfs/data
- 使用scp命令将刚才主节点配置好的
Hadoop
整个目录发送给子节点 ,完成后在子节点配置本节点Hadoop环境变量并source
使其生效
注意:主节点和子节点的hadoop目录必须一致(原理上是非必须的,为了我们使用和维护方便我们这样要求。若不想放在相同目录,可在各个子节点参考步骤5各自配置)
- 格式化Namenode
主节点运行命令:
hadoop namenode -format
- 运行测试
在主节点运行命令:
1.启动YARN资源管理器:start-yarn.sh
2.启动HDFS文件系统:start-dfs.sh
如果上述步骤全部正确执行则应该看到hadoop正在启动,启动完成后使用jps
命令查看,各节点应该有以下对应进程在运行:
- ResourceManager
- NameNode
- SecondaryNameNode
- NodeManager
- DataNode
文章图片
Hadoop管理界面
文章图片
Hadoop数据节点预览
访问主节点 http://master:8088 端口即可看到Yarn Web UI 管理界面
文章图片
YARN管理界面
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- 使用协程爬取网页,计算网页数据大小
- Java|Java基础——数组
- Python数据分析(一)(Matplotlib使用)
- Jsr303做前端数据校验
- Spark|Spark 数据倾斜及其解决方案
- 数据库设计与优化
- 爬虫数据处理HTML转义字符
- 数据库总结语句