筆者須要維護線上的hadoop集羣環境,考慮在本地搭建一套相似的hadoop集羣,便於維護與管理。html
通過搜索發現Cloudera產品很適合筆者當前需求,因而開始研究Cloudera(CDH)的安裝與使用,參考:java
CDH是Apache Hadoop和相關項目的最完整,通過測試的流行發行版。 CDH提供了Hadoop的核心元素 - 可擴展的存儲和分佈式計算 - 以及基於Web的用戶界面和重要的企業功能。 CDH是Apache許可的開放源碼,是惟一提供統一批處理,交互式SQL和交互式搜索以及基於角色的訪問控制的Hadoop解決方案。node
Cloudera做爲一個強大的商業版數據中心管理工具,提供了各類可以快速穩定運行的數據計算框架,如Apache Spark;使用Apache Impala作爲對HDFS,HBase的高性能SQL查詢引擎;也帶了Hive數據倉庫工具幫助用戶分析數據; 用戶也能用Cloudera管理安裝HBase分佈式列式NoSQL數據庫;Cloudera還包含了原生的Hadoop搜索引擎以及Cloudera Navigator Optimizer去對Hadoop上的計算任務進行一個可視化的協調優化,提升運行效率;同時Cloudera中提供的各類組件能讓用戶在一個可視化的UI界面中方便地管理,配置和監控Hadoop以及其它全部相關組件,並有必定的容錯容災處理;Cloudera做爲一個普遍使用的商業版數據中心管理工具更是對數據的安全決不妥協!python
CDH 提供:mysql
上述描述來自:https://www.cloudera.com/docu...linux
Cloudera Manager能夠輕鬆管理任何生產規模的Hadoop部署。經過直觀的用戶界面快速部署,配置和監控羣集 - 完成滾動升級,備份和災難恢復以及可定製警報。 Cloudera Manager做爲Cloudera Enterprise的集成和支持部分提供。sql
Cloudera Manager Server與其餘幾個組件一塊兒工做:瀏覽器
客戶端 - 是與服務器交互的接口:安全
系統環境:CentOS6.9
軟件環境:Oracle JDK、Cloudera Manager Server 和 Agent 、數據庫、CDH各組件
# 關閉iptables、禁用selinux /etc/init.d/iptables stop && chkconfig iptables off sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0 # 每臺服務器之間設置免密認證 # CM 192.168.1.137 cdh.master.aniu.so master 192.168.1.148 cdh.node1.aniu.so node1 192.168.1.149 cdh.node2.aniu.so node2 192.168.1.150 cdh.node3.aniu.so node3 ## 注:在每臺服務器配置hosts,master和node1/2/3表明服務器的主機名 # 設置swap參數 echo never > /sys/kernel/mm/transparent_hugepage/defrag #建議寫到開啓啓動新裏 sysctl -w vm.swappiness=0 # 建議寫進sysctl.conf # 設置ntp同步服務器時間 */2 * * * * /usr/sbin/ntpdate 0.cn.pool.ntp.org >> /dev/null 2>&1
Cloudera安裝步驟
參考:https://www.cloudera.com/docu...
[Java SE 8 Downloads](http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html) export JAVA_HOME=/usr/java/jdk.1.8.0_nn # java -version java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) # 注 此處不用安裝JDK,由於CM源有封裝好的jdk,
# 使用mysql數據庫,提早安裝好mysql # mysql -u root -ppassword -e "create database cmf DEFAULT CHARACTER SET utf8;" # mysql -u root -ppassword -e "GRANT ALL PRIVILEGES ON `cmf`.* TO 'cmf'@'localhost' IDENTIFIED BY 'cmfpassword'";"
# 配置cloudera-cdh源和cloudera-manager源 # cloudera-manager wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/cloudera-manager.repo # cloudera-cdh wget https://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/cloudera-cdh5.repo # 安裝jdk和cloudera-manager sudo yum install oracle-j2sdk1.7 -y sudo yum install cloudera-manager-daemons cloudera-manager-server -y
# /etc/init.d/cloudera-scm-server restart Stopping cloudera-scm-server: [ OK ] Starting cloudera-scm-server: [ OK ] # 查看日誌是否有報錯,根據報錯修改,而後再從新啓動 tailf /var/log/cloudera-scm-server/cloudera-scm-server.log
瀏覽器訪問:http://192.168.1.137:7180,用戶名密碼:admin admin
# 參考:https://www.cloudera.com/documentation/enterprise/latest/topics/install_cm_mariadb.html # hive hue amon man nas navms oos create database metastore DEFAULT CHARACTER SET utf8; grant all on metastore.* TO 'hive'@'%' IDENTIFIED BY 'Aniuhive123.'; create database amon DEFAULT CHARACTER SET utf8; grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'Aniuamon123.'; create database hue DEFAULT CHARACTER SET utf8; grant all on hue.* TO 'hue'@'%' IDENTIFIED BY 'Aniuhue123.'; create database rman DEFAULT CHARACTER SET utf8; grant all on rman.* TO 'rman'@'%' IDENTIFIED BY 'Aniurman123.'; create database navms DEFAULT CHARACTER SET utf8; grant all on navms.* TO 'navms'@'%' IDENTIFIED BY 'Aniunavms123.'; create database nas DEFAULT CHARACTER SET utf8; grant all on nas.* TO 'nas'@'%' IDENTIFIED BY 'Aniunas123.'; create database oos DEFAULT CHARACTER SET utf8; grant all on oos.* TO 'oos'@'%' IDENTIFIED BY 'Aniuoos123.';
系統自帶的python不能升級,升級會致使安裝CM agent出問題
# 筆者前期系統初始化部分不少操做都不完善,卸載重裝CM步驟 # 安裝CDH manager的服務器上面執行 yum remove cloudera-manager-server -y # 在全部的服務器執行下面操做 /etc/init.d/cloudera-scm-agent stop yum remove cloudera-manager-agennt-y find / -name clouder* | xargs rm -rf find / -name cmf* | xargs rm -rf # 把使用yum下載的相關包卸載乾淨。而後經過CDH manager 管理界面安裝