2012-02-03 37 views
8

Chúng tôi có một cụm nút 8 sử dụng cấu hình CDH3u2 được cấu hình bằng Trình quản lý Cloudera. Chúng tôi có một nút chủ chuyên dụng chạy trường hợp duy nhất của chúng tôi về sở thú. Khi tôi cấu hình hive để chạy hadoop cục bộ, được thực thi từ nút chính, tôi không gặp vấn đề gì khi truy xuất dữ liệu từ HBase. Khi tôi chạy bản đồ phân phối/giảm thông qua hive, tôi nhận được lỗi sau khi các nút nô lệ kết nối với zookeeper.Tích hợp Hive/HBase - Phiên đóng Zookeeper Ngay lập tức

HBase có thể kết nối với ZooKeeper nhưng kết nối sẽ đóng ngay lập tức. Đây có thể là dấu hiệu cho thấy máy chủ có quá nhiều kết nối (30 là kết nối mặc định).

Chúng tôi đã thử đặt các kết nối tối đa cao hơn (chúng tôi thậm chí đã cố gắng xóa giới hạn). Đây là một cụm phát triển có rất ít người dùng, tôi biết rằng vấn đề không phải là có quá nhiều kết nối (tôi có thể kết nối với zookeeper từ các nút nô lệ bằng cách sử dụng ./zkCli).

Nhật ký bên máy chủ cho biết phiên đã bị khách hàng chấm dứt.

Khách hàng bên hadoop log nói: 'Nguyên nhân: org.apache.zookeeper.KeeperException $ ConnectionLossException: KeeperErrorCode = ConnectionLoss cho/HBase

Bất cứ ý tưởng tại sao tôi không thể maintian một kết nối đến Zookeeper qua Hive Bản đồ /Giảm?

Configs cho HBase và Zookeeper là:

# Autogenerated by Cloudera SCM on Wed Dec 28 08:42:23 CST 2011 
tickTime=2000 
initLimit=10 
syncLimit=5 
dataDir=/var/zookeeper 
clientPort=2181 
maxClientCnxns=1000 
minSessionTimeout=4000 
maxSessionTimeout=40000 

HBase Site-XML là:

<property> 
    <name>hbase.rootdir</name> 
    <value>hdfs://alnnimb01:8020/hbase</value> 
    <description>The directory shared by region servers. Should be fully-qualified to include the filesystem to use. E.g: hdfs://NAMENODE_SERVER:PORT/HBASE_ROOTDIR</description> 
</property> 

<property> 
    <name>hbase.master.port</name> 
    <value>60000</value> 
    <description>The port master should bind to.</description> 
</property> 

<property> 
    <name>hbase.cluster.distributed</name> 
    <value>true</value> 
    <description>The mode the cluster will be in. Possible values are false: standalone and pseudo-distributed setups with managed Zookeeper true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)</description> 
</property> 


<property> 
    <name>hbase.master.info.port</name> 
    <value>60010</value> 
    <description>The port for the hbase master web UI Set to -1 if you do not want the info server to run.</description> 
</property> 
















<property> 
    <name>zookeeper.znode.parent</name> 
    <value>/hbase</value> 
    <description>Root ZNode for HBase in ZooKeeper. All of HBase's ZooKeeper files that are configured with a relative path will go under this node. By default, all of HBase's ZooKeeper file path are configured with a relative path, so they will all go under this directory unless changed.</description> 
</property> 

<property> 
    <name>zookeeper.znode.rootserver</name> 
    <value>root-region-server</value> 
    <description>Path to ZNode holding root region location. This is written by the master and read by clients and region servers. If a relative path is given, the parent folder will be ${zookeeper.znode.parent}. By default, this means the root location is stored at /hbase/root-region-server.</description> 
</property> 


    <property> 
    <name>hbase.zookeeper.property.clientPort</name> 
    <value>2181</value> 
    <description>The ZooKeeper client port to which HBase clients will  connect</description> 
    </property> 

    <property> 
<name>hbase.zookeeper.quorum</name> 
<value>alnnimb01.aln.experian.com</value> 
<description>Comma separated list of servers in the ZooKeeper Quorum. For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".</description> 

Trả lời

5

Hóa ra rằng bản đồ/giảm do Hive đang cố gắng để kết nối để sở thú tại 'localhost', bất kể cách zookeeper.quorom được thiết lập trong tệp cấu hình. Tôi đã thay đổi/etc/hosts thành điểm bí danh 'localhost' thành IP của nút chính và kết nối đến zookeeper được duy trì. Vẫn đang tìm kiếm một giải pháp tốt hơn, nhưng điều này sẽ làm việc cho bây giờ.

1

Tôi rất tiếc vì đã đăng câu trả lời mới. Tôi muốn nhận xét về câu trả lời trước đó nhưng giao diện người dùng nhận xét dường như đã biến mất>. < ...

Dù sao, tôi muốn nói rằng tôi đang gặp vấn đề tương tự, và nó được giải quyết bằng cách làm như/etc/hosts hack, nhưng điều đó dường như là một giải pháp rất bẩn ...

Có ai tìm ra cách sửa lỗi này ... ??

Cảm ơn :)!

3

Tôi đã tìm ra. Đó là một vấn đề cấu hình (như tôi nghi ngờ tất cả cùng). Giải pháp là:

-Thiết 'hbase.zookeeper.quorum' trong 'tổ ong-site.xml' và đặt nó trong 'hadoop-conf' thư mục

gì ném tôi ra là có không có 'hbase .zookeeper.quorum' trong hive-default.xml. Tôi đã chơi với 'hive .zookeeper.quorum' không phải là cấu hình đúng để thay đổi.

Các vấn đề liên quan