一、環境準備
1、修改主機名(所有節點)
/etc/sysconfig/network
/etc/hosts
2、關閉防火墻(所有節點)
service iptables stop
chkconfig iptables off;
3、關閉SELINUX(所有節點)
vi /etc/sysconfig/selinux
SELINUX=disabled
將SELINUX屬性值設置為disabled(需要重啟生效)
4、修改內核參數(所有節點)
echo "vm.swappiness = 0" >> /etc/sysctl.conf
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
5、設置單進程打開文件限制
cat >>/etc/security/limits.conf <
* soft nofile 65535
* hard nofile 65535
EOF
6、設置系統文件數限制
cat >> /etc/sysctl.conf <
############
fs.file-max = 655350
EOF
7、關閉PackageKit
編輯/etc/yum/pluginconf.d/refresh-packagekit.conf文件設置enabled=0
8、檢查umask
umask
如果輸出值不為0022,請編輯/etc/profile找到當前輸出值項進行修改為0022
9、主機節點的SSH免密登陸(所有節點)
ssh-keygen -t rsa -P ''
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
chmod 600 $HOME/.ssh/authorized_keys
scp $HOME/.ssh/authorized_keysroot@hadoop2:$HOME/.ssh/
ssh-keygen -t rsa -P ''
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
scp $HOME/.ssh/authorized_keysroot@hadoop3:$HOME/.ssh/
ssh-keygen -t rsa -P ''
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
scp $HOME/.ssh/authorized_keysroot@hadoop1:$HOME/.ssh/
scp $HOME/.ssh/authorized_keysroot@hadoop2:$HOME/.ssh/
10、主機時鐘同步(所有節點)
所有節點配置NTP服務,所有datanode節點以master節點為基礎同步時間
安裝包:
ntpdate-4.2.6p5-1.el6.centos.x86_64
ntp-4.2.6p5-1.el6.centos.x86_64
--------------------------------------------------------------------
vi /etc/ntp.conf
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap
server 127.127.1.0
fudge? 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
keys /etc/ntp/keys
includefile /etc/ntp/crypto/pw
restrict 127.0.0.1
restrict -6 ::1
---------------------------------------------------------------------
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap
restrict default kod nomodify notrap nopeernoquery
restrict -6 default kod nomodify notrapnopeer noquery
server hadoop1 prefer
fudge? 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
keys /etc/ntp/keys
restrict 127.0.0.1
restrict -6 ::1
二、JDK安裝
解壓jdk-7u51-linux-x64.tar.gz到/usr/local/目錄下
tar -zxvf jdk-7u51-linux-x64.tar.gz -C /usr/local/
設置系統/etc/profile環境變量,復制腳本執行
cat >>/etc/profile <
export JAVA_HOME=/usr/local/jdk1.7.0_51
export JRE_HOM=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
EOF
source /etc/profile
三、安裝MYSQL數據庫(只要nm其中一個節點安裝)
1、刪除系統自帶安裝mysql軟件
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
2、添加 mysql 組和 mysql 用戶
groupadd mysql
useradd -r -g mysql mysql
3、解壓mysql軟件到指定的安裝目錄
tar -zxvf /data1/bxji/software/tools/mysql-5.5.50-linux2.6-x86_64.tar.gz -C? /usr/local
cd /usr/local
ln -s mysql-5.5.50-linux2.6-x86_64/? mysql
4、更改 mysql 所在的目錄所屬的組和用戶
chown -R mysql /usr/local/mysql-5.5.50-linux2.6-x86_64
chgrp -R mysql /usr/local/mysql-5.5.50-linux2.6-x86_64
chown -R mysql mysql
chgrp -R mysql mysql
5、數據庫初始化
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local /mysql --datadir=/usr/local/mysql/data
chown -R root /usr/local/mysql-5.5.50-linux2.6-x86_64
chown -R mysql /usr/local/mysql-5.5.50-linux2.6-x86_64/data
6、復制配置文件到/etc/my.cnf
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
7、設置開機自啟動項
cp /usr/local/mysql/support-files/mysql.server? /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start
8、添加系統環境變量
配置環境變量,修改/etc/profile 文件增加以下內容
export? MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
9、修改 root 用戶密碼
use mysql;
UPDATE user SET password=PASSWORD('hadoop') WHERE user='root';
FLUSH PRIVILEGES;
四、cloudera manager 安裝(其中一臺主節點)
1、下載軟件
cloudera-manager-el6-cm5.4.5_x86_64.tar.gz
2、解壓到/opt 目錄 。上傳并解壓 cloudera-manager-el6-cm5.4.5_x86_64.tar.gz 到 master節點
( cdh5 的源會默認在/opt/cloudera/parcel-repo 尋找)
tar -zxvf? /data1/software/tools/ cloudera-manager-el6-cm5.4.5_x8 6_64.tar.gz? -C /opt
3、添加 mysql 驅動
將 mysql 驅動 mysql-connector-java-5.1.25.jar 放到/opt/cm-5.4.5/share/cmf/lib/目錄
4、給所有節點添加 cloudera-scm 用戶
useradd --system --home=/opt/cm-5.4.5/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
5、修改 cloudera-scm-agent 配置
修改/opt/cm-5.4.5/etc/cloudera-scm-agent/config.ini 下面的serer_host 為主節點的 hostname
6、初始化 mysql 數據庫
進入 mysql 數據庫控制臺,創建以下數據庫
--hive 數據庫? create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci ;
--集群監控數據庫 create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci ;
--hue 數據庫 create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
-- oozie 數據庫 create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
grant all on *.* to root@"%" Identified by "hadoop";
7、為 Cloudera Manager 5 建立數據庫
/opt/cm-5.4.5/share/cmf/schema/scm_prepare_database.sh mysql cm -hqbcdhserv1 -uroot -p
hadoop? --scm-host qbcdhserv1? scm? scm? scm
8、 開啟 Cloudera Manager 5 Server 端
/opt/cm-5.4.5/etc/init.d/cloudera-scm-server? start
9、開啟 Cloudera Manager 5 Agents 端
將主節點/opt/cm-5.4.5 集群內分發
scp/opt/cm-5.4.5 到所有 datanode 節點上,然后在每臺機器上開啟 Agents 端:
scp -r /opt/cm-5.4.5? root@192.168.58.94:/opt
scp -r /opt/cm-5. 4.5? root@192.168.58.95:/opt
在所有 datanode 節點上,創建 cloudera-scm-agent 目錄
mkdir /opt/cm-5.4.5/run/cloudera-scm-agent
在所有 datanode 節點上,啟動(注意必須以管理員權限啟動)
sudo /opt/cm-5.4.5/etc/init.d/cloudera-scm-agent start
10. 瀏覽器登錄 Cloudera Manager 5 控制臺
瀏覽器啟動 Cloudera Manager 5 控制臺(默認端口號是 7180),啟動成功就會看到登陸頁面。 http://192.168.58.93:7180/cmf/login? 初次登錄 用戶名:admin 密碼:admin
五、安裝CDH5(其中一臺主節點)
1、CDH5軟件準備
CDH5軟件下載地址http://archive.cloudera.com/cdh5/parcels/5.6/
下載安裝 CDH 依賴 rpm 包 文 件 。 根據當前操作系統版本選 擇http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.7.0/RPMS/x86_64/? 下, cloudera-manager-daemons? 與 cloudera-manager-agent? 。
2、制作 CDH 本地安裝源
下載完成后,將這兩個文件放到 其中一臺主節點(cdh1)節點的 /opt/cloudera/parcel-repo 下
cp /data1/bxji/software/tools/ CDH-5.4.5-1.cdh5.4.5.p0.7-el6.parcel /opt/cloudera/parcel-repo
cp /data1/bxji/software/tools/manifest.json? /opt/cloudera/parcel-repo
cp /opt/cloudera/parcel-repo/ CDH-5.4.5-1.cdh5.4.5.p0.7-el6.parcel.sha1 /opt/clouder a/parcel-repo/CDH-5.4.5-1.cdh5.4.5.p0.7-el6.parcel.sha
重啟 cloudera-scm-server 以識別安裝源
sudo /opt/cm-5.4.5/etc/init.d/cloudera-scm-server? restart
3、正式安裝CDH
? 集群基本參數配置。
這里有幾個重要的目錄配置,作為 hdfs 根目錄應該指向存儲空間較大的硬盤目錄(本次安裝環 境磁盤空間都在/根路徑,這里就不修改了)。
歡迎大家關注我的微信公眾號,里面有很多相關的技術干貨,也能隨時聯系到我。謝謝!