国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Centos7原生hadoop環(huán)境,搭建Impala集群和負載均衡配置

這篇具有很好參考價值的文章主要介紹了Centos7原生hadoop環(huán)境,搭建Impala集群和負載均衡配置。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Centos7原生hadoop環(huán)境,搭建Impala集群和負載均衡配置

impala介紹

Impala集群包含一個Catalog Server (Catalogd)、一個Statestore Server (Statestored) 和若干個Impala Daemon (Impalad)。Catalogd主要負責元數(shù)據(jù)的獲取和DDL的執(zhí)行,Statestored主要負責消息/元數(shù)據(jù)的廣播,Impalad主要負責查詢的接收和執(zhí)行。
Impalad又可配置為coordinator only、 executor only 或coordinator and executor(默認)三種模式。Coordinator角色的Impalad負責查詢的接收、計劃生成、查詢的調(diào)度等,Executor角色的Impalad負責數(shù)據(jù)的讀取和計算。默認配置下每個Impalad既是Coordinator又是Executor。生產(chǎn)環(huán)境建議做好角色分離,即每個Impalad要么是Coordinator要么是Executor。
impala wiki,# impala,負載均衡,運維,impala

Impala集群內(nèi)部的元數(shù)據(jù)同步的機制 是從catalog批量收集一批表的元數(shù)據(jù),通過statestore廣播到coordinator。catalog在收集元數(shù)據(jù)的時候需要為每個表加一個讀鎖,如果這時候某一個表有跑批的任務,或者因為其他原因加了寫鎖,那么收集線程加讀鎖的邏輯就會被阻塞住,這就導致對應的 coordinator上的這些查詢得不到執(zhí)行(處于created狀態(tài))。

集群規(guī)劃

節(jié)點名稱 impala-catalogd impala-statestored impala-server
node01
node02 × ×
node03 × ×

配置本地yum源

1. 在node01節(jié)點上安裝httpd服務器

#yum方式安裝httpds服務器
[root@node01 ~]# yum install -y httpd
#啟動httpd服務器
[root@node01 ~]# systemctl start httpd
#查看httpd轉(zhuǎn)態(tài)是否啟動
[root@node01 ~]# systemctl status httpd

2. 配置yum源

  • 上傳下載好的impala的壓縮包cdh5.14.0-centos7.tar.gz到/var/www/html/目錄
  • 解壓 tar -zxvf cdh5.14.0-centos7.tar.gz
  • 配置yum源:cd /etc/yum.repo/
  • vim local.repo
#需要與文件名保持一致
[local]
name=local_yum
#訪問當前源的地址信息
baseurl=http://node01/cdh/5.14.0/
#為0不做gpg校驗
gpgcheck=0
#當前源是否可用,為1則可用,為0則禁用
enabled=1

impala wiki,# impala,負載均衡,運維,impala

  1. 導入秘鑰認證
  • 防止后邊安裝失敗(這里有個小坑),每個節(jié)點都執(zhí)行

    • rpm --import /var/www/html/cdh/RPM-GPG-KEY-cloudera
      

安裝impala

  1. node01節(jié)點安裝 impala-catalogd、impala-statestored、 impala-server(impala-Deamon)
[root@node01 ~]# yum install -y impala impala-server impala-state-store impala-catalog impala-shell

impala wiki,# impala,負載均衡,運維,impala

  1. node02節(jié)點安裝impala-server(impala-Deamon)
yum install -y impala-server impala-shell

3.node03節(jié)點安裝impala-server(impala-Deamon)

yum install -y impala-server impala-shell

impala wiki,# impala,負載均衡,運維,impala

修改hive的配置

1.修改hive-site.xml配置

  • cd /opt/yjx/apache-hive-3.1.2-bin/

  • vim hive-site.xml

<!--指定metastore地址,之前添加過可以不用添加 -->
<property>
    <name>hive.metastore.uris</name>
    <value>thrift://node01:9083</value>
</property>
<property>
    <name>hive.metastore.client.socket.timeout</name>
    <value>3600</value>
</property>

2.分發(fā)hive安裝目錄到集群中其它節(jié)點

  • scp hdfs-site.xml node02:$PWD
    scp hdfs-site.xml node03:$PWD
    

