離線安裝Cloudera
1. 網絡配置(所有節點)
修改所有節點的機器名,命令如下
vi /etc/sysconfig/network
修改hostname:
NETWORKING=yes
HOSTNAME=cdhmaster
通過 service network restart 重啓網絡服務生效
vi /etc/hosts ,修改ip與主機名的對應關係,添加如下內容:
192.168.1.185 cdhmaster
192.168.1.186 cdhsalave1
192.168.1.187 cdhsalave2
192.168.1.188 cdhsalave3
2. 主機之間SSH免密碼登錄配置
生成SSH密鑰:
1) 所有機器上執行下面命令,一路回車,可生成本機的rsa類型的密鑰。
ssh-keygen -t rsa |
執行完之後在~/.ssh/目錄下會生成一個保存有公鑰的文件:id_rsa.pub
2) 在所有機器執行下面命令把自己的公鑰拷貝到Master機
ssh-copy-id root@cdhmaster |
3) 把cdhmaster的authorized_keys拷貝到cdhsalave1、cdhsalave2、cdhsalave3
scp ~/.ssh/authorized_keys root@cdhsalave1:~/.ssh/ scp ~/.ssh/authorized_keys root@cdhsalave2:~/.ssh/ scp ~/.ssh/authorized_keys root@cdhsalave3:~/.ssh/ |
3. 安裝JDK(所有節點)
1) 卸載舊版本JDK,命令如下:
rpm -qa | grep jdk //查找現有版本的Jdk rpm -e jdk名稱 --nodeps //卸載現有的jdk |
2) 上傳下載的jdk,安裝命令如下:
rpm -ivh jdk-8u131-linux-x64.tar.gz |
3) rpm包並不需要自己來配置環境變量,只需要配置一個全局的 JAVA_HOME變量即可,執行命令:
echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment |
4. 安裝mysql(主節點)
1) 檢查機器是否已經安裝mysql,卸載mysql
rpm -qa | grep -i mysql --查找已經安裝的mysql rpm -e mysql名稱 --nodeps --卸載mysql |
2) 創建目錄,上傳Percona-Server-5.1.56-rel12.7-224-Linux-x86_64.tar.gz.bz2安裝文件 到主機新建的目錄中,解壓命令如下
mkdir /home/soft/mysql cd /home/soft/mysql tar -zxvf Percona-Server-5.1.56-rel12.7-224-Linux-x86_64.tar.gz.bz2 |
3) 添加組合用戶,執行如下命令
mkdir /home/soft/mysql/data //mysql數據存放目錄 groupadd mysql useradd -r -g mysql mysql chown -R mysql:mysql /home/soft/mysql |
4) 初始化數據表
cd /home/soft/mysql
./bin/mysql_install_db --user=mysql --basedir=/home/soft/mysql --datadir=/home/soft/mysql/data |
5) 設置mysql啓動腳本
cp /home/soft/mysql/share/mysql/mysql.server /etc/init.d/mysqld # 拷貝啓動文件到/etc/init.d/下並重命令爲mysqld
chmod 755 /etc/init.d/mysqld # 增加執行權限
chkconfig --list mysqld # 檢查自啓動項列表中沒有mysqld這個
chkconfig --add mysqld # 如果沒有就添加mysqld
chkconfig mysqld on # 用這個命令設置開機啓動 |
6) 修改啓動腳本mysqld
vim /etc/init.d/mysqld ,修改basedir和datadir內容,如下: basedir=/home/soft/mysql datadir=/home/soft/mysql/data
vim /etc/my.cnf的datadir,修改如下 datadir=/home/soft/mysql/data |
7) 建立軟連接
ln -s /home/soft/mysql/bin/mysql /usr/bin/ |
8) 啓動mysql服務,並登陸
service mysqld start #啓動數據庫
/home/soft/mysql/bin/mysqladmin -u root password 'mysql_123' #設置root用戶的密碼
mysql -uroot -pmysql_123 #登陸數據庫 |
9) 創建以下數據庫
#hive create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#授權root用戶在主節點擁有所有數據庫的訪問權限 grant all privileges on *.* to 'root'@'cdhmaster' identified by 'mysql_123' with grant option; flush privileges; |
5. 關閉防火牆和SELinux
1) 關閉防火牆:
service iptables stop (臨時關閉) chkconfig iptables off (重啓後生效) |
2) 關閉SELINUX:
setenforce 0 (臨時生效) 修改 /etc/selinux/config 下的 SELINUX=disabled (重啓後永久生效) |
6. 同步時間(所有主機)
vi /etc/ntp.conf,添加
server 192.168.1.248
7. Cloudera Manager安裝
1) 上傳cloudera-manager-el6-cm5.12.0_x86_64.tar.gz至主機,解壓命令如下:
tar -xzvf cloudera-manager-el6-cm5.12.0_x86_64.tar.gz |
2) 下載mysql的jdbc驅動(mysql-connector-java-5.1.33-bin.jar)放到 /opt/cm-5.12.0/share/cmf/lib/和 /opt/cloudera/parcels/CDH-5.12.0-1.cdh5.12.0.p0.29/lib/hive/lib、/opt/cloudera/parcels/CDH-5.12.0-1.cdh5.12.0.p0.29/lib/oozie/lib、
/var/lib/oozie
中
3) 在主節點初始化CM5的數據庫:
/opt/cm-5.12.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pmysql_123 --scm-host localhost scm scm scm |
4) 修改/opt/cm-5.1.3/etc/cloudera-scm-agent/config.ini中的server_host爲主節點的主 機名
vim /opt/cm-5.12.0/etc/cloudera-scm-agent/config.ini |
5) 同步Agent到其他節點
scp -r /opt/cm-5.12.0 root@cdhsalave1:/opt/ scp -r /opt/cm-5.12.0 root@cdhsalave2:/opt/ scp -r /opt/cm-5.12.0 root@cdhsalave3:/opt/ |
6) 在所有節點創建cloudera-scm用戶
useradd --system --home=/opt/cm-5.12.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm |
7) 準備Parcels,用以安裝CDH5
將CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中
相關的文件如下:
CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel.sha1 manifest.json |
將CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel.sha1
重命名爲CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel.sha,這點必須注意,
否則,系統會重新下載CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel文件。
cd /opt/cloudera/parcel-repo/ mv CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel.sha1 CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel.sha1 |
8) 啓動腳本
/opt/cm-5.12.0/etc/init.d/cloudera-scm-server start //主機 /opt/cm-5.12.0/etc/init.d/cloudera-scm-agent start //所有節點 |
8. CDH5的安裝配置
1) 打開http://主機IP:7180,默認用戶名和密碼都是admin
2) 勾選接受,點擊繼續
3)可以選擇免費的,現在免費的也沒有節點限制了
4)
5)
異常:FSNamesystem: Encountered exception loading fsimage
java.io.IOException: NameNode is not formatted.
解決辦法:hadoop namenode -format
異常:java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster.
替換hdfs目錄:
新建一個目錄 mkdir -p /home/dfs (所有節點)
chown hadoop:hadoop -R /home/dfs
修改
/etc/hive/conf.cloudera.hive/hdfs-site.xml
/etc/hbase/conf.cloudera.hbase/hdfs-site.xml
/etc/hadoop/conf.cloudera.hdfs/hdfs-site.xml
/etc/hadoop/conf.cloudera.yarn/hdfs-site.xml
中dfs.namenode.name.dir的值
1. 格式化:hadoop namenode -format
2. su hdfs
hdfs dfs -chmod -R 777 /
hdfs dfs -chmod -R 777 /user