Hadoop完全分布式集群环境搭建
1. 在Apache官网下载Hadoop
下载地址:http://hadoop.apache.org/releases.html
选择对应版本的二进制文件进行下载
2.解压配置
以hadoop-2.6.5.tar.gz为例
解压文件
tar -zxvf hadoop-2.6.5.tar.gz
移动到/opt 目录下
mv hadoop-2.6.5 /opt
配置JDK环境变量
追加Hadoop的bin和sbin目录到环境变量PATH中,这里不多讲。
使用 source命令使配置立即生效
例如:source /etc/profile
配置四个配置文件core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
本例共四个主机,分别是s10,s11,s12,s13
s10:名称结点
s11、s12:数据结点
s13:辅助名称结点
/etc/hosts 文件配置主机映射如下:

core-site.xml 配置
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://s10:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.6.5/tmp</value>
</property>
</configuration>
hdfs-site.xml 配置
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>s13:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop-2.6.5/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop-2.6.5/hdfs/data</value>
</property>
</configuration>
mapred-site.xml 配置
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml 配置
<?xml version="1.0"?> <configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>s10</value>
</property>
</configuration>
修改 slaves 文件内容为对应的数据结点
s11
s12
为了保险,此处直接配置JAVA_HOME到 /opt/hadoop-2.6.5/etc/hadoop/hadoop-env.sh 中,防止出现JAVA_HOME is not set and could not be found.错误
hadoop-env.sh文件第一行有效代码(不包含注释)改为
export JAVA_HOME=/usr/soft/jdk1.8.0_181
3. 配置四台主机 ssh 无密码相互访问,复制配置好的 /opt/hadoop-2.6.5 到其它三台主机
快速配置四台主机ssh无密码访问方法如下:
①在四台主机上分别执行 ssh-keygen -t rsa 生成公钥和私钥
②把四台主机的公钥分别追加到s0主机~/.ssh/authorized_keys 文件中
③远程复制 authorized_keys 文件到其它三台主机
更多细节请参考:https://www.cnblogs.com/jonban/p/sshNoPasswordAccess.html
配置完成后使用 ssh 命令在每一台主机上手动登录一下其它三台主机,完成第一次访问的确认,以后就可以直接登录了
远程复制配置好的 /opt/hadoop-2.6.5 到其它三台主机,记得配置JDK环境变量和Hadoop环境变量,参考第2步
4. 格式化文件系统为hdfs
hadoop namenode -format
运行结果如下:

5. 启动Hadoop集群环境
start-dfs.sh
start-yarn.sh
在四台主机上分别输入 jps 命令,查看集群状态,内容如下:
[root@s10 hadoop]# jps
28417 Jps
28163 ResourceManager
27907 NameNode
[root@s11 hadoop]# jps
27083 Jps
26875 DataNode
26972 NodeManager
[root@s12 hadoop]# jps
27095 Jps
26887 DataNode
26984 NodeManager
[root@s13 hadoop]# jps
26882 Jps
26826 SecondaryNameNode
符合集群预期结果
s10:名称结点
s11、s12:数据结点
s13:辅助名称结点
6.验证
浏览器输入地址:
http://192.168.32.110:8088
http://192.168.32.110:50070
这里的IP是主机s10的IP
效果截图如下,地址自动跳转