修改hadoop的配置

  • 在所有節(jié)點創(chuàng)建一下這個目錄mkdir -p /var/lib/hadoop-hdfs

  • cd /opt/yjx/hadoop-3.1.2/etc/hadoop/

  • vim hdfs-site.xml

  • <!--添加如下內(nèi)容 -->
    <!--打開短路讀取開關(guān) -->
    <!-- 打開短路讀取配置-->
    <property>
        <name>dfs.client.read.shortcircuit</name>
        <value>true</value>
    </property>
    <!--這是一個UNIX域套接字的路路徑,將?用于DataNode和本地HDFS客戶機之間的通信 -->
    <property>
        <name>dfs.domain.socket.path</name>
        <value>/var/lib/hadoop-hdfs/dn_socket</value>
    </property>
    <!--block存儲元數(shù)據(jù)信息開發(fā)開關(guān) -->
    <property>
        <name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.client.file-block-storage-locations.timeout</name>
        <value>30000</value>
    </property>
    
  • 分發(fā)到其他節(jié)點

  • scp hdfs-site.xml node02:$PWD
    scp hdfs-site.xml node03:$PWD
    

創(chuàng)建impala配置的軟連接

impala中跟Hadoop,Hive相關(guān)的配置使用Yum方式安裝Impala時默認的Impala配置文件目錄為/etc/impala/conf目錄,Impala的使用要依賴Hadoop,Hive框架,所以需要把HDFS,Hive的配置文件告知Impala,執(zhí)行下面的命令,把HDFS和Hive的配置文件軟鏈接到/etc/impala/conf下(所有節(jié)點執(zhí)行)

  • 所有節(jié)點均執(zhí)行

  • ln -s /opt/yjx/hadoop-3.1.2/etc/hadoop/core-site.xml /etc/impala/conf/core-site.xml
    ln -s /opt/yjx/hadoop-3.1.2/etc/hadoop/hdfs-site.xml /etc/impala/conf/hdfs-site.xml
    ln -s /opt/yjx/apache-hive-3.1.2-bin/conf/hive-site.xml /etc/impala/conf/hive-site.xml
    

impala的自身配置(所有節(jié)點)

  • 創(chuàng)建日志目錄mkdir -p /var/logs/impala/

  • chown impala:impala /var/logs/impala/

修改配置

impala wiki,# impala,負載均衡,運維,impala

  • cd /etc/default/
    scp impala node02:$PWD
    scp impala node03:$PWD
    

  • 創(chuàng)建目錄用于存放mysql的連接驅(qū)動mkdir -p /usr/share/java/

  • 創(chuàng)建軟連接

ln -s /opt/yjx/apache-hive-3.1.2-bin/lib/mysql-connector-java-5.1.32-bin.jar /usr/share/java/mysql-connector-java.jar

修改bigtop的JAVA_HOME路徑

#修改bigtop的JAVA_HOME路徑
[root@node01 ~]# vim /etc/default/bigtop-utils
[root@node02 ~]# vim /etc/default/bigtop-utils
[root@node03 ~]# vim /etc/default/bigtop-utils
#添加JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_231-amd64

啟動集群

  • 啟動zookeeper

  • zkServer.sh start
    
  • 啟動Hadoop

  • start-all.sh
    
  • 啟動Hive

  • # 啟動元數(shù)據(jù)服務
    nohup hive --service metastore > /dev/null 2>&1 &
    #啟動hiveServer2
    nohup hiveserver2 > /dev/null 2>&1 &
    #客戶端測試
    
    
  • 啟動impala

  • [root@node01 ~]# service impala-state-store start
    [root@node01 ~]# service impala-catalog start
    [root@node01 ~]# service impala-server start
    
  • [root@node02 ~]# service impala-catalog start
    
  • [root@node03 ~]# service impala-server start
    
  • 驗證Impala是否啟動

  • ps -ef | grep impala
    
  • 瀏覽器Web界面驗證

  • #訪問impalad管理界面
    http://node01:25000/

impala wiki,# impala,負載均衡,運維,impala

說明: 如果進程數(shù)啟動不對,web頁面打不開,去指定的日志目錄。

  • jps時出現(xiàn)空白的進程或者process information unavailable

  • 解決辦法

    • #解決辦法(注意只刪除后綴為impala的即可)
      [root@node01 bin]# rm -rf /tmp/hsperfdata_impala*
      [root@node02 bin]# rm -rf /tmp/hsperfdata_impala*
      [root@node03 bin]# rm -rf /tmp/hsperfdata_impala*
      

