博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop 完全分布式HA高可用集群(手工切换)搭建
阅读量:2427 次
发布时间:2019-05-10

本文共 19524 字,大约阅读时间需要 65 分钟。

实验环境

namenode1: 192.168.103.4namenode2: 192.168.103.8datanode1:192.168.103.15datanode2: 192.168.103.5 datanode3: 192.168.103.3操作系统: ubuntu-16.04-x64hadoop版本: apache-hadoop-2.6.5jdk版本:1.8

安装步骤

1.安装jdk

jdk的安装过程此处不赘述,不熟悉的话可以参考网上的资料。

2.修改主机映射并配置ssh免密码登录

为了方便配置信息的维护,我们在hadoop配置文件中使用主机名来标识一台主机,那么我们需要在集群中配置主机与ip的映射关系。

修改集群中每台主机/etc/hosts文件,添加如下内容。

192.168.103.4   namenode1192.168.103.8   namenode2192.168.103.15  datanode1192.168.103.5   datanode2192.168.103.3   datanode3

集群在启动的过程中需要ssh远程登录到别的主机上,为了避免每次输入对方主机的密码,我们需要对namenode1和namenode2配置免密码登录

在namenode1上生成公钥。

ssh-keygen

一路enter确认即可生成对应的公钥。

将namenode1的公钥拷贝到namenode2, datanode1, datanode2, datanode3节点上。

ssh-copy-id  -i  ~/.ssh/id_rsa.pub  root@namenode2ssh-copy-id  -i  ~/.ssh/id_rsa.pub  root@datanode1ssh-copy-id  -i  ~/.ssh/id_rsa.pub  root@datanode2ssh-copy-id  -i  ~/.ssh/id_rsa.pub  root@datanode3

在namenode2上生成公钥后,并将namenode2的公钥拷贝到namenode1, datanode1, datanode2, datanode3节点上。具体的命令可以参考namenode1上的操作命令。

3.namenode1配置hadoop,并复制到其余节点

下载hadoop 安装包,点击获取hadoop-2.6.5。

  • 解压安装包

    tar xf hadoop-2.6.5.tar.gz
  • 修改etc/hadoop/hadoop-env.sh

    export JAVA_HOME=/opt/jdk1.8.0_91
  • 修改etc/hadoop/core-site.xml

    fs.defaultFS
    hdfs://mycluster
    hadoop.tmp.dir
    file:/opt/hadoop-2.6.5/tmp

    fs.defaultFS这里没有指定具体的namenode,hdfs://mycluster相当于对namenode1和namenode2起了一个虚拟名字。在hdfs-site.xml中会对mycluster进行具体的配置。

  • 修改etc/hadoop/hdfs-site.xml

    dfs.namenode.name.dir
    file:/opt/hadoop-2.6.5/tmp/dfs/name
    dfs.datanode.data.dir
    file:/opt/hadoop-2.6.5/tmp/dfs/data
    dfs.replication
    3
    dfs.nameservices
    mycluster
    dfs.ha.namenodes.mycluster
    nn1,nn2
    dfs.namenode.rpc-address.mycluster.nn1
    namenode1:9000
    dfs.namenode.http-address.mycluster.nn1
    namenode1:50070
    dfs.namenode.rpc-address.mycluster.nn2
    namenode2:9000
    dfs.namenode.http-address.mycluster.nn2
    namenode2:50070
    dfs.ha.automic-failover.enabled.cluster
    false
    dfs.namenode.shared.edits.dir
    qjournal://datanode1:8485;datanode2:8485;datanode3:8485/mycluster
    dfs.client.failover.proxy.provider.mycluster
    org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
    dfs.ha.fencing.methods
    sshfence
    dfs.ha.fencing.ssh.private-key-files
    /root/.ssh/id_rsa
    dfs.ha.fencing.ssh.connect-timeout
    30000
    dfs.journalnode.edits.dir
    /opt/hadoop-2.6.5/tmp/journal
  • 修改etc/hadoop/slaves

    datanode1datanode2datanode3
  • 将配置好的hadoop安装包拷贝到namenode2和其余的datanode上

    scp -r hadoop-2.6.5  root@namenode2:/opt scp -r hadoop-2.6.5  root@datanode1:/opt scp -r hadoop-2.6.5  root@datanode2:/opt scp -r hadoop-2.6.5  root@datanode3:/opt

