CentOS7 安装Hadoop集群环境
先按照上一篇安装与配置好CentOS以及zookeeper
http://www.cnblogs.com/dopeter/p/4609276.html
本章介绍在CentOS搭建Hadoop集群环境
一、 安装Hadoop
1. 解压文件
tar -zxvf hadoop-2.7.0-x64.tar.gz -C /opt #解压Hadoop
2. 编辑全局变量
vi /etc/profile
增加以下全局变量
export HADOOP_HOME=/opt/hadoop-2.7.0
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export YARN_LOG_DIR=$HADOOP_LOG_DIR
source /etc/profile #即时生效
二、 配置Hadoop
cd /opt/hadoop-2.7.0/etc/hadoop
vi core-site.xml
<configuration>
<!--HDFS路径逻辑名称-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hcluster</value>
</property>
<!--Hadoop存放临时文件位置-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
<!--使用的zookeeper集群地址-->
<property>
<name>ha.zookeeper.quorum</name>
<value>HSlave0:2181,HSlave1:2181,HSlave2:2181</value>
</property>
</configuration>
vi hdfs-site.xml
<configuration>
<property>
<name>dfs.nameservices</name>
<value>hcluster</value>
</property>
<!--NameNode地址集群标识(hcluster),最多两个-->
<property>
<name>dfs.ha.namenodes.hcluster</name>
<value>HMaster0,HMaster1</value>
</property>
<!--HDFS文件系统数据存储位置,可以分别保存到不同硬盘,突破单硬盘性能瓶颈,多个位置以逗号隔开-->
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/hdfs/data</value>
</property>
<!--数据副本数量,根据HDFS台数设置,默认3份-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.rpc-address.hcluster.HMaster0</name>
<value>HMaster0:9000</value>
</property>
<!--RPC端口-->
<property>
<name>dfs.namenode.rpc-address.hcluster.HMaster1</name>
<value>HMaster1:9000</value>
</property>
<!--NameNode HTTP访问地址-->
<property>
<name>dfs.namenode.http-address.hcluster.HMaster0</name>
<value>HMaster0:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.hcluster.HMaster1</name>
<value>HMaster1:50070</value>
</property>
<!--NN存放元数据和日志位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/name</value>
</property>
<!--同时把NameNode元数据和日志存放在JournalNode上(/home/hadoop/journal/hcluster)-->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://HSlave0:8485;HSlave1:8485;HSlave2:8485/hcluster</value>
</property>
<!--JournalNode上元数据和日志存放位置-->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/hadoop/journal</value>
</property>
<!--开启NameNode失败自动切换-->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!--NameNode失败自动切换实现方式-->
<property>
<name>dfs.client.failover.proxy.provider.hcluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!--隔离机制方法,确保任何时间只有一个NameNode处于活动状态-->
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence(hdfs)
shell(/bin/true)</value>
</property>
<!--使用sshfence隔离机制要SSH免密码认证-->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
</configuration>
vi yarn-site.xml
<configuration>
<!--启用RM高可用-->
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!--RM集群标识符-->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>rm-cluster</value>
</property>
<property>
<!--指定两台RM主机名标识符-->
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!--RM故障自动切换-->
<property>
<name>yarn.resourcemanager.ha.automatic-failover.recover.enabled</name>
<value>true</value>
</property>
<!--RM故障自动恢复
<property>
<name>yarn.resourcemanager.recovery.enabled</name>
<value>true</value>
</property> -->
<!--RM主机1-->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>HMaster0</value>
</property>
<!--RM主机2-->
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>HMaster1</value>
</property>
<!--RM状态信息存储方式,一种基于内存(MemStore),另一种基于ZK(ZKStore)-->
<property>
<name>yarn.resourcemanager.store.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
<!--使用ZK集群保存状态信息-->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>HSlave0:2181,HSlave1:2181,HSlave2:2181</value>
</property>
<!--向RM调度资源地址-->
<property>
<name>yarn.resourcemanager.scheduler.address.rm1</name>
<value>HMaster0:8030</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address.rm2</name>
<value>HMaster1:8030</value>
</property>
<!--NodeManager通过该地址交换信息-->
<property>
<name>yarn.resourcemanager.resource-tracker.address.rm1</name>
<value>HMaster0:8031</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address.rm2</name>
<value>HMaster1:8031</value>
</property>
<!--客户端通过该地址向RM提交对应用程序操作-->
<property>
<name>yarn.resourcemanager.address.rm1</name>
<value>HMaster0:8032</value>
</property>
<property>
<name>yarn.resourcemanager.address.rm2</name>
<value>HMaster1:8032</value>
</property>
<!--管理员通过该地址向RM发送管理命令-->
<property>
<name>yarn.resourcemanager.admin.address.rm1</name>
<value>HMaster0:8033</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address.rm2</name>
<value>HMaster1:8033</value>
</property>
<!--RM HTTP访问地址,查看集群信息-->
<property>
<name>yarn.resourcemanager.webapp.address.rm1</name>
<value>HMaster0:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm2</name>
<value>HMaster1:8088</value>
</property>
</configuration>
vi mapred-site.xml
<configuration>
<!--指定MR框架为YARN-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 配置 MapReduce JobHistory Server地址 ,默认端口10020 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>0.0.0.0:10020</value>
</property>
<!-- 配置 MapReduce JobHistory Server HTTP地址, 默认端口19888 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>0.0.0.0:19888</value>
</property>
</configuration>
vi hadoop-env.sh
将export JAVA_HOME=${JAVA_HOME}修改为安装的JDK路径 export JAVA_HOME=/usr/java/jdk1.8.0_45
vi slaves
HSlave0HSlave1HSlave2