Impala的負載均衡

Impala主要有三個組件,分別是statestore,catalog和impalad,對于Impalad節(jié)點,每一個節(jié)點都可以接收客戶端的查詢請求,并且對于連接到該Impalad的查詢還要作為Coordinator節(jié)點(需要消耗一定的內(nèi)存和CPU)存在,為了保證每一個節(jié)點的資源開銷的平衡需要對于集群中Impalad節(jié)點做一下負載均衡。
?Cloudera官方推薦的代理方案是HAProxy,這里我們也使用這種方式實現(xiàn)負載均衡。實際生產(chǎn)中建議選擇一個非Impala節(jié)點作為HAProxy安裝節(jié)點。

1.選擇一臺機器安裝haProxy,這里選擇node01安裝

  • yum install -y haproxy
    
  1. 修改haproxy.cfg配置文件,在配置文件中增加如下內(nèi)容
  • vim /etc/haproxy/haproxy.cfg

  • #---------------------------------------------------------------------
    # Global settings
    #---------------------------------------------------------------------
    global
        # to have these messages end up in /var/log/haproxy.log you will
        # need to:
        #
        # 1) configure syslog to accept network log events.  This is done
        #    by adding the '-r' option to the SYSLOGD_OPTIONS in
        #    /etc/sysconfig/syslog
        #
        # 2) configure local2 events to go to the /var/log/haproxy.log
        #   file. A line like the following can be added to
        #   /etc/sysconfig/syslog
        #
        #    local2.*                       /var/log/haproxy.log
        #
        log         127.0.0.1 local2
    
        chroot      /var/lib/haproxy
        pidfile     /var/run/haproxy.pid
        maxconn     4000
        user        haproxy
        group       haproxy
        daemon
    
        # turn on stats unix socket
        stats socket /var/lib/haproxy/stats
    
    #---------------------------------------------------------------------
    # common defaults that all the 'listen' and 'backend' sections will
    # use if not designated in their block
    #---------------------------------------------------------------------
    defaults
        mode                    http
        log                     global
        option                  httplog
        option                  dontlognull
        option http-server-close
        option forwardfor       except 127.0.0.0/8
        option                  redispatch
        retries                 3
        timeout http-request    10s
        timeout queue           3m
        timeout connect         5000s
        timeout client          3600s
        timeout server          3600s
        timeout http-keep-alive 10s
        #健康檢查時間
        timeout check           10s
        maxconn                 3000
    
    #---------------------------------------------------------------------
    # main frontend which proxys to the backends
    #---------------------------------------------------------------------
    frontend  main *:5000
        acl url_static       path_beg       -i /static /images /javascript /stylesheets
        acl url_static       path_end       -i .jpg .gif .png .css .js
    
        use_backend static          if url_static
        default_backend             app
    
    #---------------------------------------------------------------------
    # static backend for serving up images, stylesheets and such
    #---------------------------------------------------------------------
    backend static
        balance     roundrobin
        server      static 127.0.0.1:4331 check
    #---------------------------------------------------------------------
    # round robin balancing between the various backends
    #---------------------------------------------------------------------
    backend app
        balance     roundrobin
        server   app1 127.0.0.1:5001 check
        server   app1 127.0.0.1:5002 check
    
    #--------------配置 impala-jdbc -------------------------------------------------------
    listen impala :25001
        balance roundrobin
        option tcplog
        mode tcp
        #bind 0.0.0.0:21051
        #listen impalajdbc
        server impala_jdbc_01 node02:21050 check
        server impala_jdbc_02 node03:21050 check
    
    #--------------配置impala-shell-------------------------------------------------------
    listen impala :25002
        balance leastconn
        option tcplog
        mode tcp
        #listen impalashell
        server impala_shell_01 node01:21000 check
        server impala_shell_02 node02:21000 check
        server impala_shell_03 node03:21000 check
    #--------------配置 impala-hue -------------------------------------------------------
    #listen impala :25003
        #balance source
        #option tcplog
        #mode tcp
        #server impala_hue_01 host01:21050 check
        #server impala_hue_02 host02:21050 check
    #-----web ui----------------------------------------------------------------
    listen stats :1080
        balance
        stats  uri /stats
        stats refresh 30s
    #管理界面訪問IP和端口
        #bind 0.0.0.0:1080
        mode http
        #定義管理界面
        #listen status
    

