CDH環境搭建(一)

一、架構
              
       一共三臺虛擬機:cdh1~cdh3。
      其中Server部署在cdh1上,MySQL同樣部署在cdh1上(因此cdh1的內存要大一些,其它兩臺主機的內存可稍小一點,筆者的內存配置是:6G、1G、1G)。IP分配如下:
       cdh1:192.168.111.201
       cdh2:192.168.111.202
       cdh3:192.168.111.203
版本信息:
      系統版本:CentOS 6.5
      JDK版本:   jdk-7u67-linux-x64.rpm
      CM版本:   cloudera-manager-el6-cm5.4.3_x86_64.tar.gz
      CDH版本: CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel
      MySQL版本: 5.6
需準備的安裝包列表:
      1、CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel
      2、CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha
      3、manifest.json
      4、cloudera-manager-el6-cm5.4.3_x86_64.tar.gz
      5、mysql-connector-java-5.1.26-bin.jar
      6、jdk-7u67-linux-x64.rpm
其中, 1、2、3 CDH安裝包,4是Cloudera Manager的安裝包,5是mysql相關的jar包,用於CDH連接MySQL,6是JDK的安裝包。

二、準備工作
1、網絡配置(cdh1~cdh3):
     (a) vi /etc/sysconfig/network  分別修改chd1~cdh3的hostname
NETWORKING=yes
HOSTNAME=cdh1  
    (b) vi /etc/hosts  (cdh1~cdh3)     修改IP與主機名的對應關係,對三臺主機分別添加如下配置
192.168.111.201 cdh1
192.168.111.202 cdh2
192.168.111.203 cdh3
2、免密鑰配置(cdh1~cdh3):
      三臺主機,兩兩之間互做免密鑰配置。具體配置方法如下:
在cdh1執行
1、ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa    
2、ssh-copy-id cdh2    
3、ssh-copy-id cdh3
同樣,在cdh2、cdh3上執行類似操作。
3、關閉防火牆(cdh1~cdh3):
service iptables stop
chkconfig iptables off
4、關閉selinux (cdh1~cdh3):
vi /etc/selinux/config
將SELINUX的值設置爲 disabled
5、安裝jdk(cdh1~cdh3)
rpm -ivh jdk-7u67-linux-x64.rpm
安裝完成後,修改環境變量
vi /etc/profile
在末尾添加兩行配置:
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
保存退出!
source /etc/profile ,刷新。
6、安裝ntp服務,時間同步(cdh1~cdh3)
yum install -y ntp
安裝成功後,設置爲開機啓動,並進行時間同步:
chkconfig ntpd on
ntpdate -u ntp1.aliyun.com
7、在cdh1安裝MySQL、配置相關信息。
     此處需特別注意:
           (a) CDH 5.1版本及更新的版本匹配的MySQL版本是MySQL 5.6 , 故此處選取MySQL 5.6進行安裝。
           (b) 使用yum安裝MySQL ,默認版本是5.1 , 要安裝指定版本的MySQL,請參考筆者另一篇帖子:Linux yum安裝指定版本的MySQL
      MySQL安裝完畢後,啓動mysql服務,並設置成開機啓動
[root@cdh1 files]# service mysqld start

[root@cdh1 files]# chkconfig mysqld on
       進入MySQL命令行,進行如下配置:
mysql>use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql>delete from user where host != '%' ;
Query OK, 6 rows affected (0.00 sec)
mysql>flush privileges;
Query OK, 0 rows affected (0.00 sec)
8、安裝第三方依賴包(cdh1~cdh3)
yum install chkconfig  python bind-utils psmisc libxslt  zlib  sqlite cyrus-sasl-plain  cyrus-sasl-gssapi  fuse  fuse-libs  redhat-lsb -y
至此,準備工作完畢。
三、安裝Cloudera Manager
1、安裝Cloudera Manager Server、Agent (cdh1~cdh3)
     上傳Cloudera Manager的安裝包,創建新目錄,將安裝包解壓到新目錄中
mkdir /opt/cloudera-manager               #注意此目錄是CM默認的目錄。可以在後續的web中修改。
tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
2、創建用戶 cloudera-scm(cdh1~cdh3)
useradd --system --no-create-home --shell=/bin/false --comment="Cloudera SCM User" cloudera-scm
3、配置CM Agent(cdh1~cdh3)
     修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中
server_host以及server_port。
     server_host 的值設置爲 cdh1 , server_port保持默認的7182不變
4、配置CM Server數據庫(在cdh1上操作)
     (a) 將mysql的jar包(mysql-connector-java-5.1.26-bin.jar) 拷貝至目錄/usr/share/java/。該目錄爲CM默認的讀取路徑,若不存在,則需要手動創建。
     (b) jar包的名稱要修改爲 mysql-connector-java.jar , 該名稱也是CM默認讀取的名稱。
     (c) 進入MySQL命令行模式,創建臨時用戶temp
[root@cdh1 ~]#mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 429
Server version: 5.6.39 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
mysql>flush privileges;
      (d) 退出MySQL命令行模式,重新回到Linux中,執行如下命令進行數據庫初始化:
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
./scm_prepare_database.sh mysql temp -h cdh1 -utemp -ptemp --scm-host cdh1 scm scm scm
上述腳本後面所跟參數的含義:
mysql        數據庫類型
temp         數據庫實例名
-h cdh1     數據庫服務器的主機名 或 IP
-utemp -ptemp   數據庫登錄用戶名、密碼
--scm-host cdh1     cm server服務器
scm scm scm           固定寫法,用途暫時不明
5、創建Parcel目錄
     Server節點(cdh1):
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
     Agent節點(cdh1~cdh3):
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
      注意:此處涉及到的幾個目錄,都是CDH默認讀取的目錄。CDH安裝成功之後,可以在Web控制端進行修改,但此處需要使用默路徑。
6、製作CDH本地源
      將下面三個文件拷貝至Server節點(cdh1)的/opt/cloudera/parcel-repo下:
      CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel
      CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha
      manifest.json
7、 啓動CM Server、 Agent
      啓動腳本都在目錄/opt/cloudera-manager/cm-5.4.3/etc/init.d/下,進入此目錄
      (a) 在cdh1節點啓動 Server
./cloudera-scm-server start
– Sever首次啓動會自動創建表以及數據,不要立即關閉或重啓,否則需要刪除所有表及數據重新安裝
      (b) 在cdh1~cdh3 上啓動Agent
./cloudera-scm-agent start
      Server的啓動日誌是:/opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server/cloudera-scm-server.log。出現如下提示,說明CM啓動成功:
2018-01-31 20:05:35,066 INFO WebServerImpl:org.mortbay.log: jetty-6.1.26.cloudera.4
2018-01-31 20:05:35,067 INFO WebServerImpl:org.mortbay.log: Started [email protected]:7180
2018-01-31 20:05:35,067 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl:Started Jetty server
Cloudera Manager如果能順利啓動,則可以通過瀏覽器訪問:http://192.168.111.201:7180

用戶名/密碼:admin/admin
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章