CDHの展開とトラブルシューティング

第1章建設

はじめに
このドキュメントは、CDH 6.3.1の展開に関するものです。他のバージョンのCDHのインストール手順はほぼ同じです。他のバージョンのCDHのインストール中にエラーが発生した場合は、他のドキュメントを参照してください。
CDH-7.1.4インストールエラーの解決

1.1説明

ここでのIPとホスト名は実際の状況によって異なります

1.2環境

オペレーティングシステム
CentOS7
サーバー5セット、1マスター、5スレーブ(マスターとマスターとスレーブ)
ホスト名解決
パスワードなしのログイン

1.3時刻同期

マスターノードの操作

yum -y install chrony

Alibaba Cloudから同期時間を設定し、許可後のIPセグメントに注意を払い、スレーブがどのセグメントであるかを設定します。

vim /etc/chrony.conf 

ここに画像の説明を挿入

systemctl enable chronyd
systemctl start chronyd

スレーブノードの操作

yum -y install chrony

構成、マスターノードから直接時刻を同期

vim /etc/chrony.conf

ここに画像の説明を挿入

systemctl enable chronyd
systemctl start chronyd

1.4ファイアウォールとselinuxをオフにします

すべてのノード操作

sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config && systemctl disable firewalld
systemctl stop firewalld
setenforce 0

1.5ホスト名を変更する

hostnamectl set-hostname cdh-1
hostnamectl set-hostname cdh-2
hostnamectl set-hostname cdh-3
hostnamectl set-hostname cdh-4
hostnamectl set-hostname cdh-5

1.6ノードの割り当て

cdh-1はマスターノードとスレーブノード、
その他はスレーブノードです

1.7ホスト名解決

すべてのホストは同じです

cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.235.120 cdh-1
192.168.235.126 cdh-2
192.168.235.108 cdh-3
192.168.235.123 cdh-4
192.168.235.113 cdh-5

1.8パスワードなしのログイン

すべてのホストが実行されます

ssh-keygen
ssh-copy-id 192.168.235.120
ssh-copy-id 192.168.235.126
ssh-copy-id 192.168.235.108
ssh-copy-id 192.168.235.123
ssh-copy-id 192.168.235.113

1.9jdkをインストールする

すべてのノードが実行されます

tar zxvf jdk-8u181-linux-x64.tar.gz -C /opt/
echo "export JAVA_HOME=/opt/jdk1.8.0_181/" >> /etc/profile
echo "export PATH=\$JAVA_HOME/bin:\$JAVA_HOME/jre/bin:\$PATH" >> /etc/profile
echo "export CLASSPATH=.\$CLASSPATH:\$JAVA_HOME/lib:\$JAVA_HOME/jre/lib:\$JAVA_HOME/lib/tools.jar" >> /etc/profile
source /etc/profile

1.10 ClouderaManagerインストールパッケージアドレス

https://archive.cloudera.com/cm6/6.3.1/redhat7/yum/RPMS/x86_64/

1.11小包のインストールパッケージの住所

https://archive.cloudera.com/cdh6/6.3.2/parcels/

1.12マスターが必要とするインストールパッケージ

cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
mysql-connector-java-8.0.15-1.el7.noarch.rpm


マスターノードの操作マスターホストの/ root /ディレクトリに
パッケージを転送する他のホストにパッケージを転送する

cd /root
scp jdk-8u181-linux-x64.tar.gz cloudera-manager-* oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel* manifest.json cdh-2:/root/
scp jdk-8u181-linux-x64.tar.gz cloudera-manager-* oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel* manifest.json cdh-3:/root/
scp jdk-8u181-linux-x64.tar.gz cloudera-manager-* oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel* manifest.json cdh-4:/root/
scp jdk-8u181-linux-x64.tar.gz cloudera-manager-* oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel* manifest.json cdh-5:/root/

1.13スレーブに必要なインストールパッケージ

cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

1.14cloudera-serverをインストールします

マスターノードは
、cloudera-serverのインストールに必要な依存関係を実行します

yum -y install psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap rpcbind fuse-libs redhat-lsb net-tools postgresql-server

cloudera関連のパッケージをインストールする

rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

1.15mysqlをインストールして構成します

マスターノードの実行

yum -y install mariadb mariadb-server mariadb-devel
systemctl enable mariadb
systemctl start mariadb