3.檢查配置是否正確

/usr/sbin/haproxy  -f /etc/haproxy/haproxy.cfg
  1. 開啟HAProxy代理服務

    開啟:  systemctl start haproxy.service
    查看狀態(tài): systemctl status haproxy.service
    關(guān)閉: systemctl stop haproxy.service
    重啟: systemctl restart haproxy.service
    開機自啟動: chkconfig haproxy on
    
  2. 訪問監(jiān)控頁面

http://node01:1080/stats

impala wiki,# impala,負載均衡,運維,impala

  • impala安裝包鏈接: 提取碼: k877

Haproxy的下載安裝包離線安裝步驟

下載安裝Haproxy
下載地址:

https://src.fedoraproject.org/repo/pkgs/haproxy/
http://download.openpkg.org/components/cache/haproxy/
haproxy-1.8.10.tar.gz :
haproxy安裝包下載 提取碼: 6evh

(1)將下載下來的Haproxy放到Linux中, 解壓文件

tar -zxvf haproxy-1.7.8.tar.gz

(2)yum安裝GCC

yum install gcc-c++
(3)編譯與安裝Haproxy

進入Haproxy文件夾,編譯執(zhí)行命令:make TARGET=linux26

安裝特定位置:make install PREFIX=/usr/local/haproxy

(4)進入創(chuàng)建的文件夾cd /usr/local/haproxy,修改配置

創(chuàng)建一個文件夾,mkdir conf config文件夾

進入該文件夾,在文件夾中,創(chuàng)建 一個文件執(zhí)行命令: touch haproxy.cnf

編輯配置文件haproxy.cfg


Impala的常見錯誤

1.Impala不能創(chuàng)建表,提示權(quán)限的問題

  • [node02:21000] > create table person2(id int,name string,address string) row format delimited fields terminated by ',';
    Query: create table person2(id int,name string,address string) row format delimited fields terminated by ','
    ERROR: ImpalaRuntimeException: Error making 'createTable' RPC to Hive Metastore:
    CAUSED BY: MetaException: Got exception: org.apache.hadoop.security.AccessControlException Permission denied: user=impala, access=EXECUTE, inode="/hive/warehouse":root:supergroup:drwxr-x---
            at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:399)
            at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:315)
            at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:242)
            at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:193)
            at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:606)
            at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1801)
            at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1819)
            at org.apache.hadoop.hdfs.server.namenode.FSDirectory.resolvePath(FSDirectory.java:676)
            at org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getFileInfo(FSDirStatAndListingOp.java:114)
            at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:3102)
            at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:1154)
            at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:966)
            at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
            at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523)
            at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:991)
            at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:872)
            at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:818)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.Subject.doAs(Subject.java:422)
            at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1729)
            at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2678)
    
  • 為對應的目錄賦權(quán)777,我的數(shù)倉路徑 /hive/warehouse/

  • hdfs dfs -chmod -R 777 /hive/warehouse/

impala wiki,# impala,負載均衡,運維,impala

2.hdfs進入安全模式

  • hdfs dfsadmin -safemode leave

3.啟動datanode時日志發(fā)現(xiàn)如下報錯信息

  • 啟動日志
023-09-17 03:04:54,358 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Starting DataNode with maxLockedMemory = 0
2023-09-17 03:04:54,435 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Opened streaming server at /0.0.0.0:9866
2023-09-17 03:04:54,461 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Balancing bandwidth is 10485760 bytes/s
2023-09-17 03:04:54,461 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Number threads for balancing is 50
2023-09-17 03:04:54,476 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Shutdown complete.
2023-09-17 03:04:54,477 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain
java.io.IOException: The path component: '/var/lib/hadoop-hdfs' in '/var/lib/hadoop-hdfs/dn_socket' has permissions 0755 uid 993 and gid 991. It is not protected because it is owned by a user who is not root and not the effective user: '0'. This might help: 'chown root /var/lib/hadoop-hdfs' or 'chown 0 /var/lib/hadoop-hdfs'. For more information: https://wiki.apache.org/hadoop/SocketPathSecurity
        at org.apache.hadoop.net.unix.DomainSocket.validateSocketPathSecurity0(Native Method)
        at org.apache.hadoop.net.unix.DomainSocket.bindAndListen(DomainSocket.java:193)
        at org.apache.hadoop.hdfs.net.DomainPeerServer.<init>(DomainPeerServer.java:40)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.getDomainPeerServer(DataNode.java:1195)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.initDataXceiver(DataNode.java:1162)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:1417)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:501)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:2783)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:2691)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:2733)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2877)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2901)
