HADOOP的HA搭建
2016-07-09 08:09
399 查看
进入到执行:/soft/hadoop-2.7.1/etc/hadoop_cluster$ gedit hdfs-site.xml
[配置部分]
[hdfs-site.xml]
1.配置名称服务:dfs.nameservices
名称服务的逻辑名。
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
2.配置nameservice中每个namenode
dfs.ha.namenodes.[nameservice ID]
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nn1,nn2</value>
</property>
注意:目前的hadoop2.7.2最多只能配置2个namenode。
3.配置每个namede的rpc地址
<property>
<name>dfs.namenode.rpc-address.mycluster.nn1</name>
<value>s1:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn2</name>
<value>s8:8020</value>
</property>
4.配置每个namenode的webui地址
<property>
<name>dfs.namenode.http-address.mycluster.nn1</name>
<value>machine1.example.com:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn2</name>
<value>machine2.example.com:50070</value>
</property>
5.配置namenode的共享edit log目录
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://s1:8485;s7:8485;s8:8485/mycluster</value>
</property>
6.配置客户端容灾代理供应商类
供客户端用来检测那个是namenode是活页节点。
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
7.(可选的)配置HA防护方法名集合.
QJM防止脑裂发生,不存在两个active node。
可以配置sshfence或者shell脚本。
8.配置hdfs的文件系统
[core-site.xml]
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
9.配置JN的本地存放数据(edit log)的目录
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/ubuntu/hadoop/journal</value>
</property>
2、把core-site.xml文件的客户机名改成如下再颁发给每个虚拟机:<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
3、然后回到hdfs-site.xml里面把<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>删掉。同样颁发给每个虚拟机
4、接下来启动jn进程即:hadoop-daemon.sh starat journalnode
(我是在s1、s7和s8上分别启动journalnode进程。我一共八台虚拟机)
5、将s1的hadoop目录下的 dfs拷贝到s8中。即执行:scp -r dfs ubuntu@s8:/home/ubuntu/hadoop
6、在开启一个namenode节点的情况下,登录:ssh s8的虚拟机上执行hdfs namenode -bootstrapStandby
7、再停止namenode节点,然后 在s1虚拟机上执行:hdfs namenode -initializeSharedEdits
8、分别在s1和s8上启动namenode即:执行hadoop-daemno.sh start namenode
9、最后启动所有的数据节点:hadoop-daemons.sh start datanode (hadoop-daemons.sh是启动所有的节点)
管理ha过程
1、手动完成状态切换:
hdfs haadmin -transitionToActive nn1
hdfs haadmin -transitionToStandbby nn1
[配置部分]
[hdfs-site.xml]
1.配置名称服务:dfs.nameservices
名称服务的逻辑名。
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
2.配置nameservice中每个namenode
dfs.ha.namenodes.[nameservice ID]
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nn1,nn2</value>
</property>
注意:目前的hadoop2.7.2最多只能配置2个namenode。
3.配置每个namede的rpc地址
<property>
<name>dfs.namenode.rpc-address.mycluster.nn1</name>
<value>s1:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn2</name>
<value>s8:8020</value>
</property>
4.配置每个namenode的webui地址
<property>
<name>dfs.namenode.http-address.mycluster.nn1</name>
<value>machine1.example.com:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn2</name>
<value>machine2.example.com:50070</value>
</property>
5.配置namenode的共享edit log目录
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://s1:8485;s7:8485;s8:8485/mycluster</value>
</property>
6.配置客户端容灾代理供应商类
供客户端用来检测那个是namenode是活页节点。
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
7.(可选的)配置HA防护方法名集合.
QJM防止脑裂发生,不存在两个active node。
可以配置sshfence或者shell脚本。
8.配置hdfs的文件系统
[core-site.xml]
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
9.配置JN的本地存放数据(edit log)的目录
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/ubuntu/hadoop/journal</value>
</property>
2、把core-site.xml文件的客户机名改成如下再颁发给每个虚拟机:<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
3、然后回到hdfs-site.xml里面把<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>删掉。同样颁发给每个虚拟机
4、接下来启动jn进程即:hadoop-daemon.sh starat journalnode
(我是在s1、s7和s8上分别启动journalnode进程。我一共八台虚拟机)
5、将s1的hadoop目录下的 dfs拷贝到s8中。即执行:scp -r dfs ubuntu@s8:/home/ubuntu/hadoop
6、在开启一个namenode节点的情况下,登录:ssh s8的虚拟机上执行hdfs namenode -bootstrapStandby
7、再停止namenode节点,然后 在s1虚拟机上执行:hdfs namenode -initializeSharedEdits
8、分别在s1和s8上启动namenode即:执行hadoop-daemno.sh start namenode
9、最后启动所有的数据节点:hadoop-daemons.sh start datanode (hadoop-daemons.sh是启动所有的节点)
管理ha过程
1、手动完成状态切换:
hdfs haadmin -transitionToActive nn1
hdfs haadmin -transitionToStandbby nn1
相关文章推荐
- hadoop2.7.2安装
- apache所有开源项目文件
- myeclipse使用经验---生成WAR包并在Tomcat下部署发布
- linux基础教程(9)权限机制
- centos7安装nodejs
- PAC Manager Linux下类似SecureCRT Xshell的SSH工具
- 【Clojure】在loop-recur中实现多重循环
- 常用的linux命令
- 青鸟租房网站-登录验证 房屋列表显示
- Linux HugePages及MySQL 大页配置
- 启动TOMCAT报错 java.util.zip.ZipException: invalid LOC header (bad signature)
- CentOS如何查看端口是被哪个应用/进程占用
- Windows Remote Shell(WinRM)使用介绍
- 设置centos 和win文件共享
- 腾讯云linux系统yum安装软件——以nginx为例
- Centos PHP 扩展Xchche的安装教程
- Java 操作 excel 文档 用 apache poi 来解决。
- 我们如何获取数据并分析数据?
- 谈一谈国内的积分激励
- linux awk命令