Hadoop完全分布式集群环境搭建
.
Hadoop完全分布式集群环境搭建的更多相关文章
- Hadoop伪分布式集群环境搭建
本教程讲述在单机环境下搭建Hadoop伪分布式集群环境,帮助初学者方便学习Hadoop相关知识. 首先安装Hadoop之前需要准备安装环境. 安装Centos6.5(64位).(操作系统再次不做过多描 ...
- 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建
准备: 两台配置CentOS 7.3的阿里云ECS服务器: hadoop-2.7.3.tar.gz安装包: jdk-8u77-linux-x64.tar.gz安装包: hostname及IP的配置: ...
- Spark 1.6.1分布式集群环境搭建
一.软件准备 scala-2.11.8.tgz spark-1.6.1-bin-hadoop2.6.tgz 二.Scala 安装 1.master 机器 (1)下载 scala-2.11.8.tgz, ...
- hadoop完全分布式集群的搭建
集群配置: jdk1.8.0_161 hadoop-2.6.1 linux系统环境:Centos6.5 创建普通用户 dummy 准备三台虚拟机master,slave01,slave02 hado ...
- ZooKeeper 完全分布式集群环境搭建
1. 搭建前准备 示例共三台主机,主机IP映射信息如下: 192.168.32.101 s1 192.168.32.102 s2 192.168.32.103 s3 2.下载ZooKeeper, 以 ...
- Kafka 完全分布式集群环境搭建
思路: 先在主机s1上安装配置,然后远程复制到其它两台主机s2.s3上, 并分别修改配置文件server.properties中的broker.id属性. 1. 搭建前准备 示例共三台主机,主机IP映 ...
- hadoop伪分布式集群的搭建
集群配置: jdk1.8.0_161 hadoop-2.6.1 linux系统环境:Centos6.5 创建普通用户 dummy 设置静态IP地址 Hadoop伪分布式集群搭建: 为普通用户添加su ...
- hadoop学习笔记(五)hadoop伪分布式集群的搭建
本文原创,如需转载,请注明作者和原文链接 1.集群搭建的前期准备 见 搭建分布式hadoop环境的前期准备---需要检查的几个点 2.解压tar.gz包 [root@node01 ~]# ...
- Hadoop学习(一):完全分布式集群环境搭建
1. 设置免密登录 (1) 新建普通用户hadoop:useradd hadoop(2) 在主节点master上生成密钥对,执行命令ssh-keygen -t rsa便会在home文件夹下生成 .ss ...
随机推荐
- ios json转model的简单现实
在android开发中,可用第三方的转换库如gson等.当然在ios也有一些库如MJExtensiond等.在这里,我简单实现一下. 一.先建一个model并且继承NSObject,代码如下: cla ...
- 深入理解Java虚拟机 学习总结
一.运行时数据区域 Java虚拟机管理的内存包括几个运行时数据内存:方法区.虚拟机栈.本地方法栈.堆.程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区 1.1 程序计数器 程 ...
- 搭配 VS Code Remote 远程开发扩展在 WSL 下开发
❗ 注意:远程开发扩展需要在 Visual Studio Code Insiders 上使用. Visual Studio Code Remote - WSL 扩展允许你直接借助 VS Code 令 ...
- C 语言实例 - 判断回文数
C 语言实例 - 判断回文数 判断一个数是否为回文数. 设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=,则称n为一回文数:但若n=,则n不是回文数 ...
- Webpack打包时警告 - Critical dependency: the request of a dependency is an expression
关于解决 [Webpack] Critical dependency: the request of a dependency is an expression ------------------- ...
- Oracle中慎用Like等通配符
Like关键字,从技术上来说,是一个非常友善的通配符.利用这个通配符,我们可以实现很多模糊查询.如现在在一个人事档案系统中,用户想知道身份证号码以“339005”开头的人事信息,此时,就可以利用Lik ...
- python之Selenium库的使用
一 什么是Selenium selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并 ...
- spring /* 和 /** 的 区别。
例如 /** 拦截 /index/1 和 /index /* 代表 /index/1 而 /index 则不会被拦截
- mysql /etc/my.cnf
[client] port=3306 socket = /tmp/mysql.sock default-character-set=utf8 [mysqld] # 1 general config p ...
- 有效使用Mock编写java单元测试
Java单元测试对于开发人员质量保证至关重要,尤其当面对一团乱码的遗留代码时,没有高覆盖率的单元测试做保障,没人敢轻易对代码进行重构.然而单元测试的编写也不是一件容易的事情,除非使用TDD方式,否则编 ...