2023-09-17 03:04:54,483 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1: java.io.IOException: The path component: '/var/lib/hadoop-hdfs' in '/var/lib/hadoop-hdfs/dn_socket' has permissions 0755 uid 993 and gid 991. It is not protected because it is owned by a user who is not root and not the effective user: '0'. This might help: 'chown root /var/lib/hadoop-hdfs' or 'chown 0 /var/lib/hadoop-hdfs'. For more information: https://wiki.apache.org/hadoop/SocketPathSecurity
  • 解決辦法: 由于前面的/var/lib/hadoop-hdfs的問題,需將其用戶修改為root

  • # 三個節(jié)點都執(zhí)行這個操作
    [root@node01 ~]#chown root /var/lib/hadoop-hdfs/
    [root@node02 ~]#chown root /var/lib/hadoop-hdfs/
    [root@node03 ~]#chown root /var/lib/hadoop-hdfs/
    

4.namenode啟動異常,日志顯示

aused by: org.apache.hadoop.hdfs.server.namenode.RedundantEditLogInputStream$PrematureEOFException: got premature end-of-file at txid 27027; expected file to go up to 27152
	at org.apache.hadoop.hdfs.server.namenode.RedundantEditLogInputStream.nextOp(RedundantEditLogInputStream.java:197)
	at org.apache.hadoop.hdfs.server.namenode.EditLogInputStream.readOp(EditLogInputStream.java:85)
	at org.apache.hadoop.hdfs.server.namenode.EditLogInputStream.skipUntil(EditLogInputStream.java:151)
	at org.apache.hadoop.hdfs.server.namenode.RedundantEditLogInputStream.nextOp(RedundantEditLogInputStream.java:179)
	at org.apache.hadoop.hdfs.server.namenode.EditLogInputStream.readOp(EditLogInputStream.java:85)
	at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadEditRecords(FSEditLogLoader.java:213)
	... 12 more

這個錯誤表明在處理 HDFS(Hadoop分布式文件系統(tǒng))的編輯日志時遇到了意外的文件結(jié)尾。

要解決這個問題,您可以嘗試以下方法:

  1. 檢查文件完整性:檢查導致錯誤的編輯日志文件是否完整。可能是由于文件損壞或丟失導致了預期范圍之外的文件結(jié)尾。您可以嘗試從備份中恢復丟失的文件或使用其他副本。

  2. 恢復缺失的日志段:如果確定存在缺失的日志段,您可以嘗試使用輔助工具(如hdfs oiv命令)來恢復缺失的事務日志。具體步驟可以參考 HDFS 文檔和社區(qū)支持資源。

  3. 恢復備份:如果有可用的完整備份,您可以嘗試將備份數(shù)據(jù)還原到新的文件系統(tǒng)中,并確保整個過程符合數(shù)據(jù)一致性和正確性的要求。

  4. 尋求專業(yè)支持:如果以上方法無法解決問題,建議您咨詢 Hadoop 或 HDFS 的專業(yè)支持團隊,他們可以提供更具體和針對性的解決方案。

請注意,在進行任何更改或修復操作之前,請務必備份重要數(shù)據(jù),并確保在測試環(huán)境中進行驗證,以避免進一步數(shù)據(jù)丟失或其他潛在問題。

  • 經(jīng)測試這個命令hdfs oiv不行

  • 看日志似乎是無法正常寫入日志,namenode的元數(shù)據(jù)可能異常

  • # 使用這個命令修復元數(shù)據(jù):hadoop namenode -recover,在出錯的機器執(zhí)行如下命令,一路按c或者y
    
  • 參考文章鏈接

5.impala啟動出現(xiàn)空進程

  • 說明: 如果進程數(shù)啟動不對,web頁面打不開,去指定的日志目錄.

    • jps時出現(xiàn)空白的進程或者process information unavailable

    • #解決辦法(注意只刪除后綴為impala的即可)
      [root@node01 bin]# rm -rf /tmp/hsperfdata_impala*
      [root@node02 bin]# rm -rf /tmp/hsperfdata_impala*
      [root@node03 bin]# rm -rf /tmp/hsperfdata_impala*
      

