hadoop怎么获取connection
发布网友
发布时间:2022-04-20 11:52
我来回答
共1个回答
热心网友
时间:2023-09-12 20:07
今天帮别人装hadoop 伪分布 遇到了个问题解决了很久 记录一下。
环境:ubuntu VM虚拟机下安装的 hadoop 1.2.1
在使用hdfs的 java api 时,连接hadoop 伪分布式安装的hdfs, 总是报出 Connection Refused。查遍了网上诸多博客,尝试了很多办法。包括:
重新配置了ip,确认关闭了防火墙(ubuntu 的 ufw),确认能ping通虚拟机ip,NameNode的再次格式化,hadoop开启后,jps命令显示五个进程也正常工作。其中,NameNode重新格式化要注意删除hadoop.tmp.dir 配置的文件夹,不然DataNode 和NameNode 数据不一致,DataNode会启动失败。
最奇怪的是,网页端的访问是ok的,如果虚拟机不能访问,或者端口没有成功打开,那网页怎么能显示,而且网页hdfs的端口号就是9000,这与配置文件的设置也是一致的。
hadoop@hadoop-master:~$ jps6433 Jps6331 TaskTracker6098 SecondaryNameNode6183 JobTracker5944 DataNode123456
conf中几个重要文件配置:
core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://www.hadoop.org:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hadoop-1.2.1/tmp</value>
</property> </configuration>1234567891011
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property></configuration>1234567891011
而我为了能在window中显示网页,统一配置了ubuntu 和window端的hosts 主机名和域名,这样ubuntu返回的域名在window中照样可以找到对应的ip,也就可以方便后面MapRece job的查看 和 hdfs 的查看,方便一些。
C:\Windows\System32\drivers\etc\hosts添加
#hadoop 1.x192.168.159.128 hadoop-master www.hadoop.org12
ubuntu 端的/etc/hosts 如下
127.0.0.1 localhost127.0.1.1 hadoop-master www.hadoop.org12
这样配置后,理论上eclipse 是可以顺利操作HDFS的,毕竟50070端口的webUi 是可以显示dfs上的文件,但是不管是执行java api 代码 还是用hadoop 1.2.1 的eclipse插件,都拒绝连接,no futher information。万念俱灰打算放弃的时候,尝试修改了下 /etc/hosts。修改为:
127.0.0.1 localhost192.168.159.128 hadoop-master www.hadoop.org12
再试了以下,eclipse 成功连接了。究其原因,可能是eclipse读取配置文件,hdfs默认名为 hdfs://www.hadoop.org:9000 ,在ubuntu中执行时,www.hadoop.org域名对应的是127.0.1.1,而在eclipse中再试图连接,显然连接不上。
ambari搭建的Hadoop集群,节点显示Connection refused to dn1.hadoop...
1. 检查目标节点服务是否已经启动,可以使用如下命令确认服务状态:`sudo systemctl status `,其中 `` 是具体的服务名称,例如:`hadoop-hdfs-datanode`。2. 确保网络连接正常,可以尝试 ping 目标节点,确保可以通信。3. 如果有防火墙,确认端口是否开放,Hadoop服务常用端口可以在官方文档或配置文件中找...
求助,在windows下安装hadoop遇到的一个问题
经过研究后知道,首先Cygwin下不能使用windows的路径直接访问,需要是Linux风格的目录,如果是访问C盘下安装的JDK的话,不能使用“C:/Program Files/Java/jdk1.6.0_22”,而需要使用这样“/cygdrive/c/Program Files/Java/jdk1.6.0_22”;其次是hadoop好像不能识别带空格的目录路径,那怎么办呢,想...
对于hadoop伪分布式上的hive其他人怎么连接hive
<name>javax.jdo.option.ConnectionURL</name> <!--表示使用嵌入式的derby,create为true表示自动创建数据库,数据库名为metastore_db--> <value>jdbc:derby:;databaseName=metastore_db;create=true</value> <!--表示使用客服模式的derby,hadoopor为数据库名,192.168.0.3为derby服务端的IP地址,...
hadoop slave snn 节点开启之后自动关闭了,什么原因? slave log在下面...
at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:468) at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:575) at org.apache.hadoop.ipc.Client$Connection.access$2300(Client.java:212) at org.apache.hadoop.ipc.Client.getConnection(Client.java:1292) at org.apac...
CDH支持MySQL8打开新的数据库大门cdh支持mysql8
下面是一个使用CDH和MySQL 8的示例代码:1. 创建MySQL数据库:CREATE DATABASE hive_db;2. 在hive-site.xml文件中配置MySQL连接信息:javax.jdo.option.ConnectionURL jdbc:mysql://host:port/hive_db?createDatabaseIfNotExist=true JDBC connect string for a JDBC metastore javax.jdo.option....
java中执行sql插入语句怎么弄?
1、Connection conn = DriverManager.getConnection(URL,数据库登录名,数据库登录密码);//获得数据库连接。2、Statement statement = con.createStatement(); //访问数据库。3、ResultSet resultSet = statement.executeQuery(sql);//执行SQL语句。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,...
java中执行sql插入语句怎么弄
1、Connection conn = DriverManager.getConnection(URL,数据库登录名,数据库登录密码);//获得数据库连接。2、Statement statement = con.createStatement(); //访问数据库。3、ResultSet resultSet = statement.executeQuery(sql);//执行SQL语句。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,...
hbase java
("---按行键查询表数据 START---"); // 取得数据表对象 Table table = connection.getTable(TableName.valueOf("t_book")); // 新建一个查询对象作为查询条件 Get get = new Get("row8".getBytes()); // 按行键查询数据 Result result = table.get(get); byte[] row = result.getRow(); Syste...
hadoop分布式系统中怎么安装hive
[hadoop@hadoop-master conf]$ pwd/home/hadoop/apache-hive-1.2.1-bin/conf[hadoop@hadoop-master conf]$ vi hive-site.xml<configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop-master:3306/hive?createDatabaseIfNotExist=true</value...
hbase java端调用
这是缺少必要的类org/apache/hadoop/thirdparty/guava/common/primitives/UnsignedBytes 你可以到jarsearch上搜索含有这个类的jar包,然后把它放到classpath下就行了