節點html |
kudu-masternode |
kudu-tserverapache |
node01vim |
是centos |
是服務器 |
node02async |
是ide |
是oop |
node03url |
是 |
是 |
下載kudu安裝yum源。並配置安裝yum源
[root@hadoop03 soft]# wget http://archive.cloudera.com/cdh5/repo-as-tarball/5.14.0/cdh5.14.0-centos6.tar.gz |
解壓yum源文件到指定目錄
[root@hadoop03 soft]# tar zxvf cdh5.14.0-centos6.tar.gz -C /usr/local/ |
鏡像源是centos當中下載相關軟件的地址,咱們能夠經過製做咱們本身的鏡像源指定咱們去哪裏下載kudu的rpm包,這裏咱們使用httpd這個軟件來做爲服務端,啓動httpd的服務來做爲咱們鏡像源的下載地址 這裏咱們選用第三臺機器做爲鏡像源的服務端node3機器上執行如下命令:
[root@hadoop03 soft]# yum install -y httpd [root@hadoop03 soft]# service httpd start [root@hadoop03 soft]# cd /etc/yum.repos.d [root@hadoop03 yum.repos.d]# vim localimp.repo |
|
[localimp] name=localimp baseurl=http://node03/cdh5.14.0 gpgcheck=0 enabled=1 |
|
將node3上製做好的localimp配置文件發放到全部須要kudu的節點上去
[root@hadoop03 yum.repos.d]# scp -r localimp.repo node01:$PWD [root@hadoop03 yum.repos.d]# scp -r localimp.repo node02:$PWD |
建立apache httpd的讀取鏈接
[root@hadoop03 ~]# ln -s /usr/local/cdh/5.14.0 /var/www/html/cdh5.14.0 |
頁面訪問本地yum源,出現這個界面表示本地yum源製做成功 訪問http://node03/cdh5.14.0
使用yum命令,在不一樣的服務器下載對應的服務
[root@hadoop01 ~]# yum install -y kudu kudu-master kudu-tserver kudu-client0 kudu-client-devel [root@hadoop02 ~]# yum install -y kudu kudu-master kudu-tserver kudu-client0 kudu-client-devel [root@hadoop03 ~]# yum install -y kudu kudu-master kudu-tserver kudu-client0 kudu-client-devel |
命令說明:
yum install kudu # Kudu的基本包 yum install kudu-master # KuduMaster yum install kudu-tserver # KuduTserver yum install kudu-client0 #Kudu C ++客戶端共享庫 yum install kudu-client-devel # Kudu C ++客戶端共享庫 SDK |
[root@hadoop01 kudu]# cd /etc/kudu/conf/ |
[root@hadoop01 conf]# vim master.gflagfile |
# cat /etc/kudu/conf/master.gflagfile # Do not modify these two lines. If you wish to change these variables, # modify them in /etc/default/kudu-master. --fromenv=rpc_bind_addresses --fromenv=log_dir --fs_wal_dir=/export/servers/kudu/master --fs_data_dirs=/export/servers/kudu/master --master_addresses=node01:7051,node02:7051,node03:7051 |
[root@hadoop01 conf]# vim tserver.gflagfile |
# Do not modify these two lines. If you wish to change these variables, # modify them in /etc/default/kudu-tserver. --fromenv=rpc_bind_addresses --fromenv=log_dir --fs_wal_dir=/export/servers/kudu/tserver --fs_data_dirs=/export/servers/kudu/tserver --tserver_master_addrs=node01:7051,node02:7051,node03:7051 |
[root@hadoop01 conf]# vim /etc/default/kudu-master |
export FLAGS_log_dir=/var/log/kudu #每臺機器的master地址要與主機名一致,這裏是在node01上 export FLAGS_rpc_bind_addresses=node01:7051 |
[root@hadoop01 conf]# vim /etc/default/kudu-tserver |
export FLAGS_log_dir=/var/log/kudu #每臺機器的tserver地址要與主機名一致,這裏是在node01上 export FLAGS_rpc_bind_addresses=node01:7050 |
修改完成後的上述配置文件分發到其餘服務器上
[root@hadoop01 default]# cd /etc/kudu/conf [root@hadoop01 conf]# scp -r master.gflagfile tserver.gflagfile node02:$PWD [root@hadoop01 conf]# scp -r master.gflagfile tserver.gflagfile node03:$PWD
[root@hadoop01 conf]# cd /etc/default/ [root@hadoop01 default]# scp -r kudu-master kudu-tserver node02:$PWD [root@hadoop01 default]# scp -r kudu-master kudu-tserver node03:$PWD |
修改node02服務器上的配置文件
[root@hadoop02 conf]# cd /etc/default/ [root@hadoop02 default]# vim kudu-master export FLAGS_log_dir=/var/log/kudu export FLAGS_rpc_bind_addresses=node02:7051
[root@hadoop02 default]# vim kudu-tserver export FLAGS_log_dir=/var/log/kudu export FLAGS_rpc_bind_addresses=node02:7050 |
修改node03服務其上的配置文件
[root@hadoop03 ~]# cd /etc/default/ [root@hadoop03 default]# vim kudu-master export FLAGS_log_dir=/var/log/kudu export FLAGS_rpc_bind_addresses=node03:7051
[root@hadoop03 default]# vim kudu-tserver export FLAGS_log_dir=/var/log/kudu export FLAGS_rpc_bind_addresses=node03:7050 |
在三臺服務器上分別建立配置存儲數據目錄並修改權限
[root@hadoop01 default]# mkdir -p /var/lib/kudu [root@hadoop01 default]# chmod –R kudu:kudu /var/lib/kudu |
[root@hadoop02 default]# mkdir -p /var/lib/kudu [root@hadoop02 default]# chmod –R kudu:kudu /var/lib/kudu |
[root@hadoop03 default]# mkdir -p /var/lib/kudu [root@hadoop03 default]# chmod –R kudu:kudu /var/lib/kudu |
注意
kudu默認用戶就是KUDU,因此須要將/var/lib/kudu權限修改爲kudu
[root@hadoop01 conf]# chown -R kudu:kudu /var/lib/kudu |
(若是使用的是普通的用戶,那麼最好配置sudo權限)/etc/sudoers文件中添加:
kudu集羣啓動時須要ntp服務進行時間同步,在kudu啓動前須要在三臺服務器上安裝ntp服務進行時間同步
[root@hadoop01 ~]# yum -y install ntp #安裝ntp服務 [root@hadoop01 ~]# service ntpd start #啓動ntp服務 [root@hadoop01 ~]# chkconfig ntpd on #設置開機啓動 |
[root@hadoop02 ~]# yum -y install ntp #安裝ntp服務 [root@hadoop02 ~]# service ntpd start #啓動ntp服務 [root@hadoop02 ~]# chkconfig ntpd on #設置開機啓動 |
[root@hadoop03 ~]# yum -y install ntp #安裝ntp服務 [root@hadoop03 ~]# service ntpd start #啓動ntp服務 [root@hadoop03 ~]# chkconfig ntpd on #設置開機啓動 |
[root@hadoop01 ~]# service kudu-master start [root@hadoop01 ~]# service kudu-tserver start
[root@hadoop02 ~]# service kudu-master start [root@hadoop02 ~]# service kudu-tserver start
[root@hadoop03 ~]# service kudu-master start [root@hadoop03 ~]# service kudu-tserver start |
|
啓動集羣后訪問地址http://node01:8051/顯示下圖所示
[root@hadoop01 ~]# service kudu-master stop [root@hadoop01 ~]# service kudu-tserver stop
[root@hadoop02 ~]# service kudu-master stop [root@hadoop02 ~]# service kudu-tserver stop
[root@hadoop03 ~]# service kudu-master stop [root@hadoop03 ~]# service kudu-tserver stop
部署常見問題啓動kudu的時候報錯Failed to start Kudu Master Server. Return value: 1 [FAILED] 去日誌文件中查看: 錯誤:F0810 09:04:08.354552 4866 master_main.cc:68] Check failed: _s.ok() Bad status:Service unavailable: Cannot initialize clock: Error reading clock. Clock considered Unsynchronized
解決: 第一步:首先檢查是否有安裝ntp:若是沒有安裝則使用如下命令安裝: yum -y install ntp 第二步:設置隨機啓動: service ntpd start chkconfig ntpd on
啓動過程當中報錯F0810 21:31:12.620932 20143 master_main.cc:71] Check failed: _s.ok() Bad status: Invalid argument: Unable to initialize catalog manager: Failed to initialize sys tables async: on-disk master list 解決: (1):停掉master和tserver (2):刪除掉以前全部的/export/servers/kudu/master/*和/export/servers/kudu/tserver/*
啓動過程當中報錯
F0913 15:12:00.628237 20859 master_main.cc:74] Check failed: _s.ok() Bad status: IO error: Could not create new FS layout: unable to create file system roots: unable to write instance metadata: Call to mkstemp() failed on name template /export/servers/kudu/master/instance.kudutmp.XXXXXX: Permission denied (error 13)
這是由於kudu默認使用kudu權限進行執行,可能遇到文件夾的權限不一致狀況,更改文件夾權限便可 |