Haproxy負載均衡測試

impala-shell測試

  • 在安裝了Haproxy服務的節(jié)點執(zhí)行命令:注意端口25003是配置中綁定的路由端口

  • impala-shell -i node01:25003
    
  • 看到我們指定的node01 節(jié)點,Haproxy轉(zhuǎn)發(fā)至node02執(zhí)行SQLimpala wiki,# impala,負載均衡,運維,impala

  • 每次提交SQL任務協(xié)調(diào)節(jié)點都不一樣,自動輪詢impala wiki,# impala,負載均衡,運維,impala

HDFS高可用集群中standBy 的NameNode無法啟動—解決方案

在日常操作中發(fā)現(xiàn)自己的高可用hadoop集群,發(fā)現(xiàn)存在一臺NamNode節(jié)點無法啟動,但該節(jié)點上的DataNode仍可正常運行。其它的NameNode在正常運行。

  • 啟動日志如下:

Error: Gap in transactions. Expected to be able to read up until at least txid 27896 but unable to find any edit logs containing txid 27711
java.io.IOException: Gap in transactions. Expected to be able to read up until at least txid 27896 but unable to find any edit logs containing txid 27711

問題可能是由多個NameNode上的元數(shù)據(jù)信息不一致,解決方法如下:

1、停止HDFS集群。

2、刪除每個NameNode節(jié)點上的data、logs。(我是在剛搭好HDFS集群遇到的這個問題,所有data和logs中的數(shù)據(jù)可直接刪除。如果data和logs中存在重要的不能刪除的數(shù)據(jù),還請將數(shù)據(jù)遷移保存至別處,或使用其它方法進行解決)。

3、在每一個JournalNode節(jié)點上,輸入以下命令啟動journalnode服務。(我是在每一臺NameNode上啟動的)。

hdfs --daemon start journalnode

4、在一個NameNode節(jié)點上,對其元數(shù)據(jù)進行修復

hadoop namenode -recover
# 如果hdfs上沒有重要數(shù)據(jù)可以直接格式化namenode
//格式化
hdfs namenode -format
//啟動namenode
hdfs --daemon start namenode

5、在其它每一個NameNode節(jié)點上執(zhí)行下面這句話,同步<第4步那個NameNode節(jié)點>的元數(shù)據(jù)信息。

hdfs namenode -bootstrapStandby

6、其它NameNode節(jié)點都去執(zhí)行下面這句話啟動NameNode——除<第4步那個NameNode節(jié)點>。

hdfs --daemon start namenode

然后通過jps就可以查看NameNode已經(jīng)啟動了。

參考博客文章來源地址http://www.zghlxwxcb.cn/news/detail-765834.html

  • https://blog.csdn.net/qq_42385284/article/details/88960678

