Kuduの設置と配置

3240 ワード

(1)Kuuduのダウンロードに関するインストールパッケージのKuudeバージョンは1.7.0-cdh 5.1で、rpmパッケージを使ってインストールします。URLは以下の通りです。
http://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/5.15.1/RPMS/x86_64/
開いた後に直接Ctrl+FでKuduを検索して、出現のrpmは包んで全部で6つをインストールして、全部ダウンロードします。
kudu-1.7.0+cdh5.15.1+0-1.cdh5.15.1.p0.4.el7.x86_64.rpm

kudu-client-devel-1.7.0+cdh5.15.1+0-1.cdh5.15.1.p0.4.el7.x86_64.rpm

kudu-client0-1.7.0+cdh5.15.1+0-1.cdh5.15.1.p0.4.el7.x86_64.rpm

kudu-debuginfo-1.7.0+cdh5.15.1+0-1.cdh5.15.1.p0.4.el7.x86_64.rpm

kudu-master-1.7.0+cdh5.15.1+0-1.cdh5.15.1.p0.4.el7.x86_64.rpm

kudu-tserver-1.7.0+cdh5.15.1+0-1.cdh5.15.1.p0.4.el7.x86_64.rpm
(2)インストールパッケージのあるディレクトリに入り、以下のコマンドを実行します。
sudo rpm -ivh --nodeps *
(3)マスターメタデータディレクトリとテーブルデータディレクトリとログログディレクトリを作成します。
sudo mkdir -p /data/kudu/kudu_master_data
sudo mkdir -p /data/kudu/kudu_tserver_data
sudo mkdir -p /data/log/kudu
以下のディレクトリとファイルのユーザとグループをクドゥに変更します。
sudo chown -R kudu:kudu *
(4)Kuduプロファイル/etc/kudu/conf/master.gflagfileを修正する
--fs_wal_dir=/data/kudu/kudu_master_data
--fs_data_dirs=/data/kudu/kudu_master_data
//etc/kudu/conf/tserver.gflagfile
--fs_wal_dir=/data/kudu/kudu_tserver_data
--fs_data_dirs=/data/kudu/kudu_tserver_data
--tserver_master_addrs=hadoop000:7051
(5)Kuduを起動し、それぞれマスターとtserverを起動する。
sudo /etc/init.d/kudu-master start
sudo /etc/init.d/kudu-tserver start
起動エラー:
Failed to start Kudu Master Server. Return value: 1        [FAILED]
マスターログを表示
tail -200f var/log/kudu-master.out
次のエラーが見つかりました。
Check failed: _s.ok() Bad status: Service unavailable: Cannot initialize clock: Error reading clock. Clock considered unsynchronized
Kuduのデフォルトの一貫性モデルは、クライアントがある時点に一貫してアクセスできるスナップショットである。より高い要求の外部整合性を実現するために、クラウドはSpannerを参考にしてcomit-wait機構を使用していますが、comit-waitはTrueTimeに強く依存しています。TrueTimeは様々な高価なハードウェアデバイスサポートを必要としています。現在Kuuは純粋なソフトウェアアルゴリズムでクロックアルゴリズムを実現しています。起動できません。
解決方法:もしntpがインストールされていないなら、先にそれをインストールします。
sudo yum -y install ntp
そして、ntpサービスを開始します。
sudo service ntpd start
設定ntp起動自启
sudo chkconfig ntpd on
ntpが同期しているかどうかは、ntpdコマンドで確認できますが、unsynchronisedが表示されている場合は待ち時間が必要です。ntpdサービスがオープンした後、同期が完了するまでに時間がかかりますので、三、五分、一時間でも大丈夫です。ntptimeコマンドによって同期が成功したかどうかを確認して、ntp同期を待ってから再度masterとtserverを起動します。詳細は公式文書のntpに関する説明を見ることができます。
https://kudu.apache.org/docs/troubleshooting.html#ntp
仮想マシンを再起動した後、クロックが同期されていないことにより、Kuduはまた起動できなくなり、その邪魔に耐えられなくなりました。そこで、ntpプロファイルを修正しました。
sudo vim /etc/ntp.conf
以下の内容を追加します。
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst
#    server      ,      
server 127.127.1.0 #       
fudge 127.127.1.0 stratum 8 #       stratum(  )      16
(6)Kuuduが成功ps-ef grep kuduを起動したかどうかを確認することができ、またWebUIを通じて確認することができ、デフォルトポートは8050である。
hadoop000:8050