4.启动集群

  • 启动journalnode集群(本例中我们将journalnode部署在datanode上,在datanode1, datanode2, datanode3上执行如下命令)

    root# ./sbin/hadoop-daemon.sh  start journalnoderoot# jps552 JournalNode
  • 格式化namenode

    在namenode1执行命令:

    root# /bin/hdfs  namenode -format
  • 启动datanode

    在datanode1,datanode2, datanode3执行命令:

    root# ./sbin/hadoop-daemons.sh  start namenoderoot# jps552 JournalNode27724 Jps783 DataNode
  • 启动namenode

    namenode1:

    root# ./sbin/hadoop-daemons.sh  start namenode
  • namenode2:

    root# ./bin/hdfs namenode -bootstrapStandbyroot# ./sbin/hadoop-daemons.sh  start namenode

此时namenode1和namenode2都是standby状态(通过web服务查看),还不能正常提供服务,需要将将其中一个节点切换到active状态。

这里写图片描述

这里写图片描述

- 将namenode1切换为active状态
namenode1:

./bin/hdfs haadmin -failover  --forceactive  nn2 nn1

这里nn2, nn1表示namenode的服务名,需要与hdfs-sit.xml中的配置保持一致。然后查看namenode1和namenode2的状态。

这里写图片描述
这里写图片描述

5.验证功能

root# ./bin/hdfs dfs -mkdir /helloroot# ./bin/hdfs dfs -ls /Found 1 itemsdrwxr-xr-x   - root supergroup          0 2018-06-01 13:49 /helloroot# ./bin/hdfs dfs -put /root/a.txt  /helloroot# ./bin/hdfs dfs -cat   /hello/a.txt hello world

HA手工切换

此时namenode1处于active状态,namenode2处于standby状态,我们模拟namenode1节点namenode服务挂掉,并手工恢复到namenode2上。

namenode1:

root# jps7715 NameNode6525 Jps

模拟namenode服务挂掉

root# kil -9 7715

切换namenode2为active节点

./bin/hdfs haadmin -failover  --forceactive  nn1 nn2

日志出现以下错误:

18/06/01 13:33:12 INFO ipc.Client: Retrying connect to server: namenode1/192.168.103.4:9000. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=1, sleepTime=1000 MILLISECONDS)18/06/01 13:33:12 WARN ha.FailoverController: Unable to gracefully make NameNode at namenode1/192.168.103.4:9000 standby (unable to connect)java.net.ConnectException: Call From namenode1/192.168.103.4 to namenode1:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)    at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:791)    at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:731)    at org.apache.hadoop.ipc.Client.call(Client.java:1474)    at org.apache.hadoop.ipc.Client.call(Client.java:1401)    at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232)    at com.sun.proxy.$Proxy8.transitionToStandby(Unknown Source)    at org.apache.hadoop.ha.protocolPB.HAServiceProtocolClientSideTranslatorPB.transitionToStandby(HAServiceProtocolClientSideTranslatorPB.java:112)    at org.apache.hadoop.ha.FailoverController.tryGracefulFence(FailoverController.java:172)    at org.apache.hadoop.ha.FailoverController.failover(FailoverController.java:210)    at org.apache.hadoop.ha.HAAdmin.failover(HAAdmin.java:295)    at org.apache.hadoop.ha.HAAdmin.runCmd(HAAdmin.java:455)    at org.apache.hadoop.hdfs.tools.DFSHAAdmin.runCmd(DFSHAAdmin.java:120)    at org.apache.hadoop.ha.HAAdmin.run(HAAdmin.java:384)    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)    at org.apache.hadoop.hdfs.tools.DFSHAAdmin.main(DFSHAAdmin.java:132)Caused by: java.net.ConnectException: Connection refused    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:530)    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:494)    at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:609)    at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:707)    at org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:370)    at org.apache.hadoop.ipc.Client.getConnection(Client.java:1523)    at org.apache.hadoop.ipc.Client.call(Client.java:1440)    ... 13 more18/06/01 13:33:12 INFO ha.NodeFencer: ====== Beginning Service Fencing Process... ======18/06/01 13:33:12 INFO ha.NodeFencer: Trying method 1/1: org.apache.hadoop.ha.SshFenceByTcpPort(null)18/06/01 13:33:12 INFO ha.SshFenceByTcpPort: Connecting to namenode1...18/06/01 13:33:12 INFO SshFenceByTcpPort.jsch: Connecting to namenode1 port 2218/06/01 13:33:12 INFO SshFenceByTcpPort.jsch: Connection established18/06/01 13:33:12 INFO SshFenceByTcpPort.jsch: Remote version string: SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.118/06/01 13:33:12 INFO SshFenceByTcpPort.jsch: Local version string: SSH-2.0-JSCH-0.1.4218/06/01 13:33:12 INFO SshFenceByTcpPort.jsch: CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour25618/06/01 13:33:12 INFO SshFenceByTcpPort.jsch: aes256-ctr is not available.18/06/01 13:33:12 INFO SshFenceByTcpPort.jsch: aes192-ctr is not available.18/06/01 13:33:12 INFO SshFenceByTcpPort.jsch: aes256-cbc is not available.18/06/01 13:33:12 INFO SshFenceByTcpPort.jsch: aes192-cbc is not available.18/06/01 13:33:12 INFO SshFenceByTcpPort.jsch: arcfour256 is not available.18/06/01 13:33:12 INFO SshFenceByTcpPort.jsch: SSH_MSG_KEXINIT sent18/06/01 13:33:12 INFO SshFenceByTcpPort.jsch: SSH_MSG_KEXINIT received18/06/01 13:33:12 INFO SshFenceByTcpPort.jsch: Disconnecting from namenode1 port 2218/06/01 13:33:12 WARN ha.SshFenceByTcpPort: Unable to connect to namenode1 as user rootcom.jcraft.jsch.JSchException: Algorithm negotiation fail    at com.jcraft.jsch.Session.receive_kexinit(Session.java:520)    at com.jcraft.jsch.Session.connect(Session.java:286)    at org.apache.hadoop.ha.SshFenceByTcpPort.tryFence(SshFenceByTcpPort.java:100)    at org.apache.hadoop.ha.NodeFencer.fence(NodeFencer.java:97)    at org.apache.hadoop.ha.FailoverController.failover(FailoverController.java:216)    at org.apache.hadoop.ha.HAAdmin.failover(HAAdmin.java:295)    at org.apache.hadoop.ha.HAAdmin.runCmd(HAAdmin.java:455)    at org.apache.hadoop.hdfs.tools.DFSHAAdmin.runCmd(DFSHAAdmin.java:120)    at org.apache.hadoop.ha.HAAdmin.run(HAAdmin.java:384)    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)    at org.apache.hadoop.hdfs.tools.DFSHAAdmin.main(DFSHAAdmin.java:132)18/06/01 13:33:12 WARN ha.NodeFencer: Fencing method org.apache.hadoop.ha.SshFenceByTcpPort(null) was unsuccessful.18/06/01 13:33:12 ERROR ha.NodeFencer: Unable to fence service by any configured method.Failover failed: Unable to fence NameNode at namenode1/192.168.103.4:9000. Fencing failed.

