大數據

ambari 2.7.6+hdp 3.1.5安裝kafka 3.0.0版本

分類
故障描述

  無

故障分析

  無

處理過程

hdp 3.1.5默認集成kafka2,客戶需要安裝kafka3

安裝如下:

cd /opt
wget http://vpn.coremtech.com:20080/kafka3/kafka_2.12-3.0.0.tgz
wget http://vpn.coremtech.com:20080/kafka3/server.properties
wget http://vpn.coremtech.com:20080/kafka3/start.txt
tar zxvf kafka_2.12-3.0.0.tgz
cp server.properties kafka_2.12-3.0.0/config/
vi kafka_2.12-3.0.0/config/server.properties
# change id
mkdir /data-a/kafka3-logs
/opt/kafka_2.12-3.0.0/bin/kafka-server-start.sh ?-daemon /opt/kafka_2.12-3.0.0/config/server.properties

?

建議/總結

  一個zk環境,支持兩個不同kafka版本,僅需要zk連接器后加新的命名即可。例如master:2181/kafka3

安裝flume

分類
故障描述

  安裝flume組件

故障分析

  無

處理過程

cd /opt
wget http://vpn.coremtech.com:20080/apache-flume-1.11.0-bin.tar.gz
tar zxvf apache-flume-1.11.0-bin.tar.gz
mv ./apache-flume-1.11.0-bin ./flume
echo "export FLUME_HOME=/opt/flume" >> /etc/profile
echo "export PATH=\$PATH:\$FLUME_HOME/bin" >> /etc/profile
source /etc/profile
cd /opt/flume/conf
cp flume-env.sh.template flume-env.sh
"change java_home
flume-ng agent --conf /opt/flume/conf/
?

建議/總結

  無

Hbase Version提示org.apache.hadoop.hbase.util.GetJavaProperty

分類
故障描述

  客戶安裝flume執行flume-ng verion提示org.apache.hadoop.hbase.util.GetJavaProperty。hbase version也提示該錯誤。

故障分析

  hbase bug,詳見:https://reviews.apache.org/r/69299/diff/2/?expand=1

處理過程

進入hbase/bin目錄

cp?hbase.distro?hbase.distro-bak //先備份原有文件

vi?hbase.distro

切到182行,在add_to_cp_if_exists “${HBASE_HOME}/hbase-server/target” 這里下面加上兩行

? ? ? ? # Needed for GetJavaProperty check below
? ? add_to_cp_if_exists "${HBASE_HOME}/hbase-server/target/classes"

把下面大概186,187行的

?? ?#add the hbase jars for each module
?? ?for f in $HBASE_HOME/hbase-jars/hbase*.jar; do
?? ??? ?if [[ $f = *sources.jar ]]
?? ? ?then
?? ? ? ?: # Skip sources.jar
?? ? ?elif [ -f $f ]
?? ? ?then
?? ? ? ?CLASSPATH=${CLASSPATH}:$f;
?? ? ?fi
?? ?done
這部分注釋掉

切到大概310行左右,在

? if [ -n "${HADOOP_IN_PATH}" ] && [ -f "${HADOOP_IN_PATH}" ]; then

下面加上一段:

? # If built hbase, temporarily add hbase-server*.jar to classpath for GetJavaProperty
? # Exclude hbase-server*-tests.jar
? temporary_cp=
? for f in "${HBASE_HOME}"/lib/hbase-server*.jar; do
? ? if [[ ! "${f}" =~ ^.*\-tests\.jar$ ]]; then
? ? ? temporary_cp=":$f"
? ? fi
? done

然后把

? HADOOP_JAVA_LIBRARY_PATH=$(HADOOP_CLASSPATH="$CLASSPATH" "${HADOOP_IN_PATH}" \?
改成

? HADOOP_JAVA_LIBRARY_PATH=$(HADOOP_CLASSPATH="$CLASSPATH${temporary_cp}" "${HADOOP_IN_PATH}" \
即可。

詳見附件文件

建議/總結

  無

Hbase2 基于hdfs恢復數據及遷移

分類
故障描述

  某客戶因為數據表數量過多,導致HBase Master無法初始化完成。根據日志判斷為Meta錯誤。

故障分析

  客戶頻繁操作HBase Master導致混亂,加載失敗。

處理過程

? ? ? ?1.判斷客戶hdfs數據正常,基于Hbase2特性,可以基于hdfs進行數據恢復
? ? ? ?2.停用hbase服務;
? ? ? ?3.備份或遷移hbase hdfs文件。例如如下

hdfs dfs -mv /hbase/data /hbase/data_1 //重命名

hdfs dfs -cp -p /hbase/data /hbase/data_1 //復制一份,客戶涉及數據200T,采用重命名方式

? ? ? ? 4.刪除zk中數據

hbase zkcli

rmr /hbase-unsecure

? ? ? ? 5.將備份或遷移的數據恢復。

hdfs dfs -mv /hbase/data_1 /hbase/data? //重命名回去,可以根據實際情況,僅復制部分數據。

? ? ? ? 6.啟動Hbase;登陸hbase Master查看狀態是否正常。

? ? ? ? 7.修復meta表

hbase hbck -j /root/hbase-operator-tools-1.2.0/hbase-hbck2/hbase-hbck2-1.2.0.jar addFsRegionsMissingInMeta 'FAULT' //引用hbck2,對FAULT命名空間的表進行修復。多個命名空間,建議多次執行。

? ? ? ? 8.重啟HBase Master;注意僅需對當前Master主機相對應服務重啟,自動會選擇其它主機為HBase Master;啟動成功后,會提示大量的進入RIT狀態。

? ? ? ? 9.登陸HBase Master,查看RIT,獲取RIT中Rgid;復制并保存到文件,例如0903rit。執行下面命令重新創建區域

hbase hbck -j /root/hbase-operator-tools-1.2.0/hbase-hbck2/hbase-hbck2-1.2.0.jar assigns -i /root/0903rit? ?//這里是引用的文件,可以選擇單個rit。

? ? ? ?10.進入hbase shell,count查看表是否正常。

特別注意:如果沒有namespace;可以在hbase shell啟動好后確認表正常情況下,直接create_namespace即可。

建議/總結

  Hbase中Meta損壞是最常見的問題,采用此方法可以安全快速的恢復數據。此方法還可以用于數據遷移。

台湾佬中文娱乐网,久久男人av资源网站无码软件,好爽…又高潮了毛片小视频,国产成人一区二区免费不卡视频