CDH大数据平台搭建
Hadoop是apache旗下的一套開源軟件平臺, 主要對海量數據進行分布式處理。
本次部署,計劃使用5臺服務器,服務器磁盤規劃如下:
分區掛載完成以后,使用root用戶執行對目錄/data授權。每臺服務器都執行此命令。
chmod 777 -R /data
一、基礎運行平臺部署包說明
平臺大數據部署包共提供cm5,cdh,Redhat三個程序部署包。其中cm5為管理控制臺,是必裝包;cdh為基礎運行平臺的主程序包,是 必裝包;Redhat為linux系統操作精裝版。
二、創建組與用戶(每臺服務器都需要操作)
三、服務器hostname配置
1、每一臺服務器均需使用root用戶執行下列命令,根據不同節點分配不同機器名,修改機器名相關配置。hostnamectl set-hostname master1-vsp.com2、Hostname配置完成之后,在每臺機器使用root用戶執行如下命令檢查配置是否成功(以子節點2為例)hostname3、每一臺服務器均需執行下列操作,修改系統的IP地址ifconfig4、使用root用戶編輯enovi /etc/sysconfig/network-scripts/ifcfg-enp0s35、將下面的內容編輯到ifcfg-enp0s3文件中,原文件中有的則更改,沒有的則添加,其中IP地址、子網掩碼以及網關則需要更改實際情況編寫。NETMASK=255.255.255.0IPADDR=172.16.100.4GATEWAY=172.16.100.254ONBOOT=yes(修改系統文件里面已有的)BOOTPROTO=static(網卡內容存在此變量,將=號右邊的內容改為此內容即可)6、重啟網卡/etc/rc.d/init.d/network restart 7、每一臺服務器均需執行下列5條操作命令,將服務器的IP與服務器名稱進行關聯。echo 192.168.43.36 master1-vsp.com>> /etc/hostsecho 192.168.43.34 slave1-vsp.com>> /etc/hostsecho 192.168.43.35 slave2-vsp.com>> /etc/hosts8、執行完成之后通過cat /etc/hosts命令查看是否執行成功。cat /etc/hosts9、重新啟動計算機reboot四、配置系統參數(每臺服務器都需要操作)
1、修改swappiness,建議將/proc/sys/vm/swappiness設置為0,默認值為60sysctl vm.swappiness=0echo vm.swappiness=0 >> /etc/sysctl.conf2、執行如下命令以在重啟后保存上條命令設置結果,該設置重啟后不會丟失,執行如下命令:cat >> /etc/sysctl.conf <<EOFvm.swappiness = 10EOF3、修改transparent_hugepage,使用root用戶執行以下命令可立即生效echo never >/sys/kernel/mm/transparent_hugepage/defrag4、使用root用戶執行如下命令可永久生效echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >>/etc/rc.local 5、執行下面命令驗證上面的永久生效命令是否執行成功,cat /etc/rc.local6、關閉防火墻#停止firewallsystemctl stop firewalld.service#禁止firewall開機啟動systemctl disable firewalld.service #查看默認防火墻狀態(關閉后顯示notrunning,開啟后顯示running)firewall-cmd --state7、關閉selinux 使用root用戶執行如下命令:setenforce 0sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinuxsed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config五、安裝軟件源服務
1、上傳文件(只在master1-vsp.com服務器上執行該操作)使用root用戶登錄到master1-vsp.com服務器上,并通過xftp工具將redhat(將系統鏡像文件解壓后里面的所有文件都拷貝到這里面)、CDH、cm5、mysql-package以及jdk文件夾上傳到master1-vsp.com服務器的/var/www/html/目錄下。 2、有可能/var/www/html/目錄不存在,如果不存在請先創建該文件夾,創建文件件命令如下:mkdir -p /var/www/html3、建立臨時web服務(只在master1-vsp.com服務器上執行該操作)使用root用戶執行service httpd status命令,如果出現Loaded: not-found (Reason: No such file or directory)相關字樣則表示該操作系統沒有http服務service httpd status4、以root用戶執行以下命令cd /var/www/html/python -m SimpleHTTPServer 80 &5、通過瀏覽器訪問 http://192.168.43.36/地址,如果顯示下面的界面,則表示已經建立了一個臨時的web服務器。6、配置yum地址(該步驟需要在每臺機器上執行)使用root用戶執行ll /etc/yum.repos.d/命令,查看系統原有的軟件源配置文件,ll /etc/yum.repos.d/7、通過mv命令將原有的配置文件進行重命名mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backmv /etc/yum.repos.d/CentOS-Debuginfo.repo /etc/yum.repos.d/CentOS-Debuginfo.repo.backmv /etc/yum.repos.d/CentOS-Media.repo /etc/yum.repos.d/CentOS-Media.repo.backmv /etc/yum.repos.d/CentOS-Vault.repo /etc/yum.repos.d/CentOS-Vault.repo.back8、再次執行ll /etc/yum.repos.d/命令查看一下原有的配置文件是否都已經更名了,如果沒有則文件再次更名。9、配置軟件源(該步驟需要在每臺機器上執行)使用root用戶執行echo命令,在/etc/yum.repos.d/目錄創建名稱為os.repo文件。echo [base] >> /etc/yum.repos.d/os.repoecho name=redhat-7.2 Base >> /etc/yum.repos.d/os.repoecho baseurl = http://master1-vsp.com/redhat/>> /etc/yum.repos.d/os.repoecho gpgcheck = 0 >> /etc/yum.repos.d/os.repo10、通過cat /etc/yum.repos.d/os.repo命令查看文件是否正確創建并且正確寫入了對應的文字cat /etc/yum.repos.d/os.repo使用root用戶執行yum clean all命令清理軟件源yum clean all11、安裝Web服務器(只在master1-vsp.com服務器上執行該操作)使用root用戶執行yum install httpd命令安裝http服務yum install httpd12、啟動http服務(只在master1-vsp.com服務器上執行該操作)ps -ef|grep python chkconfig httpd on13、執行上面的命令后找到端口號為80,進程名稱為SimpleHTTPServer的進程號,并執行kill命令,殺死該進程kill -9 1228014、使用root用戶執行下面命令啟動web服務器,并將之設置為自動啟動。systemctl start httpd systemctl enable httpd.service六、安裝基礎服務
1、建立root用戶之間的互信,創建密鑰(每臺服務器都需要操作)cd ~ssh-keygen -t rsa2、創建共享文件(只在master1-vsp.com服務器上執行該操作)cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys 3、將共享文件復制到其他4臺機器上scp ~/.ssh/authorized_keys root@slave1-vsp.com:~/.ssh/scp ~/.ssh/authorized_keys root@slave2-vsp.com:~/.ssh/ 4、確認能夠互相免密碼登錄(master1-vsp.com服務器上執行該操作)使用root用戶,通過ssh命令直接登錄到其他4臺服務器上。ssh slave1-vsp.comssh slave2-vsp.com 5、配置服務器之間的時鐘同步使用root用戶通過date命令查詢該服務器的時區date如果不含CST字符,則將時區更改為正常的中國時區,用root用戶執行ln命令ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime6、安裝ntp服務(每臺服務器都需要操作) 用root用戶執行下面的命令,安裝ntp服務。yum install ntp7、配置ntp服務(只在master1-vsp.com服務器上執行該操作)使用root用戶編輯/etc/ntp.conf文件vi /etc/ntp.conf8、注釋掉網絡服務器地址,并在其后添加server 127.127.1.0 iburst local clock;并且在#restrict的下一行添加restrict 0.0.0.0 mask 0.0.0.0 nomodify。9、使用root用戶執行下面的命令,因為chronyd與ntpd沖突systemctl disable chronyd10、使用root用戶執行下面的命令,啟動ntp服務。systemctl start ntpd.service systemctl enable ntpd 11、使用root用戶執行ntpdc -np命令,檢查ntp狀態ntpdc -np12、配置ntp客戶機(在其他4臺[非master1-vsp.com]服務器上執行該操作)使用root用戶編輯/etc/ntp.conf文件vi /etc/ntp.conf13、注釋掉網絡服務器地址,并在其后添加server 192.168.43.36 iburst。注192.168.0.36 為ntp服務器的ip地址。14、使用root用戶執行下面的命令,因為chronyd與ntpd沖突systemctl disable chronyd15、使用root用戶執行下面的命令,啟動ntp服務systemctl start ntpd.service systemctl enable ntpd16、使用root用戶執行ntpdc -np命令,檢查ntp狀態ntpdc -np使用命令手動同步一次時間ntpdate -u master1-vsp.com七、安裝Mysql
1、檢查mariadb數據,(只在master1-vsp.com服務器上執行該操作)rpm -qa | grep mariadb2、如果查詢到數據,即下圖所示,則通過rpm -e --nodeps mariadb-libs-5.5.44-2.el7.x86_64 命令卸載該數據庫rpm -e --nodeps mariadb-libs-5.5.44-2.el7.x86_643、安裝MySql數據庫使用root用戶通過tar -zxvf MySQL-5.5.44-1.linux2.6.x86_64.rpm-bundle.tar命令解壓MySQL-5.5.44-1.linux2.6.x86_64.rpm-bundle.tar文件cd /var/www/html/mysql-packagetar -xvf MySQL-5.5.44-1.linux2.6.x86_64.rpm-bundle.tar4、使用root用戶執行下面的命令安裝MySql-server數據庫rpm -ivh MySQL-server-5.5.44-1.linux2.6.x86_64.rpm5、啟動MySql-server服務service mysql start6、使用root用戶執行下面的命令安裝MySql-client數據庫rpm -ivh MySQL-client-5.5.44-1.linux2.6.x86_64.rpm7、使用root用戶執行下面的命令檢查MySql數據庫的運行狀態service mysql status使用root用戶執行下面的命令設置MySql自啟動chkconfig mysql on使用root用戶執行下面的命令查看MySql服務,結果中2、3、4、5必須為開chkconfig --list |grep mysql8、修改root用戶的密碼,2條命令一起執行/usr/bin/mysqladmin -u root password 'vsp@admin'/usr/bin/mysqladmin -u root -h master1-vsp.com password 'vsp@admin'9、使用root用戶登錄mysql -u root -pvsp@admin10、創建mysql數據庫執行下面的sql語句,創建4個數據庫hive、scm和oozie 、sentry,創建用戶hadoop并授權。密碼默認為vsp@admincreate database hive default charset utf8 collate utf8_general_ci;create database scm default charset utf8 collate utf8_general_ci;create database sentry default charset utf8 collate utf8_general_ci;create database oozie default charset utf8 collate utf8_general_ci;CREATE USER 'hadoop'@'%' IDENTIFIED BY 'vsp@admin';CREATE USER 'hadoop'@'localhost' IDENTIFIED BY 'vsp@admin';GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'%' IDENTIFIED BY 'vsp@admin'; GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'localhost' IDENTIFIED BY 'vsp@admin';GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'master1-vsp.com' IDENTIFIED BY 'vsp@admin';grant all privileges on *.* to 'root'@'master1-vsp.com' identified by 'vsp@admin' with grant option;flush privileges;11、執行下面的sql語句,檢查用戶是否創建成功select user,host,password from mysql.user;八、安裝cm服務
1、卸載openjdk(每臺服務器都需要操作)redhat操作系統可能會自帶openjdk,在安裝CM服務之前需要將其卸載。使用rpm -qa | grep java命令查看系統是否安裝了openjdk。rpm -qa | grep java2、系統中安裝了其他版本的jdk,此時通過命令rpm -e --nodeps packageName,將其他的jdk卸載。rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64 java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64 java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64 tzdata-java-2015g-1.el7.noarch javapackages-tools-3.4.1-11.el7.noarch java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64 3、安裝oracle jdk1.7(每臺服務器都需要操作)使用root用戶創建softs目錄mkdir /softs4、使用root用戶將基礎軟件\jdk\下面的jdk-7u80-linux-x64.rpm文件上傳到redhat操作系統/softs目錄下,然后執行rpm -ivh jdk-7u80-linux-x64.rpm命令安裝jdk。rpm -ivh /softs/jdk-7u80-linux-x64.rpm5、使用下面的命令查看剛剛安裝的jdk目錄cd /usr/java/ll6、配置java系統環境變量,使用vi編輯器編輯/etc/profile文件,在該文件末尾添加下列表格內容export JAVA_HOME=/usr/java/jdk1.7.0_80export JRE_HOME=/usr/java/jdk1.7.0_80/jreexport LD_LIBRARY_PATH=/usr/local/bin:/usr/local/lib:/usr/lib:/home/hadoop/hadoop-2.3.0-cdh5.1.2/lib/nativeexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$LD_LIBRARY_PATH:$PATH 7、使用source /etc/profile命令使得環境變量立即生效source /etc/profile8、使用java -version命令查詢java版本java -version9、安裝cm服務(只在master1-vsp.com服務器上執行該操作)使用tar命令將文件進行解壓 ,命令中的文件名是正確的,不要更改。tar -zxvf /var/www/html/cm5/cloudera-manager-centos7-cm5.7.0_x86_64.tar.gz -C /opt/chmod 777 -R /opt/cm-5.7.0 10、使用cp命令將mysql-connector-java-5.1.40-bin.jar文件復制到/opt/cm-5.7.0/share/cmf/lib/cp /var/www/html/cm5/mysql-connector-java-5.1.40-bin.jar /opt/cm-5.7.0/share/cmf/lib/chmod 777 /opt/cm-5.7.0/share/cmf/lib/mysql-connector-java-5.1.40-bin.jar 11、使用命令配置cm使用的元數據庫,如果機器名、用戶名密碼不是按照本文前面部分規劃,請根據實際情況修改/opt/cm-5.7.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hmaster1-vsp.com -uroot -pvsp@admin --scm-host master1-vsp.com scm scm scm12、通過vi命令修改/opt/cm-5.7.0/etc/cloudera-scm-agent/config.ini中的server_host為主節點的主機名master1-vsp.com。vi /opt/cm-5.7.0/etc/cloudera-scm-agent/config.ini13、一條一條執行如下命令,即可以將agent同步到其他4臺服務器上。scp -r /opt/cm-5.7.0 root@slave1-vsp.com:/opt/scp -r /opt/cm-5.7.0 root@slave2-vsp.com:/opt/14、在master1-vsp.com服務器上為server創建cloudera-scm用戶useradd --system --home=/opt/cm-5.7.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scmchown cloudera-scm:cloudera-scm -R /opt/cm-5.7.0 15、在所有服務器上為agent創建cloudera-scm用戶,不創建起不來agent,報unable to create the pidfile;useradd --system --home=/opt/cm-5.7.0/run/cloudera-scm-agent/ --create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scmchown cloudera-scm:cloudera-scm -R /opt/cm-5.7.0 16、使用root在所有節點機器上執行下面這條命令 !!!chmod 777 -R /opt/cm-5.7.017、在master1-vsp.com服務器上執行命令啟動server以及agent服務/opt/cm-5.7.0/etc/init.d/cloudera-scm-server start/opt/cm-5.7.0/etc/init.d/cloudera-scm-agent start 18、在其他4臺服務器上執行命令啟動agent服務/opt/cm-5.7.0/etc/init.d/cloudera-scm-agent start九、安裝CDH5
1、打開瀏覽器并輸入Cloudera Manager控制臺地址,(如:http://master1-vsp.com:7180/)默認賬號密碼admin/admin1、
2、選擇免費版本(cloudera express),繼續
3、點擊當前管理的主機,勾選集群中的所有的機器,選擇繼續
會彈出如下界面,點擊使用parcel,再點擊更多選項:
會彈出如下對話框:
點擊右邊的減號,全部刪除
點擊加號,添加parcel庫,把以下一個庫全部加入parcel,http://master1-vsp.com/CDH/5.7.0,如下圖:
點擊保存,會彈出如下界面,繼續
4、選擇自定義服務
選擇HBase、HDFS、YARN(MR2 Included)以及ZooKeeper服務后點擊繼續
繼續
Datanode目錄,一般是根據子節點的分區情況填寫;
Namenode目錄一般是根據主節點的分區情況填寫
繼續
完成
總結
以上是生活随笔為你收集整理的CDH大数据平台搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RabbitMQ(1) - win+ra
- 下一篇: linux单线程处理多个请求,redis