日志显示是算法协商失败,通过搜索得知是jsch.jar 与本机ssh配合有问题,需要更新hadoop安装包中的jsch-0.1.42.jar文件,我们将其更新到0.1.54版本,点击这里下载。

root@namenode1:# rm share/hadoop/common/lib/jsch-0.1.42.jar root@namenode1:# mv jsch-0.1.54.jar share/hadoop/common/lib/

重新执行上面的命令:

root@namenode1:# ./bin/hdfs haadmin -failover  --forceactive  nn1 nn218/06/01 13:44:25 INFO ipc.Client: Retrying connect to server: namenode1/192.168.103.4:9000. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=1, sleepTime=1000 MILLISECONDS)18/06/01 13:44:25 WARN ha.FailoverController: Unable to gracefully make NameNode at namenode1/192.168.103.4:9000 standby (unable to connect)java.net.ConnectException: Call From namenode1/192.168.103.4 to namenode1:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)    at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:791)    at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:731)    at org.apache.hadoop.ipc.Client.call(Client.java:1474)    at org.apache.hadoop.ipc.Client.call(Client.java:1401)    at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232)    at com.sun.proxy.$Proxy8.transitionToStandby(Unknown Source)    at org.apache.hadoop.ha.protocolPB.HAServiceProtocolClientSideTranslatorPB.transitionToStandby(HAServiceProtocolClientSideTranslatorPB.java:112)    at org.apache.hadoop.ha.FailoverController.tryGracefulFence(FailoverController.java:172)    at org.apache.hadoop.ha.FailoverController.failover(FailoverController.java:210)    at org.apache.hadoop.ha.HAAdmin.failover(HAAdmin.java:295)    at org.apache.hadoop.ha.HAAdmin.runCmd(HAAdmin.java:455)    at org.apache.hadoop.hdfs.tools.DFSHAAdmin.runCmd(DFSHAAdmin.java:120)    at org.apache.hadoop.ha.HAAdmin.run(HAAdmin.java:384)    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)    at org.apache.hadoop.hdfs.tools.DFSHAAdmin.main(DFSHAAdmin.java:132)Caused by: java.net.ConnectException: Connection refused    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:530)    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:494)    at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:609)    at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:707)    at org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:370)    at org.apache.hadoop.ipc.Client.getConnection(Client.java:1523)    at org.apache.hadoop.ipc.Client.call(Client.java:1440)    ... 13 more18/06/01 13:44:25 INFO ha.NodeFencer: ====== Beginning Service Fencing Process... ======18/06/01 13:44:25 INFO ha.NodeFencer: Trying method 1/1: org.apache.hadoop.ha.SshFenceByTcpPort(null)18/06/01 13:44:25 INFO ha.SshFenceByTcpPort: Connecting to namenode1...18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: Connecting to namenode1 port 2218/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: Connection established18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: Remote version string: SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.118/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: Local version string: SSH-2.0-JSCH-0.1.5418/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour25618/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: aes256-ctr is not available.18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: aes192-ctr is not available.18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: aes256-cbc is not available.18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: aes192-cbc is not available.18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: CheckKexes: diffie-hellman-group14-sha1,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp52118/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: CheckSignatures: ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp52118/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: SSH_MSG_KEXINIT sent18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: SSH_MSG_KEXINIT received18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: server: curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha118/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: server: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed2551918/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: server: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: server: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: server: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha118/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: server: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha118/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: server: none,zlib@openssh.com18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: server: none,zlib@openssh.com18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: server: 18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: server: 18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: client: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha118/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: client: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp52118/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-9618/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-9618/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: client: none18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: client: none18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: client: 18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: client: 18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: server->client aes128-ctr hmac-sha1 none18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: kex: client->server aes128-ctr hmac-sha1 none18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: SSH_MSG_KEX_ECDH_INIT sent18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: expecting SSH_MSG_KEX_ECDH_REPLY18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: ssh_rsa_verify: signature true18/06/01 13:44:25 WARN SshFenceByTcpPort.jsch: Permanently added 'namenode1' (RSA) to the list of known hosts.18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: SSH_MSG_NEWKEYS sent18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: SSH_MSG_NEWKEYS received18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: SSH_MSG_SERVICE_REQUEST sent18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: SSH_MSG_SERVICE_ACCEPT received18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: Authentications that can continue: publickey,keyboard-interactive,password18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: Next authentication method: publickey18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: Authentication succeeded (publickey).18/06/01 13:44:25 INFO ha.SshFenceByTcpPort: Connected to namenode118/06/01 13:44:25 INFO ha.SshFenceByTcpPort: Looking for process running on port 900018/06/01 13:44:25 INFO ha.SshFenceByTcpPort: Indeterminate response from trying to kill service. Verifying whether it is running using nc...18/06/01 13:44:25 INFO ha.SshFenceByTcpPort: Verified that the service is down.18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: Disconnecting from namenode1 port 2218/06/01 13:44:25 INFO ha.NodeFencer: ====== Fencing successful by method org.apache.hadoop.ha.SshFenceByTcpPort(null) ======18/06/01 13:44:25 INFO SshFenceByTcpPort.jsch: Caught an exception, leaving main loop due to Socket closedFailover from nn1 to nn2 successful

