CDH搭建Hadoop集羣(Centos7)

1、說明 

節點(CentOS7.5) Server  || Agent CPU
node11 Server  || Agent 4G
node12 Agent 2G
node13 Agent 2G

2、系統環境搭建

一、網絡配置(全部節點)

1.設置主機名和IPjava

2.配置/etc/hosts  IP和主機名的映射  node

二、SSH免密碼登陸

1.產生公鑰和私鑰:ssh-keygen -t rsa (一直回車直便可)mysql

2.將公鑰分發給全部節點(包括本機):  ssh-copy-id -i 主機名linux

3.測試ssh訪問:    ssh root@主機名sql

三、關閉防火牆

1.關閉防火牆:systemctl stop firewalldshell

2.防止開機自啓:systemctl disable firewalld數據庫

3.查看狀態:firewall-cmd --statevim

四、關閉SELINUX

1.編輯  vi /etc/selinux/configcentos

2.將SELINUX設置爲:SELINUX=disabled瀏覽器

[root@node11~]# sestatus -v

SELinux status: disabled 表示已經關閉了

五、安裝JDK

1.查看安裝的Java信息:

rpm -qa | grep java

2.卸載自帶open jdk

rpm -e --nodeps 包名

3.建立/usr/java目錄,並上傳包到此目錄下,而後將rpm包解壓到此目錄下

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

4.配置環境變量

vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_191

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

5.使配置後的環境變量生效

source /etc/profile

6.查看是否安裝成功

java -version

六、設置NTP

[root@node11~]#yum -y install ntp 更改master的節點

[root@node11~]## vi /etc/ntp.conf 註釋掉全部server *.*.*的指向,新添加一條可鏈接的ntp服務器(我選的本公司的ntp測試服務器)

server 172.30.0.19 iburst 在其餘節點上把ntp指向master服務器地址便可(/etc/ntp.conf下) server node11 iburst

[root@node11~]## systemctl start ntpd //啓動ntp服務

[root@node11~]## systemctl status ntpd //查看ntp服務狀態

七、安裝配置MySql

(主節點安裝便可--這裏將node11做爲主節點)

1.卸載mariadb

rpm -qa|grep mariadb

rpm -e --nodeps mariadb的包名

 

2.上傳MySQL包到自建目錄:/opt/software

3.安裝MySQL

# groupadd mysql # useradd -r -g mysql -s /sbin/nologin mysql # cd /usr/local/ # tar zxvf /root/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz # ln -s mysql-5.7.21-linux-glibc2.12-x86_64/ mysql # cd mysql # mkdir mysql-files # chown -R mysql.mysql . # bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # cp -rf /etc/my.cnf /etc/my.cnf.old # vim /etc/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data skip-grant-tables 

啓動mysql

# bin/mysqld_safe --user=mysql &
# cp support-files/mysql.server /etc/init.d/mysql # chmod a+x /etc/init.d/mysql # chkconfig --add mysql # chkconfig mysql on # service mysql start

設置root的密碼

mysql> use mysql; mysql> update user set authentication_string=PASSWORD('123456') where User='root'; mysql> alter user root@'localhost' identified by '123456'; //修改密碼

從新初始化

# killall mysqld # rm -rf /usr/local/mysql/data/ # chown -R mysql.mysql /usr/local/mysql # bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # bin/mysql_ssl_rsa_setup # service mysqld restart

受權root用戶使用密碼從任意主機鏈接到mysql服務器

GRANT ALL PRIVILEGES ON *.* TO 'ROOT'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;

flush privileges; 

3、Cloudera Manager Server&Agent安裝 

CM安裝包下載地址:   https://archive.cloudera.com/cm5/cm/5/

CDH安裝包下載地址:  http://archive.cloudera.com/cdh5/parcels/5.15.0/

一、安裝Cloudera Manager Server&Agent

上傳到/home/tools下 (三臺機器都要安裝)    tar xvzf cloudera-manager-centos7-cm5.15.0_x86_64.tar.gz  -C /opt

二、配置CM Agent

1.cm的安裝包的serveragent都是同一個包,啓動的時候啓動命令指定爲server仍是agent

2.cm有一個工做目錄,須要咱們來建立;建立一個用戶;修改agent的配置,給它指定server的位置;那個端口7182serveragent通訊的端口;

3.server_host配置爲server的名字;

vi   /opt/cm-5.15.0/etc/cloudera-scm-agent/config.ini   中 server_host(三臺機器)

三、建立用戶cloudera-scm(全部節點)

  useradd --system --home=/opt/cm-5.15.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

四、建立Parcel目錄

建立parcel目錄,這個目錄是serveragent用來接收和發送數據的目錄,server端的parcel-repo這個目錄會把全部的安裝文件所有下載到此目錄,而agent也須要安裝包,parcels就是用來存儲指定的安裝包的,固然須要有權限能操做這些目錄;

