hadoop2.0初识1.3
1.配置分布式hadoop
1.1 准备三台测试机(虚拟机就可以)
1.1.1 将life-hadoop虚拟机克隆2个分别为life-hadoop02和life-hadoop03
1.1.2 查看ip地址,并进行主机名映射为life-hadoop02.life.com和life-hadoop03.life.com
修改三台机器的/etc/hosts文件
在C:\windows\System32\drivers\etc\hosts文件添加以下内容
192.168.0.58 life-hadoop.life.com life-hadoop
192.168.0.187 life-hadoop02.life.com life-hadoop02
192.168.0.161 life-hadoop03.life.com life-hadoop03
1.1.3 修改网络连接
1.1.3.1 删除 /etc/udev/rules.d/70-persistent-net.rules文件中eth0的配置,将eth1修改为eth0,并复制eth1中的ATTR{address}所对应的值
1.1.3.2 编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件,将HWADDR的值赋值为刚才复制的ATTR{address}所对应的值
1.1.4 检查是否配置完毕
在各个虚拟机以及window系统中分别ping life-hadoop.life.com ping life-hadoop02.life.com ping life-hadoop03.life.com看是否相通,如果都有正常的返回,表示测试机准备就绪。
1.1.5 同步三台虚拟机的时间(ntp实现同步)
1.1.5.1 查看本机是否安装了ntp服务(使用命令 rpm -qa | grep ntp)
1.1.5.2 修改本机时间的同步方式,默认使用网络时间(修改/etc/ntp.conf 配置文件)
a.
b.
c.
1.1.5.3 修改/etc/sysconfig/ntpd配置文件
1.1.5.4 启动ntpd服务
1.1.5.5 在其他两台电脑上编写脚步进行定时去同步本机的ntpd时间
[yanglin@life-hadoop01 ~]$ sudo crontab -e
0-59/10 * * * * /usr/sbin/ntpdate life-hadoop.life.com
[yanglin@life-hadoop02 ~]$ sudo crontab -e
0-59/10 * * * * /usr/sbin/ntpdate life-hadoop.life.com
1.2 配置三台虚拟机的无密码登录(要在三台机器上分别执行以下代码)
1.2.1 生成密码公钥 [yanglin@life-hadoop .ssh]$ ssh-keygen -t rsa
1.2.2 将密码分发到其他机器上,分别运行
[yanglin@life-hadoop .ssh]$ ssh-copy-id life-hadoop.life.com
[yanglin@life-hadoop .ssh]$ ssh-copy-id life-hadoop02.life.com
[yanglin@life-hadoop .ssh]$ ssh-copy-id life-hadoop03.life.com
1.2.3 使用ssh命令登录查看是否配置成功
[yanglin@life-hadoop .ssh]$ ssh life-hadoop.life.com
[yanglin@life-hadoop .ssh]$ ssh life-hadoop02.life.com
[yanglin@life-hadoop .ssh]$ ssh life-hadoop03.life.com
1.3 基于伪分布式配置分布式hdfs集群
1.3.1 将伪分布式的配置文件复制到分布式下进行修改
[yanglin@life-hadoop03 hadoop-2.5.0]$ cp /opt/modules/hadoop-2.5.0/etc/hadoop/* etc/hadoop
1.3.2 配置namenode(两个namenode,一个是activity,一个standby)
在hdfs.xml文件中配置
<!--声明集群的名称-->
<property>
<name>dfs.nameservices</name>
<value>ns</value>
</property>
<!--声明集群中各个节点的名称-->
<property>
<name>dfs.ha.namenodes.ns</name>
<value>nn1,nn2</value>
</property>
<!--配置namenode节点所在的主机-->
<property>
<name>dfs.namenode.rpc-address.ns.nn1</name>
<value>life-hadoop.life.com:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns.nn2</name>
<value>life-hadoop02.life.com:8020</value>
</property>
<!--配置namenode节点web访问路径-->
<property>
<name>dfs.namenode.http-address.ns.nn1</name>
<value>life-hadoop.life.com:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.ns.nn2</name>
<value>life-hadoop02.life.com:50070</value>
</property>
<!--配置共享日志-->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://life-hadoop.life.com:8485;life-hadoop02.life.com:8485;life-hadoop03.life.com:8485/ns</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<!--给目录要自己创建-->
<value>/opt/app/hadoop-2.5.0/journalnode/data</value>
</property>
<!--配置代理-->
<property>
<name>dfs.client.failover.proxy.provider.ns</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!--配置各个节点间的通信方式-->
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/yanglin/.ssh/id_rsa</value>
</property>
在core-site.xml中配置
<!--配置hdfs集群-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns</value>
</property>
1.3.3 配置resourcemanger,修改yarn-site.xml文件
<!--配置resourcemanager所在的主机-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>life-hadoop03.life.com</value>
</property>
1.3.4 使用scp方式将hadoop文件分发到另外两台机器上
[yanglin@life-hadoop app]$ scp -r hadoop-2.5.0/ yanglin@life-hadoop02.life.com:/opt/app
[yanglin@life-hadoop app]$ scp -r hadoop-2.5.0/ yanglin@life-hadoop03.life.com:/opt/app
1.3.5 格式化namenode
1.3.5.1 在yanglin@life-hadoop.life.com主机上格式化namenode
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs namenode -format
1.3.5.2 在yanglin@life-hadoop.life.com主机上同步life-hadoop.life.com主机上namenode的信息
[yanglin@life-hadoop02 hadoop-2.5.0]$ bin/hdfs namenode -bootstrapStandby
1.3.6 启动hdfs
1.3.6.1 在一台机器上启动即可
[yanglin@life-hadoop hadoop-2.5.0]$ sbin/start-dfs.sh
分别在浏览器中查看http://life-hadoop.life.com:50070和http://life-hadoop02.life.com:50070
发现两个都是standby的,此时我们可使用命令指定某个为activity的
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs haadmin -transitionToActive nn1
此时在去浏览器中查看发现http://life-hadoop.life.com:50070为activity,而http://life-hadoop02.life.com:50070为standby,如果此时life-hadoop.life.com主机挂了,
可以使用[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs haadmin -transitionToActive nn2 让nn2节点处于活动状态,改hdfs文件系统仍然可以正常使用,但这样必须进行手动 的切换,如果想要自动故障转换,需要使用zookeeper
1.4 配置zookeeper集群和自动故障转移
1.4.1 配置zookeeper集群
1.4.1.1 配置各个zookeeper节点所在的主机,修改/opt/app/zookeeper-3.4.5/conf/zoo.cfg文件
#配置zookeeper数据目录,需要自己提前创建
dataDir=/opt/app/zookeeper-3.4.5/data/zkData
#配置zookeeper集群各个节点所在的注解和端口
server.1=life-hadoop.life.com:2888:3888
server.2=life-hadoop02.life.com:2888:3888
server.3=life-hadoop03.life.com:2888:3888
1.4.1.2 在/opt/app/zookeeper-3.4.5/data/zkData目录下创建/opt/app/zookeeper-3.4.5/data/zkData/myid文件,并进行编辑1
1.4.1.3 使用scp方式分发到另外两台节点上,并修改myid文件为2,3
[yanglin@life-hadoop app]$ scp -r zookeeper-3.4.5/ yanglin@life-hadoop02.life.com:/opt/app/
[yanglin@life-hadoop app]$ scp -r zookeeper-3.4.5/ yanglin@life-hadoop03.life.com:/opt/app/
1.4.1.4 在各个节点上分别启动zookeeper
[yanglin@life-hadoop zookeeper-3.4.5]$ bin/zkServer.sh start
查看各个节点的zookeeper状态
1.4.2 配置hdfs故障自动转移
1.4.2.1 修改/opt/app/hadoop-2.5.0/etc/hadoop/hdfs-site.xml文件
<!--配置namenode自动故障转移-->
<property>
<name>dfs.ha.automatic-failover.enabled.ns</name>
<value>true</value>
</property>
1.4.2.2 修改/opt/app/hadoop-2.5.0/etc/hadoop/core-site.xml文件
<!--配置zookeeper集群所在的各个节点-->
<property>
<name>ha.zookeeper.quorum</name>
<value>life-hadoop.life.com:2181,life-hadoop02.life.com:2181,life-hadoop03.life.com:2181</value>
</property>
1.4.2.3 使用scp将这两个文件同步到其他两个节点上
[yanglin@life-hadoop hadoop-2.5.0]$ scp etc/hadoop/core-site.xml etc/hadoop/hdfs-site.xml yanglin@life-hadoop02.life.com:/opt/app/hadoop-2.5.0/etc/hadoop
[yanglin@life-hadoop hadoop-2.5.0]$ scp etc/hadoop/core-site.xml etc/hadoop/hdfs-site.xml yanglin@life-hadoop03.life.com:/opt/app/hadoop-2.5.0/etc/hadoop
1.4.2.4 格式化hdfs文件系统的zkfc
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs zkfc -formatZK
查看是否成功:
进入zookeeper客户端
[yanglin@life-hadoop zookeeper-3.4.5]$ bin/zkCli.sh
查看是否创建成功
[zk: localhost:2181(CONNECTED) 0] ls /
1.4.2.5 启动zookeeper故障自动转移控制器
[yanglin@life-hadoop hadoop-2.5.0]$ sbin/hadoop-daemon.sh start zkfc
1.4.2.6 重启hdfs,发一下已经有一个节点为activity,当该节点故障时,自动另一个节点冲standby转换为activity,整个hdfs系统仍能够正常运行。
2.配置resourcemanager的ha
2.1 修改/opt/app/hadoop-2.5.0/etc/hadoop/yarn-site.xml文件单
2.1.1 删除yarn.resourcemanager.hostname属性
2.1.2 添加一下信息
<!--配置resourcemanger高可用-->
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!--配置resourcemangager集群id-->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>rs</value>
</property>
<!--配置resourcemanager集群的各个节点名-->
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!--配置两个resourcemanager所在的主机-->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>life-hadoop02.life.com</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>life-hadoop03.life.com</value>
</property>
<!--配置zookeeper集群的各个节点所在的主机和端口-->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>life-hadoop.life.com:2181,life-hadoop02.life.com:2181,life-hadoop03.life.com:2181</value>
</property>
<!--配置resourcemanager重启时回复-->
<property>
<name>yarn.resourcemanager.recovery.enabled</name>
<value>true</value>
</property>
<!--配置resourcemanager存储方式-->
<property>
<name>yarn.resourcemanager.store.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
2.2 在resourcemanager所在的主机上分别启动resourcemanager
[yanglin@life-hadoop02 hadoop-2.5.0]$ sbin/start-yarn.sh
[yanglin@life-hadoop02 hadoop-2.5.0]$ sbin/start-yarn.sh
hadoop2.0初识1.3的更多相关文章
- hadoop2.0初识1.1
1.伪分布式hdfs文件系统的搭建(单节点文件系统) 1.1.根据上节的讲解,配置主机映射.jdk和解压hadoop压缩包 1.2.配置namenode 在/opt/modules/hadoop-2. ...
- hadoop2.0初识1.0
1.给普通用户设置sudo权限 编辑:[root@life-hadoop /]# nano /etc/sudoers 在文件头部加入:yanglin ALL=(root)NOPASSWD:ALL 保存 ...
- hadoop2.0初识1.2
1 hadoop启动方式(三种) 1.1 各个服务组件逐一启动 *dfs hadoop-daemon.sh start|stop namenode|datanode|secondarynamenode ...
- hadoop入门(3)——hadoop2.0理论基础:安装部署方法
一.hadoop2.0安装部署流程 1.自动安装部署:Ambari.Minos(小米).Cloudera Manager(收费) 2.使用RPM包安装部署:Apache ...
- Hadoop2.0(HDFS2)以及YARN设计的亮点
YARN总体上仍然是Master/Slave结构,在整个资源管理框架中,ResourceManager为Master,NodeManager为Slave,ResouceManager负责对各个Node ...
- hadoop2.0 和1.0的区别
1. Hadoop 1.0中的资源管理方案Hadoop 1.0指的是版本为Apache Hadoop 0.20.x.1.x或者CDH3系列的Hadoop,内核主要由HDFS和MapReduce两个系统 ...
- Hadoop2.0重启脚本
Hadoop2.0重启脚本 方便重启带ha的集群,写了这个脚本 #/bin/bash sh /opt/zookeeper-3.4.5-cdh4.4.0/bin/zkServer.sh restart ...
- ganglia监控hadoop2.0配置方法
ganglia监控hadoop2.0配置方法前提:hadoop2.0集群已安装ganglia监控工具第一步:Hadoop用户登录集群每一个节点,修改文件:vi /opt/hadoop-2.0.0-cd ...
- hadoop-2.0.0-mr1-cdh4.2.0源码编译总结
准备编译hadoop-2.0.0-mr1-cdh4.2.0的同学们要谨慎了.首先看一下这篇文章: Hadoop作业提交多种方案 http://www.blogjava.net/dragonHadoop ...
随机推荐
- iPhone的設置——FaceTime頁面
這裏說的是蘋果的Hand off功能,系統升級後,蘋果的多部設備可以更好的“連續互通”.有電話打進來,iPhone.iPad和Mac都能收到,用戶可以任意選擇一款設備接電 話.同樣,iMessage也 ...
- Color Space: Ycc
在进行图像扫描时,有一种重要的扫描输入设备PhotoCd,由于PhotoCd在存储图像的时候要经过一种模式压缩,所以PhotoCd采用了Ycc颜色空间,此空间将亮度作由它的主要组件,具有两个单独的颜色 ...
- dedecms 使用
初看dedecms的后台界面就是一头雾水.不懂的词语多,什么模型,什么栏目,什么频道,不懂.相比于wordpress的分类category,标签tag,文章post,页面page而言,织梦后台难懂. ...
- maven使用本地jar包
引入本地jar包 方式一:将本地Jar包安装到本地仓库,再按常规方式引用 mvn install:install-file -Dfile=libs\tools.jar -DgroupId=com.su ...
- Memcached 笔记与总结(7)增加虚拟节点
仅仅把 Memcached 服务器集群地址通过一致性哈希转映射在圆环上,可能会出现数据不能均匀地分配给各台 Memcached 服务器. 解决方案是引入虚拟节点,就是把每个映射在圆环上的服务器地址(物 ...
- nba技能表
球员名 主动技能名 主动技能效果 拆解技能名 拆解技能效果 巅峰-纳什 跑投三分 全队三分出手概率提高X%,但体力消耗增加Y% 稳固进攻 全队进攻增加X%,持续整场比赛 巅峰-科比 肉搏 对方全体行动 ...
- Jquery EasyUI使用总结(一)
1,弹出Iframe,新窗口 //打开编辑页面要加载的数据 function ShowDialog(id, url, width, height, onLoadFunc) { $("#&qu ...
- 【转】Unity中的协同程序-使用Promise进行封装(三)
原文:http://gad.qq.com/program/translateview/7170967 译者:崔国军(飞扬971) 审校:王磊(未来的未来) 在这个系列的最后一部分文章,我们要通过 ...
- xampp使用phpunit
1.将xampp/php的pear文件夹里面的phpunit文件夹复制到htdocs目录下 2.复制xampp/php的phpunit.bat到需要测试的目录 3.使用cmd命令切换至phpunit. ...
- vim - Highlight unwanted spaces
http://vim.wikia.com/wiki/VimTip396 precondition: set hlsearch" Show all tabs:/\t" Show tr ...