我试图通过检查
curl -XGET 'http://localhost:9200/_cluster/health'
Run Code Online (Sandbox Code Playgroud)
但什么都没发生.似乎在等待什么.控制台没有回来.不得不用CTRL + C来杀死它.
我还尝试通过检查现有的指数
curl -XGET 'http://localhost:9200/_cat/indices?v'
Run Code Online (Sandbox Code Playgroud)
与上述行为相同.
我了解到我必须在 hdfs-site.xml 中配置 NameNode 和 DataNode 目录。这是我在 NameNode 上的 hdfs-site.xml 配置:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file://usr/local/hadoop-2.6.0/hadoop_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.block.size</name>
<value>134217728</value>
</property>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我在我的 DataNode 上做了几乎相同的事情,并将dfs.namenode更改为dfs.datanode。
然后我通过
hadoop namenode -format
Run Code Online (Sandbox Code Playgroud)
一切似乎都没有错误地完成了。然后我想使用以下命令在我的 HDFS 文件系统中创建一个目录:
hdfs dfs -mkdir test
Run Code Online (Sandbox Code Playgroud)
我得到了一个错误:
mkdir: `test': No such file or directory
Run Code Online (Sandbox Code Playgroud)
我错过了什么或者从格式化到使用 HDFS 创建文件/目录的常见过程是什么?
我想读取二进制文件的 4 个字节直到其结束,并希望将结果显示为十六进制字符串,例如
我的文件的前 4 个字节是:
4D 5A 90 00
Run Code Online (Sandbox Code Playgroud)
结果应该是:
0x00905A4D
Run Code Online (Sandbox Code Playgroud)
我还希望能够对结果进行不同的操作,例如:
result = 0x00905A4D
tmp = result & 0xFF
Run Code Online (Sandbox Code Playgroud)
tmp 应该是0x4D
执行此操作最优雅的方法是什么?