Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 用于添加新数据节点的hdfs-site.xml_Hadoop - Fatal编程技术网

Hadoop 用于添加新数据节点的hdfs-site.xml

Hadoop 用于添加新数据节点的hdfs-site.xml,hadoop,Hadoop,我已经以伪分布式模式(machine-1)安装了hadoop 2.7.2。我想向它添加一个新的datanode,使它成为一个集群。但是问题是这两台机器都有不同的网络磁盘分区 我在新的数据节点(machine-2)中安装了相同版本的hadoop 2.7.2,也可以使用machine-1进行ssh。在谷歌搜索了许多网站后,所有网站都有公共教程提到,我们必须在/etc/hadoop/文件夹中有相同的配置文件 综上所述,我在machine-1中的现有配置为: 核心站点.xml <confi

我已经以伪分布式模式(machine-1)安装了hadoop 2.7.2。我想向它添加一个新的datanode,使它成为一个集群。但是问题是这两台机器都有不同的网络磁盘分区

我在新的数据节点(machine-2)中安装了相同版本的hadoop 2.7.2,也可以使用machine-1进行ssh。在谷歌搜索了许多网站后,所有网站都有公共教程提到,我们必须在
/etc/hadoop/
文件夹中有相同的配置文件

综上所述,我在machine-1中的现有配置为:

核心站点.xml

    <configuration>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home1/tmp</value>
                <description>A base for other temporary directories

hadoop.tmp.dir
/home1/tmp
其他临时目录的基础


fs.default.name
hdfs://CP000187:9000
hadoop.proxyuser.vasanth.hosts
*
hadoop.proxyuser.vasanth.groups
*
hdfs site.xml:

<configuration>
     <property>
            <name>dfs.replication</name>
            <value>1</value>
     </property>
     <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:/home1/hadoop_data/hdfs/namenode</value>
     </property>
     <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/home1/hadoop_store/hdfs/datanode</value>
     </property>
     <property>
            <name>dfs.permissions</name>
            <value>false</value>
     </property>
</configuration>

dfs.replication
1.
dfs.namenode.name.dir
文件:/home1/hadoop\u data/hdfs/namenode
dfs.datanode.data.dir
文件:/home1/hadoop\u store/hdfs/datanode
dfs.0权限
假的
/home1
是安装在机器1中的磁盘

机器2安装了两个磁盘,即/hdd1和/hdd2

现在,我应该在新机器(machine-2)上的
hdfs site.xml
中指定什么来同时使用hdd1和hdd2

是否所有节点的
dfs.data.dir
值都需要相同

machine2上的
hdfs site.xml
是否需要
dfs.namenode.name.dir
属性(因为它不是名称节点)


我的简化问题是,是否也必须在从属节点中复制主节点配置文件?请帮我解决这个问题。

您只需将整个hadoop文件夹从node1复制到node2即可。所以在这两种配置中都应该指向hdfs://CP000187:9000 . 您不必在node2中进行任何添加设置

要在node2中启动datanode,请运行(从sbin)。只需在node2中运行datanode和nodemanager进程

./hadoop-daemon.sh start datanode
要检查添加的datanode是否正确,请在node1中运行dfsadmin-report

hadoop dfsadmin -report 
输出:

Configured Capacity: 24929796096 (23.22 GB)
Present Capacity: 17852575744 (16.63 GB)
DFS Remaining: 17851076608 (16.63 GB)
DFS Used: 1499136 (1.43 MB)
DFS Used%: 0.01%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0

-------------------------------------------------
Live datanodes (2):

要在下面添加datanode检查

  • core-site.xml、hdfs-site.xml、mapred-site.xml、warn-site.xml和hadoop env.sh
    文件复制到新机器hadoop dir

  • 在/etc/hosts中添加ip地址或主机名

  • 从属文件中添加新数据节点的ip地址(位于
    /etc/hadoop/

  • 正如您提到的,您有两个硬盘,请在
    hdfs site.xml
    文件中提及这些位置,如下所示
    dfs.datanode.data.dir
    /hdd1,/hdd2

  • 重新启动服务

  • 在您的第四步中,我是否应该在两台机器上修改hdfs-site.xml?如果是,主节点无法重新编码该文件夹,因为它是一个本地路径。您必须提到位置的可用位置(新机器),因此我必须在主节点hdfs-site.xml和/hdd1中给出/home1,/hadoop 3.0中新节点hdfs-site.xml中dfs.data.dir的hdd2从属文件已重命名为etc/hadoop/workers。我的主节点数据目录不同,新节点数据目录不同。如果我只是复制文件,它如何知道数据存储在何处?然后将hdfs-site.xml中的dfs.datanode.data.dir编辑到node2中的特定位置。namenode和datanode之间的所有通信都基于端口。不推荐使用基于SystemHadoop-daemon.sh文件的Hadoop-daemon.sh。改用
    hdfs--daemon start datanode
    Configured Capacity: 24929796096 (23.22 GB)
    Present Capacity: 17852575744 (16.63 GB)
    DFS Remaining: 17851076608 (16.63 GB)
    DFS Used: 1499136 (1.43 MB)
    DFS Used%: 0.01%
    Under replicated blocks: 0
    Blocks with corrupt replicas: 0
    Missing blocks: 0
    Missing blocks (with replication factor 1): 0
    
    -------------------------------------------------
    Live datanodes (2):