这里写图片描述

这里写图片描述

故障切换成功,namenode2切换为active状态。

你可能感兴趣的文章
数据中台精华问答 | 数据中台和传统数仓的区别是什么?
查看>>
这是一则计算机视觉顶级会议CVPR与腾讯的爆闻,啥?
查看>>
如何用30分钟快速优化家中Wi-Fi?阿里工程师有绝招
查看>>
【C语言】C语言中常用函数源代码【strncpy ,strncat ,strncmp】
查看>>
【Java】【算法练习】题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后续遍历的结果。如果是输出yes,不是输出no,数组任意两个数字不相同。
查看>>
【Java】给定一个二叉树和其中的一个节点,请找出中序遍历的下一个节点且返回, 注意:树中的节点不仅包含左右子节点,同时包含父节点的指针。
查看>>
【Java】【多线程】—— 多线程篇
查看>>
【计算机网络】—— TCP/IP篇
查看>>
【Java】【算法】——算法篇
查看>>
【Java】【数据库】知识重点——数据库篇
查看>>
【Java】知识重点——消息队列篇
查看>>
【Java】学习总结 —— HashMap之put()方法实现原理
查看>>
【计算机网络】【TCP】如何讲清楚Tcp的三次握手和四次挥手?
查看>>
【Java】-- Java核心知识点总结
查看>>
【数据库】SQL之重点知识点总结
查看>>
【计算机网络】计算机网络知识总结
查看>>
【Java】【Web】JavaWeb相关知识总结 2018-9-17
查看>>
【数据库】突破单一数据库的性能限制——数据库-分库分表总结 2018-9-20
查看>>
ECMAScript6学习笔记-解构赋值
查看>>
ECMAScript6学习笔记-字符串扩展
查看>>