入门级Hadoop集群搭建详细教程(十一):Hadoop集群的搭建
来源:互联网 发布:苏州软件开发怎么样 编辑:程序博客网 时间:2024/05/11 21:28
集群的节点使用虚拟机产生的,本文选择的是4个节点,即一个主节点和三个从节点。其中主节点(master)用于部署NameNode和ResourceManager,其余三个从节点(slave)用于部署DataNode和DataManager。节点的主机名称及对应的IP地址如下表所示:
主机名
ip地址
节点作用
sf-node1.hadoop.com
192.168.1.111
master
sf-node2.hadoop.com
192.168.1.112
slave
sf-node3.hadoop.com
192.168.1.113
slave
sf-node4.hadoop.com
192.168.1.114
slave
为了方便,选择sf-node1.hadoop.com将Hadoop安装配置好,再使用scp命令进行拷贝至其他机器。
1. 安装jdk
由于Hadoop是基于java实现的,因此jdk是必须安装的工具。具体请参见:
入门级Hadoop集群搭建详细教程(八):JDK、Tomcat的安装
2. 下载Hadoop的版本
这里使用的Hadoop版本是hadoop-2.6.4.下载地址:
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.6.4/
3. 安装Hadoop
为了统一管理在用户目录下创建一个文件夹apps,用于安装所有的Hadoop组件。
#创建一个新的目录
mkdir apps
#将下载的文件hadoop-2.6.4.tar.gz解压至apps文件夹下,即可完成安装
tar –zxvf hadoop-2.6.4.tar.gz -C apps/
4. 配置SSH免密码登陆
详情见入门级Hadoop集群搭建详细教程(七):SSH免密码登陆
6. 配置主机与ip地址的映射
#打开hosts文件,配置内容如下:
sudo vi /etc/hosts
192.168.1.111 sf-node1.hadoop.com
192.168.1.112 sf-node2.hadoop.com
192.168.1.113 sf-node3.hadoop.com
192.168.1.114 sf-node4.hadoop.com
为了每次都不用这么麻烦,可以配置一个局部的DNS服务器,这样随着节点的增多,只需要配置下域名服务器即可。具体的DNS搭建方法见:入门级Hadoop集群搭建详细教程(十):DNS服务器的搭建。本文采用的方法是搭建一个DNS服务器,地址为192.168.1.120。需要配置下域名服务器地址:
[dd171290@sf-node1 ~]$ sudo vi /etc/resolv.conf
nameserver 192.168.1.120
7. 配置相关文件
一个简单的Hadoop集群需要配置如下几个核心文件:hadoop-env.sh 、 core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml,还有一个slaves文件。这些配置文件所在的目录为:apps/hadoop-2.6.4/etc/hadoop/,具体的配置信息如下:
7.1 hadoop-env.sh配置
该文件主要修改下JAVA_HOME。如果你已经配置好了JDK,并且设定了JAVA_HOME变量,可以使用命令:echo $JAVA_HOME 来查看你的jdk安装目录,将hadoop-env.sh文件中的位置修改成如下:
# The java implementation to use.
export JAVA_HOME=/usr/apps/jdk1.8.0_121
7.2 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name> <!—配置hdfs -->
<value>hdfs://sf-node1.hadoop.com:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name><!—配置hadoop临时数据目录 -->
<value>/home/dd171290/apps/hadoop-2.6.4/tmp</value>
</property>
</configuration>
7.3 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>sf-node1.hadoop.com:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/dd171290/apps/hadoop-2.6.4/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/dd171290/apps/hadoop-2.6.4/data</value>
</property>
</configuration>
7.4mapred-site.xml
默认的是给定一个mapred-site.xml.template ,需要将其重命名为mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
7.5 yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>sf-node1.hadoop.com</value>
</property>
</configuration>
7.6slaves
sf-node2.hadoop.com
sf-node3.hadoop.com
sf-node4.hadoop.com
8. 拷贝文件至其他节点
scp –r apps sf-node2.hadoop.com:/home/dd171290/
scp –r apps sf-node3.hadoop.com:/home/dd171290/
scp –r apps sf-node4.hadoop.com:/home/dd171290/
9. 测试启动
首先为了方便配置一下HADOOP_HOME。
export HADOOP_HOME=/home/dd171290/apps/hadoop-2.6.4
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
# 格式化namenode
hdfs namenode –format
# 启动hdfs
start-dfs.sh
#启动mapreduce
start-yarn.sh
#使用all启动
start-sll.sh
#关闭
stop-all.sh
- 入门级Hadoop集群搭建详细教程(十一):Hadoop集群的搭建
- 入门级Hadoop集群搭建详细教程(十):DNS服务器的搭建
- Hadoop 集群搭建教程
- hadoop集群搭建教程
- 入门级Hadoop集群搭建详细教程(一):Linux虚拟机的创建
- 入门级Hadoop集群搭建详细教程(八):JDK、Tomcat的安装
- 入门级Hadoop集群搭建详细教程(九):MySql的安装
- Hadoop集群的搭建
- Hadoop集群的搭建
- Hadoop集群的搭建
- hadoop集群的搭建
- hadoop 集群的搭建
- Hadoop集群的搭建
- Hadoop集群的搭建
- Hadoop集群的搭建
- 入门级Hadoop集群搭建详细教程(二):Linux常用命令之文件操作
- 入门级Hadoop集群搭建详细教程(三):Linux常用命令之用户、组和权限
- 入门级Hadoop集群搭建详细教程(四):Linux常用命令之系统管理
- xslt中让两个fo:block处于同一行,展示不同的样式
- Pandas 文本数据方法 cat()
- MATLAB画阶梯图
- SAP报表开发
- android插件的SourceSets
- 入门级Hadoop集群搭建详细教程(十一):Hadoop集群的搭建
- Python输出字符串问题
- 关于JS正则表达式中g模式下test出现true/false交替的个人见解
- Xmanger远程连接Centos7
- docker 安装 oracle
- input(file)样式修改及上传文件名显示
- Android动画效果translate、scale、alpha、rotate
- java多线程(10)--并发类容器 CopyOnWriteArrayList 的使用
- AnRoid Notification