Server節點

  mkdir -p /opt/cloudera/parcel-repo

  chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

Agent節點

 mkdir -p /opt/cloudera/parcels

 chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

把CDH安裝包移到cloudera/parcel-repo下面,並修改其中後綴爲sha1的文件爲sha,以下

五、配置CM Server的數據庫

cp mysql-connector-java.jar /opt/cm-5.15.0/share/cmf/lib/                 注意jar包名稱要修改成mysql-connector-java.jar

mysql -u root -p123456
use mysql;
grant all on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;­
初始化cm數據庫:   cd /opt/cm-5.15.0/share/cmf/schema/
 ./scm_prepare_database.sh mysql cm -h node11 -uroot -p123456 --scm-host node11 scm scm scm  
格式:數據庫類型、數據庫、數據庫服務器、用戶名、密碼、cm server服務器 

建立其餘組件須要的數據庫

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

六、啓動CM Manager&Agent服務

先確保啓動了mysql  service mysqld start

node11:執行    /opt/cm-5.15.0/etc/init.d/cloudera-scm-server start

node11,12,13:   執行  /opt/cm-5.15.0/etc/init.d/cloudera-scm-agent start 

service服務啓動須要幾分鐘,取決於服務器的性能,此時咱們可使用

netstat -apn|grep 7180

 查詢端口被佔用後,就能夠用瀏覽器打開http://node11:7180/進行訪問了,登陸用戶名與密碼分別爲admin。

七、Server&Agent開機自啓動服務

將/opt/cm-5.15.0/etc/init.d/目錄下的cloudera-scm-server服務器啓動腳本和cloudera-scm-agent代理服務啓動腳本複製到/etc/init.d/目錄下面。(/etc/init.d/目錄用於存放開機啓動腳本的目錄)

//配置server主節點node11
[root@node11 ~]# cp /opt/cm-5.15.0/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server
[root@node11 ~]# chkconfig --add cloudera-scm-server
[root@node11 ~]# chkconfig cloudera-scm-server on 
[root@node11 ~]# vi /etc/init.d/cloudera-scm-server 
CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default} 修改成 CMF_DEFAULTS=${CMF_DEFAULTS:-/opt/cm-5.15.0/etc/default}  #你的cloudera manager安裝目錄,而後保存退出便可。
添加:export JAVA_HOME=/usr/local/java/jdk1.8           #你的java安裝目錄
[root@node11 ~]# chkconfig --list cloudera-scm-server  //而後查看狀態,若是2-5顯示開啓表示配置成功。
[root@node11 ~]# service cloudera-scm-server start & systemctl start cloudera-scm-server.service
//配置agent全部節點,node11,node12,node13 [root@node11 ~]# cp /opt/cm-5.15.0/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent [root@node11 ~]# chkconfig --add cloudera-scm-agent [root@node11 ~]# chkconfig cloudera-scm-agent on [root@node11 ~]# vi /etc/init.d/cloudera-scm-agent CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default} 修改成 CMF_DEFAULTS=${CMF_DEFAULTS:-/opt/cm-5.15.0/etc/default} 添加:export JAVA_HOME=/usr/local/java/jdk1.8 #你的java安裝目錄 [root@node11 ~]# service cloudera-scm-agent start & systemctl start cloudera-scm-agent.service

4、CDH5安裝 

 下一步,選擇免費版本

繼續,下一步,直到以下界面,能夠在當前管理的主機列表中看到對應的節點。選擇要安裝的節點,這裏我選擇所有節點,繼續。

選擇本身下載的CDH版本,點擊繼續

接下來是安裝Parcel,服務器檢查,

更改交換空間:  

echo 10 > /proc/sys/vm/swappiness

以下禁用此設置,而後將同一命令添加到 /etc/rc.local 等初始化腳本中,以便在系統重啓時予以設置。如下主機將受到影響: 

echo never > /sys/kernel/mm/transparent_hugepage/defrag

echo never > /sys/kernel/mm/transparent_hugepage/enabled

從新運行檢測,

所有完成,點擊完成,這裏選擇自定義安裝

服務配置,通常狀況下保持默認就能夠了,也能夠本身手動根據節點狀況進行分配,點擊繼續

測試以下數據庫鏈接

這裏啓動hive報錯找不到mysql鏈接驅動包,靠備一份  mysql-connector-java.jar   到    /opt/cloudera/parcels/CDH-5.15.0-1.cdh5.15.0.p0.21/lib/hive/lib/下面

點擊繼續,默認集羣設置,直到安裝成功. 

5、安裝過程當中報錯

相關文章
相關標籤/搜索