<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
CentOS7 安装Hadoop集群环境的更多相关文章
- centos7 安装hadoop 集群遇到的问题
集群安装之后,hdfs 不能上传文件,也提示rute等错误,其实是防火墙问题,关闭防火墙即可. CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙.firewa ...
- centos7配置Hadoop集群环境
参考: https://blog.csdn.net/pucao_cug/article/details/71698903 设置免密登陆后,必须重启ssh服务 systermctl restart ss ...
- Linux上安装Hadoop集群(CentOS7+hadoop-2.8.0)--------hadoop环境的搭建
Linux上安装Hadoop集群(CentOS7+hadoop-2.8.0)------https://blog.csdn.net/pucao_cug/article/details/71698903 ...
- CentOS7 搭建Ambari-Server,安装Hadoop集群(一)
2017-07-05:修正几处拼写错误,之前没发现,抱歉! 第一次在cnblogs上发表文章,效果肯定不会好,希望各位多包涵. 编写这个文档的背景是月中的时候,部门老大希望我们能够抽时间学习一下Had ...
- hadoop集群环境搭建之zookeeper集群的安装部署
关于hadoop集群搭建有一些准备工作要做,具体请参照hadoop集群环境搭建准备工作 (我成功的按照这个步骤部署成功了,经实际验证,该方法可行) 一.安装zookeeper 1 将zookeeper ...
- hadoop集群环境搭建之安装配置hadoop集群
在安装hadoop集群之前,需要先进行zookeeper的安装,请参照hadoop集群环境搭建之zookeeper集群的安装部署 1 将hadoop安装包解压到 /itcast/ (如果没有这个目录 ...
- Hadoop集群环境安装
转载请标明出处: http://blog.csdn.net/zwto1/article/details/45647643: 本文出自:[zhang_way的博客专栏] 工具: 虚拟机virtual ...
- 安装hadoop集群--hdfs
安装hadoop集群--hdfs 大数据软件 链接:https://pan.baidu.com/s/1-3PYLHMgvvONawJq55hstQ 提取码:izqf 准备一台干净的虚拟机-centos ...
- hadoop集群环境搭建准备工作
一定要注意hadoop和linux系统的位数一定要相同,就是说如果hadoop是32位的,linux系统也一定要安装32位的. 准备工作: 1 首先在VMware中建立6台虚拟机(配置默认即可).这是 ...
随机推荐
- The example program of C on point
计划一: #include<stdio.h> #define N_VALUES 5 int main( void ) { float values[N_VALUES]; float *vp ...
- 前端构建工具gulp
前端构建工具gulp使用 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gul ...
- JAVA网络编程Socket常见问题 【长连接专题】
一. 网络程序运行过程中的常见异常及处理 第1个异常是 java.net.BindException:Address already in use: JVM_Bind. 该异常发生在服务器端进行new ...
- DOMContentLoaded和window.onload
相信写js的.都知道window.onload吧,可是并非每一个人都知道DOMContentLoaded,事实上即使你不知道.非常有可能你也常常使用了这个东西. 普通情况下,DOMContentLoa ...
- 记View跨界平局
<?xml version="1.0" encoding="utf-8"? > <RelativeLayout xmlns:android=& ...
- Java中动态代理技术生成的类与原始类的区别
用动态代理的时候,对它新生成的类长什么样子感到好奇.有幸通过一些资料消除了心里的疑惑. 平时工作使用的Spring框架里面有一个AOP(面向切面)的机制,只知道它是把类重新生成了一遍,在切面上加上了后 ...
- SQL 修改排序规则的问题 sql_latin1_general_cp1_ci_as
在一个项目中遇到:用原来的数据库生成的脚本,然后部署到新的服务器上,数据库的SQL_Latin1_General_CP1_CI_AS 怎么查询出来汉字都是乱码了. 遂查解决方法. 需要执行这个 ALT ...
- JAVA学习JSTL与EL
一.基础 1.EL(Expression Language):为了使jsp写起来更加简单,提供了在Jsp中简化表达式的方法 2.JSTL:(JSP Standard Tag Library)jstl标 ...
- SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别
SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别: IN:确定给定的值是否与子查询或列表中的值相匹配. IN 关键字使您得以选择与列表中的任意一个值匹配的行. 当要获得居住在 ...
- poj 3662 Telephone Lines spfa算法灵活运用
意甲冠军: 到n节点无向图,它要求从一个线1至n路径.你可以让他们在k无条,的最大值.如今要求花费的最小值. 思路: 这道题能够首先想到二分枚举路径上的最大值,我认为用spfa更简洁一些.spfa的本 ...