草庐IT

javascript - 执行hdfs zkfc命令时出错

coder 2024-01-08 原文

我正在尝试使用 3 台名称节点机器、2 台数据节点机器和 1 台客户端机器运行 hdfs。

当我执行 hdfs zkfc –formatZK 我有下一个 fatal error ,我不知道为什么,因为我已经尝试过其他几次集群并且它有效,但现在它不起作用。

16/01/21 15:05:14 INFO zookeeper.ZooKeeper: Session: 0x25264b6c3d90000 closed
16/01/21 15:05:14 WARN ha.ActiveStandbyElector: Ignoring stale result from old client with sessionId 0x25264b6c3d90000
16/01/21 15:05:14 INFO zookeeper.ClientCnxn: EventThread shut down
16/01/21 15:05:14 FATAL tools.DFSZKFailoverController: Got a fatal error, exiting now
org.apache.hadoop.HadoopIllegalArgumentException: Bad argument: –formatZK
    at org.apache.hadoop.ha.ZKFailoverController.badArg(ZKFailoverController.java:251)
    at org.apache.hadoop.ha.ZKFailoverController.doRun(ZKFailoverController.java:214)
    at org.apache.hadoop.ha.ZKFailoverController.access$000(ZKFailoverController.java:61)
    at org.apache.hadoop.ha.ZKFailoverController$1.run(ZKFailoverController.java:172)
    at org.apache.hadoop.ha.ZKFailoverController$1.run(ZKFailoverController.java:168)
    at org.apache.hadoop.security.SecurityUtil.doAsLoginUserOrFatal(SecurityUtil.java:415)
    at org.apache.hadoop.ha.ZKFailoverController.run(ZKFailoverController.java:168)
    at org.apache.hadoop.hdfs.tools.DFSZKFailoverController.main(DFSZKFailoverController.java:181)

我可以毫无错误地运行下一个命令:

namenode1$ `hadoop-daemon.sh start journalnode`
namenode2$ `hadoop-daemon.sh start journalnode`
namenode3$ `hadoop-daemon.sh start journalnode`

namenode1$ `hadoop namenode -format`
namenode1$ `hadoop-daemon.sh start namenode`

namenode2$ `hadoop namenode -bootstrapStandby`
namenode2$ `hadoop-daemon.sh start namenode`

namenode1$ `hadoop-daemon.sh start zkfc`
namenode2$ `hadoop-daemon.sh start zkfc`
namenode3$ `hadoop-daemon.sh start zkfc`

但是当我使用 namenode1:50070 访问网页时,它看起来像待机,而 namenode2:50070 到。 我尝试将 hdfs haadmin -getServiceState nn01 与 nn01 和 nn02 一起使用,但两者都显示为待机状态。

接下来是我的配置:

等/主机

127.0.0.1 localhost
172.16.8.191 name1
172.16.8.192 name2
172.16.8.193 name3
172.16.8.202 data1
172.16.8.203 data2
172.16.8.204 client1

动物园.cfg

tickTime=2000

        dataDir=/opt/ZooData

        clientPort=2181

        initLimit=5
        syncLimit=2
        server.1=172.16.8.191:2888:3888
        server.2=172.16.8.192:2888:3888
        server.3=172.16.8.193:2888:3888

核心站点.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
 <property>
    <name>fs.default.name</name>
    <value>hdfs://auto-ha</value>
 </property>
</configuration>

hdfs-site.xml

<configuration>
     <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
     <property>
        <name>dfs.name.dir</name>
        <value>file:///hdfs/name</value>
    </property>
     <property>
        <name>dfs.data.dir</name>
        <value>file:///hdfs/data</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
     <property>
        <name>dfs.nameservices</name>
        <value>auto-ha</value>
     </property>
     <property>
        <name>dfs.ha.namenodes.auto-ha</name>
        <value>nn01,nn02</value>
     </property>
     <property>
        <name>dfs.namenode.rpc-address.auto-ha.nn01</name>
        <value>name1:8020</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.auto-ha.nn01</name>
        <value>name1:50070</value>
     </property>
    <property>
        <name>dfs.namenode.rpc-address.auto-ha.nn02</name>
        <value>name2:8020</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.auto-ha.nn02</name>
        <value>name2:50070</value>
     </property>
     <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://name1:8485;name2:8485;name3:8485/auto-ha</value>
     </property>
    <property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/hdfs/journalnode</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/vagrant/.ssh/id_rsa</value>
    </property>
    <property>
        <name>dfs.ha.automatic-failover.enabled.auto-ha</name>
        <value>true</value>
    </property>
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>name1:2181,name2:2181,name3:2181</value>
    </property>
