Hadoop集群搭建
来源:互联网 发布:思科网络大赛 编辑:程序博客网 时间:2024/06/08 17:17
Hadoop集群搭建
整理自:国家信息中心大数据创新创业(成都)基地
——2017年6月
01 集群介绍
HDFS集群:负责海量数据的存储,集群中的角色主要有NameNode / DataNode。
YARN集群:负责海量数据运算时的资源调度,集群中的角色主要有ResourceManager /NodeManager。
而mapreduce是一个应用程序开发包,编程模型。
本集群搭建案例,以4节点为例进行搭建,角色分配如下:
Namenode:主节点,维护和管理数据的元数据。(副本数有多少个,路径,名称,大小)
SecondaryNameNode:对NameNode里面的元数据进行备份。
DataNode:将数据写入集群里的磁盘,读数据给客户端,并且向NameNode汇报信息(通信)。
ResourceManager:资源管理器,分配运算资源。
NodeManager:是ResourceManager在数据节点上的代理,负责创建容器,将本机上的信息发送给ResourceManager。
建议:先了解集群与节点的基础知识,如每个节点创建在不同的虚拟机上等。
02 服务器准备
本案例使用虚拟机服务器来搭建HADOOP集群,所用软件及版本:
- Vmware 11.0
- Centos 6.6 64bit
- JDK1.8linux 64bit
03 NAT网络参数设置
采用NAT方式联网
编辑—虚拟网络编辑器—设置子网IP(网关地址:192.168.126.0)、子网掩码:255.255.255.0—选择NAT模式、点击NAT设置—网关设置为192.168.126.2
4个服务器节点IP地址规划:(不需要操作)
- 服务器网络设置(以设置hdp-node-01为例,其他节点按照上表的规划设置)
1、修改主机名
vi /etc/sysconfig/network
NETWORKING=yesHOSTNAME= hdp-node-01
(其余节点设置为HOSTNAME= hdp-node-0X)
2、修改IP地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0TYPE=EthernetONBOOT=yes #是否开机启用BOOTPROTO=static #ip地址设置为静态IPADDR=192.168.126.101NETMASK=255.255.255.0GATEWAY=192.168.126.2// 这里也可以配置DNS, 这里配置了后面就不用配置了DNS1=61.139.2.69DNS2=114.114.114.114
service network restart
(必须要做,不然无法更新导致出错)
3、修改IP地址和内网主机名的映射关系(只在node01上)
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.126.101 hdp-node-01192.168.126.102 hdp-node-02192.168.126.103 hdp-node-03192.168.126.104 hdp-node-04
4、关闭iptables,并设置其开机不启动
service iptables stop
chkconfig iptables off
5、配置DNS并验证配置是否成功
vi /etc/resolv.conf
nameserver 61.139.2.69nameserver 114.114.114.114
ping www.baidu.com
6、安装scp软件
yum install openssh-clients
7、重启虚拟机
reboot
——————按照上述步骤,分别配置剩下三个节点——————
安装上传下载工具(rz上传sz下载)
yum install -y lrzsz
04 服务器系统设置(可选)
同步时间
date -s “2017 -6-19 09:12:30”
配置ssh免密登陆
05 JDK环境安装(node01上)
上传jdk安装包到linux任意路径(此处为/usr/local),即复制安装包至虚拟机:
/usr/local
创建jdk安装目录/usr/local/apps:
mkdir操作
解压jdk压缩安装包至/usr/local/apps:
tar -zxvf /usr/local/jdk-7u79-linux-x64.tar.gz -C /usr/local/apps/
重命名解压后的安装包:
mv /usr/local/apps/jdk1.7.0_79/ /usr/local/apps/jdk1.7
配置系统环境变量 /etc/profile:
vi /etc/profile
在文件最后添加:
export JAVA_HOME=/usr/local/apps/jdk1.7export PATH=$PATH:$JAVA_HOME/bin
按esc进入正常模式后,输入:wq保存退出。
刷新环境变量,否则不会及时生效:
source /etc/profile
查看更新环境变量是否成功:
java -version
06 Hadoop 安装部署(node01上)
上传HADOOP安装压缩包到Linux任意目录(此处为/usr/local):
/usr/local
规划HADOOP安装目录:
/usr/local/apps/
解压安装包到apps目录下:
tar -zxvf /usr/local/hadoop-2.6.5.tar.gz -C /usr/local/apps/
修改配置文件:
hadoop的所有的配置文件都存放在HADOOP_HOME/etc/hadoop/ 下,其中HADOOP_HOME 指代hadoop压缩包解压后形成的主目录,在这里是/usr/local/apps/hadoop-2.6.5最简化配置如下:
1、配置java运行环境(hadoop是纯java语言开发的)
vi hadoop-env.sh
2、运行时配置,有4个文件
vi core-site.xml
(主要配置hdfs的资源访问路径,和hadoop运行时产生的临时数据)
# The java implementation to use.export JAVA_HOME=/usr/local/apps/jdk1.7
vihdfs-site.xml
(可以不用配置,有很多默认的值)
<configuration><property><name>fs.defaultFS</name><value>hdfs://hdp-node-01:9000</value></property><property><name>hadoop.tmp.dir</name><value>/usr/local/apps/hadoop-2.6.5/hdpdata</value></property></configuration><configuration><property><name>dfs.replication</name><value>3</value></property></configuration>
重命名:mvmapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>
vi yarn-site.xml
<configuration><property><name>yarn.resourcemanager.hostname</name><value>hdp-node-01</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property></configuration>
3、配置HADOOP环境变量(方便在任意目录执行hadoop命令(可选))
vi /etc/profile
在JAVA_HOME后面添加HADOOP_HOME,并在原有的PATH后面添加hadoop命令path,修改后如下:
export JAVA_HOME=/usr/local/apps/jdk1.7export HADOOP_HOME=/usr/local/apps/hadoop-2.6.5export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3.1 把配置好的hadoop安装包,jdk安装包封发到其他节点:
scp -r /usr/local/apps hdp-node-02:/usr/local/
scp -r /usr/local/apps hdp-node-03:/usr/local/
scp -r /usr/local/apps hdp-node-04:/usr/local/
3.2 把/etc/profile环境变量文件,/etc/hosts主机ip映射文件分发到2,3,4节点
scp /etc/profile /etc/hosts hdp-node-02:/etc/
scp /etc/profile /etc/hosts hdp-node-03:/etc/
scp /etc/profile /etc/hosts hdp-node-04:/etc/
3.3 到各个节点刷新环境变量,验证安装包,jdk和hadoop环境变量都已经配置完成
java –version
hadoop fs -help
3.4 配置主从节点,每个节点都要配置
cd /usr/local/apps/hadoop-2.6.5/etc/hadoop
vim slaves
localhosthdp-node-02hdp-node-03(换行)
注:root用户下配置各种环境变量:
删除旧的公钥:rm -rf .ssh/know_hosts
免密登陆:ssh-copy-id root@hdp-node-03
进入远程:ssh root@hdp-node-02
07 启动集群
分布启动HDFS集群
1、初始化[^node 01]:
hadoopnamenode -format
2、启动namenode[^node 01]:
hadoop-daemon.sh start namenode
3、启动datanode[^node 02、03、04]:
hadoop-daemon.sh start datanode
批量启动HDFS集群[^node 01]
vi /usr/local/apps/hadoop-2.6.5/etc/hadoop/slaves
1、按照规划配置,添加从节点主机名:
hdp-node-02
hdp-node-03
hdp-node-04
2、配置免密码登陆,从启动节点到其他节点:
ssh-keygen
ssh-copy-id hdp-node-01
ssh-copy-id hdp-node-02
ssh-copy-id hdp-node-03
ssh-copy-id hdp-node-04
3、批量启动yarn集群,hdp-node-01(注:namenode,resourcemanager都是主节点,也称管理节点,采用批量启动脚本启动yarn集群)
start-dfs.sh
start-yarn.sh
08 测试
——上传文件到HDFS
从本地上传一个文本文件到hdfs的/wordcount/input目录下
[HADOOP@hdp-node-01 ~]$ HADOOP fs -mkdir -p /wordcount/input
[HADOOP@hdp-node-01 ~]$ HADOOP fs -put /home/HADOOP/somewords.txt /wordcount/input
- hadoop集群搭建(hadoop)
- HADOOP: 搭建hadoop集群
- hadoop集群搭建
- Hadoop集群的搭建
- Hadoop集群搭建
- Hadoop集群搭建
- 搭建hadoop集群
- Nutch+Hadoop集群搭建
- Hadoop集群搭建
- Hadoop集群搭建
- Hadoop环境搭建-集群
- 搭建hadoop集群
- 搭建hadoop集群
- Hadoop集群搭建
- Nutch+Hadoop集群搭建
- 如何搭建hadoop集群
- hadoop分布式集群搭建
- Hadoop集群搭建
- 以博客系统为例的数据库分析与设计之分析篇
- Jetson TX2 问题汇总
- 服务器下载文件到本地
- Gradle 详细讲解 一看就懂
- react-native中假如大组件包小组件注意,大组件需要加一个children props
- Hadoop集群搭建
- 可视化机器学习开发环境(视频)
- 生产者/消费者模式(阻塞队列)
- 文本内容查看(less/cat/tac/more/less/head/tail)
- unite2017相关
- 【计算机网络】端口的分类及用途
- PHP开发规范
- infobright中导入数据避免特殊字符问题
- 利用Android Studio 上传项目到 github