我是一个初学者Hadoop和HDFS,现在我有一个情况,我需要连接3个不同的PC有一个文件,NIFI和Hadop+HDFS.机器1:将有一个.csv文件机器2(个人笔记本电脑):将有我的NIFI运行到它。机器3(运行在我的办公室):将包含Hadoop+HDFS。
现在,我想使用运行在机器2上的nifi将csv文件从机器1发送到运行在机器3上的数据库。
我使用ssh连接连接到机器3,它基本上是我办公室的路由器。
问:我如何从机器2连接到机器3,机器2有nifi,可以将文件发送到我的hadoop hbase。我应该使用公钥作为配置,还是应该使用不同的设置或服务器?
我对haddo和hdfs文件的配置如下
hbase-site.xml
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2222</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper</value>
</property>
</configuration>
<property>
<name>hbase.wal.provider</name>
<value>filesystem</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>./tmp</value>
</property>
</configuration>
core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hdoop/tmpdata</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hdfs/datanode</value>
</property>
</configuration>
查看配置文件,让我知道我需要在哪里更改属性,并且我已经在机器3中安装了psudo分布式模式HDFS。
1条答案
按热度按时间ibrsph3r1#
伪分布式和完全分布式没有任何区别。
你说只有机器3有HDFS,因此只有它需要运行Namenode和Datanode,以分布式方式设置,这意味着外部客户端将能够与它通信。
更具体地说,任何配置文件都不应使用
localhost
,而应使用LAN IP或主机名