標籤:
因為開發需要在本機群組建一個Hadoop/Spark叢集,但公司IT政策不允許本地叢集接入互連網,所以只能離線安裝各種組件。
下面把安裝過程記錄下來,作為項目文檔。
安裝準備工作主機和系統
HadoopMaster |
Cent OS 6.4 x64 |
16G |
192.168.1.10 |
HadoopSlave1 |
Cent OS 6.4 x64 |
16G |
192.168.1.11 |
HadoopSlave2 |
Cent OS 6.4 x64 |
8G |
192.168.1.12 |
安裝包下載
可以自行到下面列出的檔案目錄裡去找最新版本或直接點檔案連結下載parcel和sha檔案
注意:這裡我們用的是Cent OS 6.4所以下載的時候要選擇帶el6標記的
Cloudera Manager:
檔案目錄:http://archive.cloudera.com/cm5/cm/5/
Cloudera Manager5.7.1包:http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.7.1_x86_64.tar.gz
CDH:
檔案目錄:http://archive.cloudera.com/cdh5/parcels/5/
CHD5.7.1 parcel: http://archive.cloudera.com/cdh5/parcels/5.7/CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel
CHD5.7.1 sha: http://archive.cloudera.com/cdh5/parcels/5.7/CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel.sha1
Kafka:
檔案目錄:http://archive.cloudera.com/kafka/parcels/2.0.1/
Kafka1.2.0.1 parcel: http://archive.cloudera.com/kafka/parcels/2.0.1/KAFKA-2.0.1-1.2.0.1.p0.5-el6.parcel
Kafka1.2.0.1 sha: http://archive.cloudera.com/kafka/parcels/2.0.1/KAFKA-2.0.1-1.2.0.1.p0.5-el6.parcel.sha1
系統和環境配置主機名稱和host檔案配置更改主機名稱:
開啟網路設定
sudo vim /etc/sysconfig/network
如下方式更改主機名稱,把本台機器的主機名稱分別改為HadoopMaster/HadoopSlave1/HadoopSlave2
NETWORKING=yesHOSTNAME=HadoopMaster
重啟網路
sudo service network restart
配置hosts檔案:
開啟hosts檔案
sudo vim /etc/hosts
改為如下配置
192.168.1.10 HadoopMaster192.168.1.11 HadoopSlave1192.168.1.12 HadoopSlave2
主機之間SSH免密碼登入配置
產生SSH密鑰
執行下面命令,一路斷行符號~
ssh-keygen -t rsa
執行完之後在~/.ssh/目錄下會產生一個儲存有公開金鑰的檔案:id_rsa.pub
把HadoopMaster公開金鑰追加到SSH驗證檔案
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
把HadoopSlave1和HadoopSlave2的公開金鑰寫入HadoopMaster的~/.ssh/authorized_keys檔案,最終產生如下的內容的authorized_keys檔案:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArYU2kMXsu75Gzwvuby7OoGzC7GVwxVo+ol/7nJVD BpKpJLRHRe/d2HSNe9ZZRWLK2tU0e41baMxrYRoAKJA2ujcWfy7t57c3ArO9hA7KJy7MqMiT8WHQ M3I2Afsx6sVKeQU/czDLXHn+KjwKbR8z0tuycgtxgkaWx1PCpCKeFDAXDVvxYcurSUNaIGL5Egzu Iy97N52ld/WxUZnRRsTPdpW88JkhWdOV1Bdo4O67rNv5tSYKHXfPwqi8NekqoHIExgVRsHLvM8fe xvV4mo8lXYdQPRCyrtM9/V+4kSW8eaBO7w6hM9YVZIspSqx0+OqibWTvqSmiAVh0JmUT0MCeVQ== [email protected]ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7n27x4qSzRQNGQAL+rT1+91IQnM9cwZYFeSUzrJD GDfwCTJMKnRBYxrDMxTAM6MKjfwwkPzXnbKHLQnDiJKUSdF8H2xcgDMBJLssVQjOc2jSEg/VppQN hJwObbIL3k1FbU2KxkOp7yW5PIodZrgUwlH5wdXtfsPKimvv72uA1KUiqPbYA3ZJqXw9Bt87K6Sv IAkvUjshnfaS+wNEBVwW1dhXyz6DHuY+Tn9330+1oYfdmgSjS4ZqvZVothhhV58DNwzAYwINCpBA tkjFbk/SOf0q/4rSJRpe2yH9xOuZdwqXMfk3dkp0UFZkV2EVSLyaCNKwTbSuKN75FWhgl8QB7w== [email protected]ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAw91O/1NWnbr6/vop+xwnqR/XYNpwkWselzyHNqgD PYgXXsDHsvOZbpTX7pgOTgVSmlZetCdX4C1lsc/PO8IitvvBS/qWU216lXaqlW61RcliCrYH/RwN f8XTLx/Ga04w2qEIFlLOiuH6x/KA22muOLYaSIefXv38xj0Hj41iE5ZIseaLuJogn7iqJ6Fq0wQH i6ueF9BasSWnOHhn6CJamYz3FC9r2m3vwPMkgagPp1FdYyDxodK+MZlwu6TxqP6QQ7BY/Wh5DZK8 C8zpDOZGQgWOrghF58TlZSmJYmukv1NqsY8PCFuoj7vfoUzVKQkyKcEiohwBcTb50vGPl06bMQ== [email protected]
把HadoopMaster的authorized_keys拷貝到HadoopSlave1和HadoopSlave2
scp ~/.ssh/authorized_keys [email protected]:~/.ssh/scp ~/.ssh/authorized_keys [email protected]:~/.ssh/
詳細步驟請參考:http://www.cnblogs.com/keitsi/p/5653520.html
安裝Java 8舊版本卸載
#查看安裝的Javarpm -qa | grep java#卸載相應的Java包rpm -e --nodeps Java包名
安裝包下載
開啟下面連結下載相關的rpm包
http://www.oracle.com/technetwork/java/javase/downloads/index.html
安裝
sudo rpm -ivh jdk-8u91-linux-x64.rpm
在主節點安裝配置MySQL(HadoopMaster)安裝
#安裝sudo yum install mysql-server#開機啟動sudo chkconfig mysqld on#啟動sudo service mysqld start#設定root使用者密碼sudo mysqladmin -u root password ‘xxxx‘
關閉防火牆和SELinux
如果一個配置連接埠的話會比較麻煩,所以在安裝過程中就把防火牆關閉,可以在安裝完成後再根據需求配置
關閉防火牆
臨時關閉
sudo service iptables stop
如果要永久關閉,可以修改配置:
sudo chkconfig iptables off
關閉SELinux
臨時關閉
sudo setenforce 0
如果要永久關閉,可以修改配置:
sudo vim /etc/selinux/config
設定SELINUX=disabled
安裝配置NTP
NTP用於同步各個伺服器的時間,如果伺服器之間的時間相差太大的話會導致一些服務down掉。
如果是可串連外網並可以串連到時間伺服器的話,可以配置,但是這裡是內網的測試環境沒有辦法串連到同步伺服器,所以只能自己手機控制時間了!
Cloudera Manager安裝檔案上傳
把cloudera-manager-el6-cm5.7.1_x86_64.tar上傳到Master機並拷貝到所有的Slave機子上
scp cloudera-manager-el6-cm5.7.1_x86_64.tar.gz [email protected]:~scp cloudera-manager-el6-cm5.7.1_x86_64.tar.gz [email protected]:~
解壓檔案
在所有機器上執行下面命令,把cm的壓縮檔解壓到/opt/
sudo tar xzvf cloudera-manager-el6-cm5.7.1_x86_64.tar.gz -C /opt/
Agent配置
在所有Slave機上配置Master機的主機名稱
sudo vim /opt/cm-5.7.1/etc/cloudera-scm-agent/config.ini
把server_host設定成Master機的主機名稱
server_host=HadoopMaster
建立使用者cloudera-scm
為所有的機器建立cloudera-scm使用者,注意把--home設定為對應的路徑:
sudo useradd --system --home=/opt/cm-5.7.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
為Cloudera Manager建立資料庫
下載MySQL驅動
http://dev.mysql.com/downloads/connector/j/
解壓把驅動的jar檔案上傳到/opt/cm-5.7.1/share/cmf/lib
建立資料庫
sudo /opt/cm-5.7.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot [email protected] --scm-host localhost scm scm scm
mysql -uroot -pxxxx
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CentOS 6.x 離線安裝 Cloudera 5.7.x - 未完成