到了這里,關(guān)于Centos7原生hadoop環(huán)境,搭建Impala集群和負載均衡配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

    Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

    和相關(guān)配置版本 :Linux CentOS Hadoop Java 版本: CentOS7 Hadoop3.2.0 JDK1.8 虛擬機參數(shù)信息內(nèi)存3.2G、處理器2x2、內(nèi)存50G ISO:CentOS-7-x86_64-DVD-2009.iso 基本主從思路: 先把基礎的設置(SSH、JDK、Hadooop、環(huán)境變量、Hadoop和MapReduce配置信息)在一臺虛擬機(master)上配好,通過

    2024年02月05日
    瀏覽(29)
  • Centos7搭建Apache Storm 集群運行環(huán)境

    Centos7搭建Apache Storm 集群運行環(huán)境

    Storm 運行在 Java 平臺上,因此需要先安裝 Java。你可以使用以下命令安裝 OpenJDK 8: 你可以從 Storm 的官方網(wǎng)站下載 Storm。在本教程中,我們將使用 Storm 2.2.0 版本。你可以使用以下命令下載 Storm: 下載完成后,你可以使用以下命令解壓 Storm: 解壓完成后,你可以將 Storm 移動到

    2024年02月14日
    瀏覽(19)
  • spark 基于物理機centos7環(huán)境搭建分布式集群

    非生產(chǎn)環(huán)境,就使用一個新一點的版本,提前先踩踩坑,版本的選型真是一個頭疼的問題,先看一下apache的官網(wǎng)的測試圖: 偽分布式看這里: 配置之前:若是用偽分布式時,在本機必須生成key-gen 與ssh-copy-id到本機,且hosts中必須加入127.0.0.1 ?本機名并關(guān)閉防火墻這幾步才可

    2024年02月03日
    瀏覽(27)
  • 【hadoop】centos7.6+hadoop3.1.1搭建分布式hadoop環(huán)境——包含各類問題解決方案

    【hadoop】centos7.6+hadoop3.1.1搭建分布式hadoop環(huán)境——包含各類問題解決方案

    本文針對centos7.4即以上版本的hadoop環(huán)境搭建,因為這部分搭建是個很復雜且很容易出錯的內(nèi)容,所以在結(jié)合了多種搭建方案后給出最適宜當前版本的搭建。 本教程適用于CentOS 7.4即以上版本,如果是Ubuntu等其它linux內(nèi)核版本則不適合。 查看系統(tǒng)版本: 軟件 版本 獲取方法 Ope

    2024年02月16日
    瀏覽(24)
  • 大數(shù)據(jù)技術(shù)棧-Hadoop3.3.4-完全分布式集群搭建部署-centos7(完全超詳細-小白注釋版)虛擬機安裝+平臺部署

    目錄 環(huán)境條件: 1、安裝虛擬機(已安裝好虛擬機的可跳轉(zhuǎn)至? 二、安裝JDK與Hadoop) (1)直接新建一臺虛擬機 (2)首次啟用虛擬機,進行安裝 一、集群前置環(huán)境搭建(三臺機器分別設置hostname、網(wǎng)卡(ip)配置、ssh免密登錄) 1、查看一下本機與虛擬機的網(wǎng)卡和ip信息 (1)

    2024年02月06日
    瀏覽(31)
  • CentOS 7 搭建 Impala 4.1.2 + Kudu 1.15.0 測試環(huán)境

    CentOS 7 搭建 Impala 4.1.2 + Kudu 1.15.0 測試環(huán)境

    這部分不過于詳細介紹,如果有現(xiàn)成環(huán)境也可以直接拿來使用。 Java 下載 java 安裝包,需要登錄 oracle,請自行下載。 配置環(huán)境變量到 /etc/bashrc ,并執(zhí)行 source /etc/bashrc 。啟動包含了 Hadoop、Hive 的環(huán)境變量。 Hadoop 下載 Hadoop 3.3.2 配置本機免密 修改配置文件 core-site.xml hdfs-sit

    2024年02月13日
    瀏覽(18)
  • Centos7 + Hadoop 3.3.4 HA高可用集群部署

    目錄 一、集群規(guī)劃 二、主機環(huán)境準備 1、配置主機名 2、配置HOSTS 3、配置內(nèi)核參數(shù) ?4、配置Limits ?5、關(guān)閉防火墻 6、關(guān)閉SELINUX 7、修改時區(qū) ?8、修改中文支持 三、安裝JDK 四、創(chuàng)建Hadoop用戶 五、安裝Zookeeper 1、下載安裝 2、配置zoo.cfg 3、配置myid 4、啟動/查看/停止服務 六、安

    2024年02月15日
    瀏覽(30)
  • Centos7系統(tǒng)下搭建Hadoop 3.3.6

    Centos7系統(tǒng)下搭建Hadoop 3.3.6

    本次使用3臺服務器進行安裝Hadoop。其中服務器系統(tǒng)均為Centos7.6、Hadoop版本為3.3.6、jdk版本為1.8.0_371。 ################################################################################################ 此外,大數(shù)據(jù)系列教程還在持續(xù)的更新中(包括跑一些實例、安裝數(shù)據(jù)庫、spark、mapreduce、hive等),

    2024年02月06日
    瀏覽(21)
  • Zookeeper集群搭建記錄 | 云計算[CentOS7] | Zookeeper集群搭建

    Zookeeper集群搭建記錄 | 云計算[CentOS7] | Zookeeper集群搭建

    本系列文章索引以及一些默認好的條件在 傳送門 在配置Zookeeper之前,建議先配置Hadoop集群,具體的操作流程博主已更新完成,鏈接 Zookeeper的安裝包版本不太相同,大致分為有編譯過的和沒有編譯過的(如有錯請留言指正 一般情況下對于我們在解壓配置就能使用的情況下,我

    2024年02月01日
    瀏覽(122)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包