</configuration>

最佳答案

当我从 microsoft-word 复制命令“hdfs zkfc –formatZK”时,该行比您必须在终端中输入的命令的实际行长。

Word command: hdfs zkfc –formatZK

Real command: hdfs zkfc -formatZK

关于javascript - 执行hdfs zkfc命令时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34000403/

有关javascript - 执行hdfs zkfc命令时出错的更多相关文章

  1. ruby-openid:执行发现时未设置@socket - 2

    我在使用omniauth/openid时遇到了一些麻烦。在尝试进行身份验证时,我在日志中发现了这一点:OpenID::FetchingError:Errorfetchinghttps://www.google.com/accounts/o8/.well-known/host-meta?hd=profiles.google.com%2Fmy_username:undefinedmethod`io'fornil:NilClass重要的是undefinedmethodio'fornil:NilClass来自openid/fetchers.rb,在下面的代码片段中:moduleNetclass

  2. ruby - ECONNRESET (Whois::ConnectionError) - 尝试在 Ruby 中查询 Whois 时出错 - 2

    我正在用Ruby编写一个简单的程序来检查域列表是否被占用。基本上它循环遍历列表,并使用以下函数进行检查。require'rubygems'require'whois'defcheck_domain(domain)c=Whois::Client.newc.query("google.com").available?end程序不断出错(即使我在google.com中进行硬编码),并打印以下消息。鉴于该程序非常简单,我已经没有什么想法了-有什么建议吗?/Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.

  3. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  4. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  5. ruby - Chef 执行非顺序配方 - 2

    我遵循了教程http://gettingstartedwithchef.com/,第1章。我的运行list是"run_list":["recipe[apt]","recipe[phpap]"]我的phpapRecipe默认Recipeinclude_recipe"apache2"include_recipe"build-essential"include_recipe"openssl"include_recipe"mysql::client"include_recipe"mysql::server"include_recipe"php"include_recipe"php::modul

  6. 使用 ACL 调用 upload_file 时出现 Ruby S3 "Access Denied"错误 - 2

    我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file

  7. ruby - 为什么 Ruby 的 each 迭代器先执行? - 2

    我在用Ruby执行简单任务时遇到了一件奇怪的事情。我只想用每个方法迭代字母表,但迭代在执行中先进行:alfawit=("a".."z")puts"That'sanalphabet:\n\n#{alfawit.each{|litera|putslitera}}"这段代码的结果是:(缩写)abc⋮xyzThat'sanalphabet:a..z知道为什么它会这样工作或者我做错了什么吗?提前致谢。 最佳答案 因为您的each调用被插入到在固定字符串之前执行的字符串文字中。此外,each返回一个Enumerable,实际上您甚至打印它。试试

  8. ruby - 检查是否通过 require 执行或导入了 Ruby 程序 - 2

    如何检查Ruby文件是否是通过“require”或“load”导入的,而不是简单地从命令行执行的?例如:foo.rb的内容:puts"Hello"bar.rb的内容require'foo'输出:$./foo.rbHello$./bar.rbHello基本上,我想调用bar.rb以不执行puts调用。 最佳答案 将foo.rb改为:if__FILE__==$0puts"Hello"end检查__FILE__-当前ruby​​文件的名称-与$0-正在运行的脚本的名称。 关于ruby-检查是否

  9. postman——集合——执行集合——测试脚本——pm对象简单示例02 - 2

    //1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json

  10. ruby-on-rails - rbenv:从 RVM 移动到 rbenv 后,在 Jenkins 执行 shell 中找不到命令 - 2

    我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions

随机推荐