1. 程式人生 > >基於cm+cdh搭建大資料叢集

基於cm+cdh搭建大資料叢集

1、網路配置
vim /etc/sysconfig/network-scripts/ifcfg-ens32 
service network restart

vim /etc/hosts
192.168.15.121 node1
192.168.15.122 node2
192.168.15.123 node3

2、SSH免金鑰登入
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

cd ~/.ssh
scp ./authorized_keys node2:`pwd`
scp ./authorized_keys node3:`pwd`

3、防火牆關閉
systemctl stop firewalld.service
systemctl disable firewalld.service 

4、SELINUX關閉
setenforce 0
vim /etc/selinux/config (SELINUX=disabled)

5、安裝JDK配置環境變數
mkdir /usr/java
官網下載jdk的rpm檔案,並上傳到/usr/java目錄下(如:/usr/java/jdk-8u221-linux-x64.rpm)
scp ./jdk-8u221-linux-x64.rpm node2:`pwd`
scp ./jdk-8u221-linux-x64.rpm node3:`pwd`

rpm -ivh jdk-8u221-linux-x64.rpm 

vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

source /etc/profile
java -version

6、安裝NTP 設定開機啟動(如果時間相同就可以不同步時間,可以繞過這個步驟)
 chkconfig ntpd on 設定時間同步 ntpdate 202.120.2.101
    
7、安裝配置
 yum install -y mysql-server

systemctl start mysqld.service #啟動 mysql

systemctl restart mysqld.service #重啟 mysql

systemctl stop mysqld.service #停止 mysql

systemctl enable mysqld.service #設定 mysql 開機啟動

mysql
use mysql
delete from user
update user set Password=password("admin") where User='root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
flush privileges

8、下載第三方依賴包
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

 

第二部分:搭建cm+cdh

1、ClouderaManager安裝
1.1、安裝Cloudera Manager Server、Agent
mkdir /opt/cloudera-manager
tar -zxf cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz  -C /opt/cloudera-manager/

1.2、配置CM Agent
修改檔案vim /opt/cloudera-manager/cm-5.16.1/etc/cloudera-scm-agent/config.ini中server_host為node1

1.3、建立使用者cloudera-scm
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

1.4、配置CM Server資料庫(node1)
mkdir /usr/share/java/
拷貝mysql jar檔案到目錄 /usr/share/java/
注意jar包名稱要修改為mysql-connector-java.jar
grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
cd /opt/cloudera-manager/cm-5.16.1/share/cmf/schema/
./scm_prepare_database.sh mysql temp -h node1 -utemp -ptemp --scm-host node1 scm scm scm
格式:資料庫型別、資料庫、資料庫伺服器、使用者名稱、密碼、cm server伺服器

1.5、建立Parcel目錄
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

1.6、製作CDH本地源
下載好檔案CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,將這兩個檔案放到server節點的/opt/cloudera/parcel-repo下。
開啟manifest.json檔案,裡面是json格式的配置,找到與下載版本相對應的hash碼,新建檔案,檔名與你的parel包名一致,並加上.sha字尾,將hash碼複製到檔案中儲存。

1.7、啟動CM Server、Agent
cd /opt/cloudera-manager/cm-5.16.1/etc/init.d/
./cloudera-scm-server start Sever 
首次啟動會自動建立表以及資料,不要立即關閉或重啟,否則需要刪除所有表及資料重新安裝
檢視啟動是否完成
cd /opt/cloudera-manager/cm-5.16.1/log/cloudera-scm-server
tail -f cloudera-scm-server.log

啟動完成後

訪問:http://note1的ip:7180
預設使用者名稱與密碼:admin/admin