第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