不多說,直接上干貨!
Kudu安裝前的建議說明(博主推薦)
Kudu官網推薦的步驟:
本篇博文是installing Kudu using parcels or packages的方式。
http://kudu.apache.org/docs/installation.html#_build_from_source
規划
kudumaster kudu-tserver
master 是 是
slave1 否 是
slave2 否 是
第一步:配置Yum的Repository
使用Yum來安裝kudu,但由於kudu還不是Yum的常規組建,直接安裝會找不到kudu,所以第一步需要將kudu的repo文件下載並放置到合適的位置。
下載kudu的repo,進入
http://kudu.apache.org/docs/installation.html 頁面,在下圖中找到和自己的操作系統匹配的鏈接進行下載。
對於這里,其實看官網一點都不難啦。大家別恐懼,對於大數據的各個組件,也就是那么一回事。
我這里的Linux操作系統是CentOS6.5,若你是其他的版本,對應官網來,對照入座就是了。
說白了,這種安裝的風格,跟ClouderManager一樣的,畢竟是一個大家族的。
將下載成功的cloudera-kudu.repo文件放置到/etc/yum.repos.d/目錄下(master、slave1、slave2)。
這里,因為我的大數據集群是master、slave1、slave2。
[cloudera-kudu] # Packages for Cloudera's Distribution for kudu, Version 5, on RedHat or CentOS 6 x86_64 name=Cloudera's Distribution for kudu, Version 5 baseurl=http://archive.cloudera.com/kudu/redhat/6/x86_64/kudu/5/ gpgkey = http://archive.cloudera.com/kudu/redhat/6/x86_64/kudu/RPM-GPG-KEY-cloudera gpgcheck = 1
第二步:安裝kudu
#這是官網的解釋
sudo yum install kudu # Base Kudu files sudo yum install kudu-master # Kudu master init.d service script and default configuration sudo yum install kudu-tserver # Kudu tablet server init.d service script and default configuration sudo yum install kudu-client0 # Kudu C++ client shared library sudo yum install kudu-client-devel # Kudu C++ client SDK
但是,我這里為了給大家更仔細詳細的來安裝部署。
比如我這里master是作為kudu-master的,
# yum install kudu kudu-master kudu-client0 kudu-client-devel -y
比如我這里master、slave1、slave2是作為kudu-tserver的,
# yum install kudu kudu-tserver kudu-client0 kudu-client-devel -y
第三步:配置master和tserver節點
安裝完成之后。
在/etc/kudu/conf目錄下有兩個文件:master.gflagfile和tserver.gflagfile 。
master.gflagfile的配置修改為:
(目錄可以根據自己的習慣來制定,但在啟動kudu之前一定要事先創建好,否則master無法正常啟動)
(當然,如果不改,則就是默認在/opt下)
以下是默認的
# 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=/opt/kudu/master --fs_data_dirs=/opt/kudu/master
以下是自定義的
# cat /etc/kudu/conf/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=/home/data/kudu/master --fs_data_dirs=/home/data/kudu/master
tserver.gflagfile修改為:
以下是默認的
# cat /etc/kudu/conf/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=/opt/kudu/tserver --fs_data_dirs=/opt/kudu/tserver --tserver_master_addrs=master:7051
以下是自定義的
# cat /etc/kudu/conf/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=/home/data/kudu/tserver --fs_data_dirs=/home/data/kudu/tserver --tserver_master_addrs=master:7051
注意,這里的--tserver_master_addrs指明了集群中master的地址,指向同一個master的tserver形成了一個kudu集群。
設置權限
以下是默認安裝的
# mkdir /opt/kudu && chown kudu:kudu /opt/kudu
以下是自定義安裝的
# mkdir /home/data/kudu && chown kudu:kudu /home/data/kudu
可能遇到的問題:
根據官網的介紹,配置完成之后就可以啟動kudu了。
啟動master和tserver的命令分別為:
sudo service kudu-master start sudo service kudu-tserver start
或者
/etc/init.d/kudu-master start
/etc/init.d/kudu-tserver start
但啟動失敗,查看日志發現kudu的啟動有一個前提,NTP服務必須啟動並處以同步狀態。
啟動NTP服務的命令為:
systemctl start NTP
服務啟動后,需要5-10鍾來完成同步。判斷是否已經完成同步可以使用命令:ntpstat,如果輸出為:
synchronised to NTP server (120.25.108.11) at stratum 3 time correct to within 114 ms polling server every 1024 s
表示同步已經完成。
再次啟動kudu,還是報錯,查看日志,發現是對/home/data/kudu沒有操作權限。這個目錄是我用root賬號創建的,但kudu的啟動默認會使用一個叫kudu的用戶。執行下列命令來改變目錄的所有者:
cd /home/data/kudu chowm -R kudu:kudu ./*
再次執行啟動master(在master這台服務器上啟動)和tserver(在master,slave1,slave2這三台服務器上都啟動)的命令,終於成功了。
再在瀏覽器上通過http://<_host_name_>:8051 和 http://<_host_name_>:8050 可以分別查看master和tserver的詳情。

可以看到所有組件都已安裝完畢了。
更多見官網,其實不難的,比如開機啟動啊等,
sudo chkconfig kudu-master on
sudo chkconfig kudu-tserver on
官網
http://kudu.apache.org/docs/installation.html#rhel_from_source
另一種安裝Kudu的方法。
Kudu安裝(官網推薦的步驟)(installing build Kudu from source)