jdbcバージョン8.0.15をインストールします

rpm -ivh mysql-connector-java-8.0.15-1.el7.noarch.rpm
cd /usr/share/java
cp -p mysql-connector-java-8.0.15.jar mysql-connector-java.jar

または直接実行する

cp -p /usr/share/java/mysql-connector-java-8.0.15.jar /usr/share/java/mysql-connector-java.jar

1.16スレーブ側にjdbcをインストールします

yum -y install java-headless
rpm -ivh /web/mysql-connector-java-8.0.15-1.el7.noarch.rpm
cp -p /usr/share/java/mysql-connector-java-8.0.15.jar /usr/share/java/mysql-connector-java.jar

1.17データベース構築の承認

マスターノードの実行
注:ここのデータベースはこの名前である必要はありません。好みによって異なります。

CREATE DATABASE report_manager DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE navigator_audit DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE navigator_metadata DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE activity_monitor DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON report_manager.* TO 'cdh6'@'%' IDENTIFIED BY 'cdh@336';
GRANT ALL ON report_manager.* TO 'cdh6'@'cdh-1' IDENTIFIED BY 'cdh@336';
GRANT ALL ON navigator_audit.* TO 'cdh6'@'%' IDENTIFIED BY 'cdh@336';
GRANT ALL ON navigator_audit.* TO 'cdh6'@'cdh-1' IDENTIFIED BY 'cdh@336';
GRANT ALL ON navigator_metadata.* TO 'cdh6'@'%' IDENTIFIED BY 'cdh@336';
GRANT ALL ON navigator_metadata.* TO 'cdh6'@'cdh-1' IDENTIFIED BY 'cdh@336';
GRANT ALL ON activity_monitor.* TO 'cdh6'@'%' IDENTIFIED BY 'cdh@336';
GRANT ALL ON activity_monitor.* TO 'cdh6'@'cdh-1' IDENTIFIED BY 'cdh@336';
GRANT ALL ON hue.* TO 'cdh6'@'%' IDENTIFIED BY 'cdh@336';
GRANT ALL ON hue.* TO 'cdh6'@'cdh-1' IDENTIFIED BY 'cdh@336';
GRANT ALL ON oozie.* TO 'cdh6'@'%' IDENTIFIED BY 'cdh@336';
GRANT ALL ON oozie.* TO 'cdh6'@'cdh-1' IDENTIFIED BY 'cdh@336';
GRANT ALL ON hive.* TO 'cdh6'@'%' IDENTIFIED BY 'cdh@336';
GRANT ALL ON hive.* TO 'cdh6'@'cdh-1' IDENTIFIED BY 'cdh@336';

1.18データベースにデータを入力します

マスターノードの実行

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm   -uroot -p  scm scm scm

または

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm   -uroot -p -hcdh-1 --scm-host cdh-1  scm scm scm

1.19cloudera-scm-serverを起動します

マスターノードの実行

systemctl start cloudera-scm-server

1.20cloudera-agentをインストールします


cloudera-agentを実行するためにすべてのノードに必要な依存関係

yum -y install bind-utils httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libpq.so.5 psmisc cyrus-sasl-plain cyrus-sasl-gssapi portmap /lib/lsb/init-functions fuse fuse-libs
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

1.21oracle-j2sdkをインストールします

すべてのノードが
rpm-ivh oracle-j2sdk1.8-1.8.0 + update181-1.x86_64.rpmを実行します

1.22ログイン

ブラウザ入力マスターノードIP:7180

1.23Webインターフェース構成クラスター

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

ここで、利用可能なCDHバージョンが表示されていない場合は、[その他のオプション]をクリックして利用可能なURLアドレスを追加してください。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

jdkはすでにインストールされているため、ここでは選択しないでください
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

次の図に示すように、各ノードの/ opt / cloudera / parcelsディレクトリには、エージェントのインストールが完了した後、追加の./floodファイルがあります。
ここに画像の説明を挿入
ここに画像の説明を挿入

ローカルパーセルリポジトリを構成し、クリックして続行したため、このエラーは問題ありません。
ここに画像の説明を挿入

[確認]をクリックし、順序に従って、確認後に結果を確認します。
ここに画像の説明を挿入

[すべてのホストを表示]をクリックします
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

echo 10 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

最適化後に再実行
ここに画像の説明を挿入

