基于zookeeper的高可用集群
1.准备zookeeper服务器
#node1,node2,node3 #安装请参考http://suyanzhu.blog.51cto.com/8050189/1946580
2.准备NameNode节点
#node1,node4
3.准备JournalNode节点
#node2,node3,node4
4.准备DataNode节点
#node2,node3,node4 #启动DataNode节点命令hadoop-daemon.sh start datanode
5.修改hadoop的hdfs-site.xml配置文件
<configuration> <property> <name>dfs.nameservices</name> <value>yunshuocluster</value> </property> <property> <name>dfs.ha.namenodes.yunshuocluster</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.yunshuocluster.nn1</name> <value>node1:8020</value> </property> <property> <name>dfs.namenode.rpc-address.yunshuocluster.nn2</name> <value>node4:8020</value> </property> <property> <name>dfs.namenode.http-address.yunshuocluster.nn1</name> <value>node1:50070</value> </property> <property> <name>dfs.namenode.http-address.yunshuocluster.nn2</name> <value>node4:50070</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://node2:8485;node3:8485;node4:8485/yunshuocluste r</value> </property> <property> <name>dfs.client.failover.proxy.provider.mycluster</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailo verProxyProvider</value> </property> <property> <name>dfs.ha.fencing.methods</name> <value>sshfence</value> </property> <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/root/.ssh/id_dsa</value> </property> <property> <name>dfs.journalnode.edits.dir</name> <value>/opt/journalnode/</value> </property> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> </configuration>
6.修改hadoop的core-site.xml配置文件
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://yunshuocluster</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop-2.5</value> </property> <property> <name>ha.zookeeper.quorum</name> <value>node1:2181,node2:2181,node3:2181</value> </property> </configuration>
7.配置slaves配置文件
node2 node3 node4
8.启动zookeeper(node1,node2,node3)
zkServer.sh start
9.启动Journalnode(node2,node3,node4上分别执行下面的命令)
#启动命令 停止命令hadoop-daemon.sh stop journalnode hadoop-daemon.sh start journalnode
10.检查Journalnode,通过查看日志
cd /home/hadoop-2.5.1/logs ls tail -200 hadoop-root-journalnode-node2.log
11.格式化NameNode(两台中的一台,这里格式化node4这台NameNode节点)
hdfs namenode -format cd /opt/hadoop-2.5 #两台NameNode同步完成 scp -r /opt/hadoop-2.5/* root@node1:/opt/hadoop-2.5/
12.初始化zkfc
hdfs zkfc -formatZK
13.启动服务
start-dfs.sh #stop-dfs.sh表示停止服务

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spark RDD概念学习系列之RDD的容错机制(十七)
RDD的容错机制 RDD实现了基于Lineage的容错机制。RDD的转换关系,构成了compute chain,可以把这个compute chain认为是RDD之间演化的Lineage。在部分计算结果丢失时,只需要根据这个Lineage重算即可。 图1中,假如RDD2所在的计算作业先计算的话,那么计算完成后RDD1的结果就会被缓存起来。缓存起来的结果会被后续的计算使用。图中的示意是说RDD1的Partition2缓存丢失。如果现在计算RDD3所在的作业,那么它所依赖的Partition0、1、3和4的缓存都是可以使用的,无须再次计算。但是Partition2由于缓存丢失,需要从头开始计算,Spark会从RDD0的Partition2开始,重新开始计算。 内部实现上,DAG被Spark划分为不同的Stage,Stage之间的依赖关系可以认为就是Lineage。关于DAG的划分可以参阅第4章。 提到Lineage的容错机制,不得不提Tachyon。Tachyon包含两个维度的容错,一个是Tachyon集群的元数据的容错,它采用了类似于HDFS的Name Node的元数据容错机制,即将元...
- 下一篇
hadoop安装与配置
1.检查JDK版本 2.时间同步 3.设置免密码登录 #生成密钥(node1,node2,node3,node4) ssh-keygen-tdsa-P''-f~/.ssh/id_dsa cd~/.ssh/ ls #说明 ##id_ds私钥 ##is_dsa.pub公钥 #将公钥文件追加到本地的认证文件中(node1,node2,node3,node4) cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys ssh192.168.2.136 #Lastlogin:SunJul914:14:352017from192.168.2.136,表示登录成功,并且是不需要输入密码的 exit #logout退出 将node1中的公钥复制到node2,node3,node4中 scp./id_dsa.pubroot@192.168.2.137:/opt/ scp./id_dsa.pubroot@192.168.2.138:/opt/ scp./id_dsa.pubroot@192.168.2.139:/opt/ 将/opt/id_dsa.pub添加到n...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8