分享

hive2.0多表操作问题

xw2016 发表于 2016-5-13 23:26:12 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 11 13211
环境:
yun01-nn-01 192.168.56.11    namenade
yun01-nn-02 192.168.56.12    namenade
yun01-dn-01 192.168.56.13    datanade
yun01-dn-02 192.168.56.14    datanade

192.168.56.110  安装mysql
4台服务器安装了hadoop2.6+zookeeper3.4.5+hbase1.0+hive2.0,1台服务器安装mysql
启动集群,在yun01-nn-01启动hive元数据库:
hive --service metastore
在yun01-dn-01上启动客户端:
hive
在客户端进行建表和单表查询没问题,但多表关联查询就卡住不动,后台:
2016-05-08T23:32:49,842 INFO  [7b84a70c-3d54-44e6-b7ea-10a030a5bcdd 7b84a70c-3d54-44e6-b7ea-10a030a5bcdd main]: ipc.Client (Client.java:handleConnectionFailure(858)) - Retrying connect to server: 0.0.0.0/0.0.0.0:8032.
Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)


求解。。。

已有(11)人评论

跳转到指定楼层
goldtimes 发表于 2016-5-14 08:47:32
hive.aux.jars.path
这个参数是如何配置的
回复

使用道具 举报

goldtimes 发表于 2016-5-14 08:48:56
0.0.0.0/0.0.0.0:8032
这是在客户端执行的,还是服务端。这里尝试一直连接本地
回复

使用道具 举报

xw2016 发表于 2016-5-14 08:52:07
在客户端执行的
回复

使用道具 举报

xw2016 发表于 2016-5-14 08:52:45
goldtimes 发表于 2016-5-14 08:48
0.0.0.0/0.0.0.0:8032
这是在客户端执行的,还是服务端。这里尝试一直连接本地

我在yun01-nn-01 在启动元数据库:
hive --service metastore
在yun01-dn-01上启动客户端:
hive
回复

使用道具 举报

xw2016 发表于 2016-5-14 08:54:54
goldtimes 发表于 2016-5-14 08:48
0.0.0.0/0.0.0.0:8032
这是在客户端执行的,还是服务端。这里尝试一直连接本地

单表操作是没问题的,下面是我的配置:

我的集群是这样规划的:
yun01-nn-01 192.168.56.11    namenode   hbase hive
yun01-nn-02 192.168.56.12    namenode  datanode  zookeeper hbase hive
yun01-dn-01 192.168.56.13    datanode   zookeeper  hbase hive
yun01-dn-02 192.168.56.14    datanode   zookeeper   hbase hive

192.168.56.110 mysql数据库服务器
我在yun01-nn-01 在启动元数据库:
hive --service metastore
在yun01-dn-01上启动客户端:
hive

hdfs-site.xml配置:
<configuration>
<property>
<name>dfs.nameservices</name>
<value>ns1</value>
</property>
<property>
<name>dfs.ha.namenodes.ns1</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns1.nn1</name>
<value>yun01-nn-01:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.ns1.nn1</name>
<value>yun01-nn-01:50070</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns1.nn2</name>
<value>yun01-nn-02:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.ns1.nn2</name>
<value>yun01-nn-02:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://yun01-nn-02:8485;yun01-dn-01:8485;yun01-dn-02:8485/ns1</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/data/hadoop/hdfs/journal</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.ns1</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</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/hadoop/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>3000</value>
</property>
<property>  
<name>dfs.permissions.superusergroup</name>  
<value>hadoop</value>  
</property>  
</configuration>

yun01-nn-01和yun01-nn-02上hive-site.xml配置:
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://ns1/hive/warehouse</value>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>hdfs://ns1/hive/scratchdir</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.56.110:3306/hive?createData baseIfNotExist=true&useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
<property>  
<name>datanucleus.autoCreateSchema</name>   
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateTables</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateColumns</name>
<value>true</value>
</property>
</configuration>



yun01-dn-01和yun01-dn-02上hive-site.xml配置:

<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://ns1/hive/warehouse</value>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>hdfs://ns1/hive/scratchdir</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://192.168.56.11:9083,thrift://192.168.56.12:9083</value>
</property>
</configuration>
回复

使用道具 举报

goldtimes 发表于 2016-5-14 08:54:56
xw2016 发表于 2016-5-14 08:52
我在yun01-nn-01 在启动元数据库:
hive --service metastore
在yun01-dn-01上启动客户端:

客户端需要连接远程的服务端,本地是没有mysql的吧,所以一直可能尝试就找不到了
回复

使用道具 举报

xw2016 发表于 2016-5-14 09:00:46
goldtimes 发表于 2016-5-14 08:54
客户端需要连接远程的服务端,本地是没有mysql的吧,所以一直可能尝试就找不到了

这样啊,那我把服务端的mysql配置拷到客户端
回复

使用道具 举报

xw2016 发表于 2016-5-14 09:04:36
goldtimes 发表于 2016-5-14 08:54
客户端需要连接远程的服务端,本地是没有mysql的吧,所以一直可能尝试就找不到了

好像也不对哦,我在客户端创建数据库,然后在mysql里查看,是写入了数据的哦。客户端执行:

hive>create database test1;


然后到192.168.56.110上登录mysql查询:
mysql> select * from DBS;
+-------+-----------------------+----------------------------------------+---------+------------+------------+
| DB_ID | DESC                  | DB_LOCATION_URI                        | NAME    | OWNER_NAME | OWNER_TYPE |
+-------+-----------------------+----------------------------------------+---------+------------+------------+
|     1 | Default Hive database | hdfs://yun01-nn-01:9000/hive/warehouse | default | public     | ROLE       |
|     6 | NULL                  | hdfs://ns1/hive/warehouse/test1.db     | test1   | hadoop     | USER       |
+-------+-----------------------+----------------------------------------+---------+------------+------------+


说明是可以连上数据库的
回复

使用道具 举报

goldtimes 发表于 2016-5-14 17:32:44
本帖最后由 goldtimes 于 2016-5-14 18:45 编辑
xw2016 发表于 2016-5-14 09:04
好像也不对哦,我在客户端创建数据库,然后在mysql里查看,是写入了数据的哦。客户端执行:

hive>crea ...
问题1:
hdfs://yun01-nn-01:9000/hive/warehouse  
  hdfs://ns1/hive/warehouse/test1.db
上面两个路径不太一致。
问题2:
这可能是单方面的,但是一直尝试连接本地,这个肯定是有问题的



回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条