ここでは省略されたステップ
ここに画像の説明を挿入
ここに画像の説明を挿入

第2章エラーレポート

2.1小包のダウンロードが遅い

インストールプロセス中に小包のダウンロードが遅い場合は、https://archive.cloudera.com/cdh6/6.3.2/parcels/にアクセスして小包パッケージを直接ダウンロードし、マスターとスレーブの/ opt / cloudera /にアップロードします。 parcel-repo / Directory、スレーブにはこのディレクトリがないことに注意してください。アップロードする前にmkdirが作成されます。
ダウンロードしたパッケージは以下の通りです

CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256
manifest.json

マスターノードで
実行
するためにパッケージをマスターノードに転送します。各ホストでCDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1パッケージの名前を変更します。

mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
cp CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256 manifest.json /opt/cloudera/parcel-repo/

パッケージを
スレーブノードに渡し、スレーブノードを実行します

mkdir /opt/cloudera/parcel-repo/ && chown -R cloudera-scm.cloudera-scm /opt/cloudera/parcel-repo/
cp CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256 manifest.json /opt/cloudera/parcel-repo/

2.2Webインターフェイスがセキュリティロックの取得でスタックしている

解決
設置面に終了し、数回のクリックCDHウェブを
プロセスを殺すために、ログイン失敗のホストを

ps aux|grep scm_prepare_node|awk '{print $2}'|xargs kill -9

不要なファイルを削除する

rm -rf /tmp/scm_prepare_node.*

2.3ホストの動作状態が悪い

ここに画像の説明を挿入

rm -rf /var/lib/cloudera-scm-agent/cm_guid
systemctl restart cloudera-scm-agent

2.4Spark-shell起動エラー

スパーク起動エラーを実行する

/opt/cloudera/parcels/CDH/bin/spark-shell

ここに画像の説明を挿入

解決する

echo "export HADOOP_USER_NAME=hdfs" >> /etc/profile && source /etc/profile

2.5色相統合hbaseが表示されますTSocket読み取り0バイト

デフォルトでは、hueはhbase Thrift Serverのポート9090を使用してhbaseに接続し、hue.iniのhbase構成部分では、hbaseのポート9090がlocalhostに接続されます。

[hbase]
# Comma-separated list of HBase Thrift servers for clusters in the format of '(name|host:port)'.
hbase_clusters=(Cluster|localhost:9090)

に変更します

[hbase]
# Comma-separated list of HBase Thrift servers for clusters in the format of '(name|host:port)'.
hbase_clusters=(Cluster|10.0.15.186:9090)

10.0.15.186は、hbase ThriftServerサービスが開始されるサーバーのIPです。

解決策:hbase構成ファイルを変更して、次の構成を追加します

https://stackoverflow.com/questions/20415493/api-error-tsocket-read-0-bytes-when-using-hue-with-hbase
Add this to your hbase "core-site.conf":
<property>
  <name>hbase.thrift.support.proxyuser</name>
  <value>true</value>
</property>
<property>
  <name>hbase.regionserver.thrift.http</name>
  <value>true</value>
</property>

または、Webインターフェイスで直接変更する場合は、Webインターフェイスで変更することをお勧めします
ここに画像の説明を挿入

hbaseとhueを再起動します

2.6hbaseが管理者になりすますことは許可されていません

ここに画像の説明を挿入

F12を押してブラウザのデバッグインターフェイスを呼び出すと、エラーが次のように報告されます
ここに画像の説明を挿入

Webインターフェースは、色相の役割ログを個別に調べ、
hbaseが管理
ソリューションを偽装することを許可されていないという貴重なエラーを発見しました
。1。hadoopおよびhbaseの構成ファイルcore-site.xmlで以下を構成します。

<property>
    <name>hadoop.proxyuser.hbase.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.hbase.groups</name>
    <value>*</value>
</property>

Webインターフェイスを介して構成します(Webインターフェイスを介して変更した後にのみ有効になるようです)
ここに画像の説明を挿入
ここに画像の説明を挿入

2.hadoopとhbaseおよびhueを再起動します

2.7OozieのWebUIがエラーを開く

ここに画像の説明を挿入

解決策:
ext-2.2.zipをダウンロードする

wget http://archive.cloudera.com/gplextras/misc/ext-2.2.zip
mv ext-2.2.zip /var/lib/oozie
cd /var/lib/oozie
unzip ext-2.2.zip

2.8HDFSエラー訂正コードエラー

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

namenodeを再起動します

2.9クラスターIPを変更した後にcloudera-scm-serverが起動しないという問題

注:各クラスターノードのIPは、データベースが初期化されるライブラリのHOSTSテーブル(ここではscm)に保存されます。クラスターノードのIPを変更すると、このテーブルは自動的に更新されますが、cloudera-scm-serverそれでも起動に失敗します。これは、/
etc / cloudera-scm- server /db.propertiesファイルのcom.cloudera.cmf.db.host = cdh-1の構成でcmf.db.hostのIPが指定されているためです。変更する必要があります。
ここに画像の説明を挿入

第3章最適化

echo 'vm.swappiness=10'>> /etc/sysctl.conf
echo 10 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

3.1構成コマンドの環境変数

クラスタソフトウェアのbinディレクトリは/ opt / cloudera /の多くのレイヤーの下にあるため、毎回実行するのに時間がかかるため、構成コマンドの環境変数は
/ etc /の最後に次の行を追加します。プロファイルファイル、次にソース/ etc / profile

export PATH=/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$PATH
export PATH=/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/zookeeper/bin:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:$PATH

第4章インストール後のディレクトリ

図に示すように、cdhクラスターのすべてのデータはhadoopのhdfsに格納され、hdfsのディレクトリは/ dfs /の下にあります。
ここに画像の説明を挿入

すべてのソフトウェアのログディレクトリはデフォルトの/ var / log /の下にあります。
プログラム関連のディレクトリは/ var / lib /の下に
あります。pidファイルやその他の
クラスタ構成ファイル、binなどのtmpの下にいくつかの一時ディレクトリがあります示されているように、ディレクトリは/ opt / cloudera / Nextにあります
ここに画像の説明を挿入

hbaseディレクトリはhadoopのhdfsファイルシステムのルートディレクトリにあり、表示方法は次のとおりです。
ここに画像の説明を挿入

第5章スクリプトの再インストール

5.1マスターノードの再インストールスクリプト

cat reconstruction.sh
#!/bin/bash
mysql -uroot -e "drop database db_cdh6_scm;"
rpm -e `rpm -qa|grep cloud`
rm -rf /opt/cloudera/
#rpm -e `rpm -qa|grep cloud`
rm -rf /var/lib/cloud*
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
systemctl enable cloudera-scm-server
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql db_cdh6_scm -h10.0.15.166  -uroot -p --scm-host 10.0.15.166 db_cdh6_scm scm scm
systemctl start cloudera-scm-server
rm -rf /dfs/
rm -rf /yarn
rm -rf /var/lib/hadoop-*
rm -rf /var/lib/zookeeper/
rm -rf /var/lib/hbase/
rm -rf /var/lib/flume-ng/
rm -rf /var/lib/hive/
rm -rf /var/lib/impala/
rm -rf /var/lib/spark/
rm -rf /var/lib/oozie/
cp /root/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel /opt/cloudera/parcel-repo/
cp /root/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha /opt/cloudera/parcel-repo/
cp /root/manifest.json /opt/cloudera/parcel-repo/
reboot

5.2スレーブノードの再インストールスクリプト

cat reconstruction.sh
#!/bin/bash
rpm -e `rpm -qa|grep cloud`
rm -rf /opt/cloudera/
rm -rf /var/lib/cloud*
#rpm -e `rpm -qa|grep cloud`
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
rm -rf /dfs/
rm -rf /yarn
rm -rf /var/lib/hadoop-*
rm -rf /var/lib/zookeeper/
rm -rf /var/lib/hbase/
rm -rf /var/lib/flume-ng/
rm -rf /var/lib/hive/
rm -rf /var/lib/impala/
rm -rf /var/lib/spark/
rm -rf /var/lib/oozie/
mkdir /opt/cloudera/parcel-repo/
cp /root/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel /opt/cloudera/parcel-repo/
cp /root/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha /opt/cloudera/parcel-repo/
cp /root/manifest.json /opt/cloudera/parcel-repo/
chown -R cloudera-scm.cloudera-scm /opt/cloudera/parcel-repo/
reboot

おすすめ

転載: blog.csdn.net/weixin_40548182/article/details/112553224