前言
閑暇之時,羚羊給大家分享一下羚羊在Centos7 下安裝Cloudera Manager 6.3.0和cloudera cdh 6.3.2的過程和安裝過程中遇到的坑。至於為什么要選擇CDH,Cloudera Manager和cdh是什么,之間又是什么關系,在這里羚羊就不做介紹了。
為什么選擇CDH6.3.2這個版本,給大家看個Cloudera公司今年初發布的消息:
上面大概是說6.3.3版本以上,需要許可證,有帳號才能下載安裝包,意思就是收費。所以羚羊就安裝了6.3.2。至於為什么用的是Cloudera Manager 6.3.0,其實沒什么問題。Cloudera Manager和CHD之間的版本兼容方面,官方是這么說:
對於Cloudera Manager和CDH,Cloudera公司使用主版本和次版本來管理:主版本+次版本+維護版本,像Cloudera Manager 6.3.0,它的主版本是6,次版本是3,維護版本是0。然后版本兼容規則是這樣:Cloudera Manager <主要> + <次要>版本必須始終等於或大於CDH <主要> + <次要>版本。較舊版本的Cloudera Manager可能識別不出CDH的高版本安裝包來,就是不兼容。當然,最好也不要使用高版本的Cloudera Manager去安裝低版本的CDH。更多信息大家多花時間去看看官網就獲取更多的消息了。下面羚羊開始記錄羚羊的安裝過程。
安裝
Cloudera Manager 6.3.0安裝
由於在線安裝下載比較慢,羚羊都先下載到本地后離線安裝啦。
IP
|
HostName
|
OS
|
安裝用戶
|
備注
|
10.111.15.162
|
cdh6-master
|
CentOS 7.5
|
hadoop |
|
10.111.15.163
|
cdh6-slave1
|
CentOS 7.5
|
hadoop | |
10.111.15.164
|
cdh6-slave2
|
CentOS 7.5
|
hadoop | |
10.111.15.166
|
cdh6-slave3
|
CentOS 7.5
|
hadoop | |
10.111.15.167
|
mysql數據庫
|
CentOS 7.5 | hadoop | 也可以跟CM master同一台機器 |
hosts配置
在hosts文件末尾加配置:sudo vim /etc/hosts
JDK安裝
cd /usr/java tar -xvf jdk-8u251-linux-x64.tar.gz vim ~/.bash_profile
加入內容:
export JAVA_HOME=/usr/java/jdk1.8.0_251 export PATH=$JAVA_HOME/bin:$PATH export JRE_HOME=$JAVA_HOME/jre
source ~/.bash_profile
驗證是否安裝成功:java -version
注意:一定要64位,如果系統是64位,不然啟動hdfs的時候會提示:libhadoop.so.1.0.0 無法加載的問題,原因是libhadoop依賴 64位的libjvm.so
關閉selinux
sudo vim /etc/selinux/config
SELINUX=disabled
安裝依賴
sudo yum install -y bind-utils psmisc libxslt cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs httpd mod_ssl openssl-devel python-psycopg2 MySQL-python /lib/lsb/init-functions libpq.so.5
wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm sudo rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
sudo yum install python27
SSH免登錄配置
cd /home/hadoop/.ssh ssh-copy-id -p 41122 -i ./id_rsa.pub hadoop@cdh6-master ssh-copy-id -p 41122 -i ./id_rsa.pub hadoop@cdh6-slave1 ssh-copy-id -p 41122 -i ./id_rsa.pub hadoop@cdh6-slave2 ssh-copy-id -p 41122 -i ./id_rsa.pub hadoop@cdh6-slave3
NTP安裝
sudo yum -y install ntp sudo /etc/ntp.conf
## 加入時間服務器:
PS: 或在https://www.pool.ntp.org/zone/asia找最適合的時間服務器
sudo service ntpd restart
安裝 6.3.0yum源
所有節點上執行:
sudo curl -o /etc/yum.repos.d/cloudera-manager.repo https://archive.cloudera.com/cm6/6.3.0/redhat7/yum/cloudera-manager.repo rpm --import https://archive.cloudera.com/cm6/6.3.0/redhat7/yum/RPM-GPG-KEY-cloudera
各節點安裝mysql驅動
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz # 解壓 tar -zxf mysql-connector-java-5.1.46.tar.gz # 放到指定目錄 (一定要改名為mysql-connector-java.jar)sudo cp mysql-connector-java-5.1.46/mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
master節點安裝cloudera-manager server
sudo yum localinstall ./cloudera-manager-daemons-6.3.0-2117683.el7.x86_64.rpm ./cloudera-manager-server-6.3.0-2117683.el7.x86_64.rpm cloudera-manager-server -y
cd /opt/cloudera/cm
可以看到安裝目錄下很多文件:
rpm -qa|grep cloudera-manager
連接數據庫配置
sudo vim /etc/cloudera-scm-server/db.properties
創建數據庫
各角色如:scm、amon、rman、hue、metastore、sentry、nav、navms、oozie,需要用到數據。需要先創建好
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
數據庫跟master不在同一台機器上,需要授權訪問
grant all privileges on *.* to 'hadoop'@'101.111.14.123' identified by 'xxxxxx' with grant option;
grant all privileges on *.* to 'scm'@'master.cdh6' identified by 'xxxxxx' with grant option; flush privileges;
master節點上執行腳本
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h 10.111.15.167 --scm-host cdh6-master scm scm
PS:開啟gtid模式,可能會報錯:Error Code: 1786 Statement violates GTID consistency: CREATE TABLE ... SELECT
啟動
sudo systemctl start cloudera-scm-server
查看啟動日志
sudo tail -100f /var/log/cloudera-scm-server/cloudera-scm-server.log
各從節點安裝Agent
sudo yum localinstall ./cloudera-manager-agent-6.3.0-2117683.el7.x86_64.rpm ./cloudera-manager-daemons-6.3.0-2117683.el7.x86_64.rpm cloudera-manager-agent -y
修改所有子節點的CM主機地址
sudo vim /etc/cloudera-scm-agent/config.ini # 將server_host修改為CM-Server所在的主機名 server_host=cdh6-master
啟動
sudo systemctl start cloudera-scm-agent
查看日志
sudo tail -100f /var/log/cloudera-scm-agent/cloudera-scm-agent.log
登錄(admin/admin)
CDH 6.3.2安裝
下載CDH6安裝包
下載地址:https://archive.cloudera.com/cdh6/6.3.2/parcels/
只下載紅圈文件即可,其中7代表centos7
#全部下載 nohup sudo wget --recursive --no-parent --no-host-directories https://archive.cloudera.com/cdh6/6.3.2/parcels/ -P /var/www/html/cloudera-repos & nohup sudo wget --recursive --no-parent --no-host-directories https://archive.cloudera.com/gplextras6/6.3.2/parcels/ -P /var/www/html/cloudera-repos &
安裝Apache HTTP Server
sudo yum install httpd
啟動
systemctl start httpd
界面向導安裝


上圖是啟動服務后的界面效果,配置方面還需要調整和優化。羚羊運氣不太好,所以安裝過程遇到很多問題,下面羚羊就分享比較有代表性的問題
問題
一、安裝CDH時出現:com.cloudera.server.web.cmf.csrf.CsrfRefererInterceptor: Rejecting request originating from [url] refering [url]
二、安裝agent出現問題:
三、測試hue數據庫連接異常:
對應異常日志:
解決:
下載或從別的機器copy libmysqlclient.so.18包
sudo ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib64/mysql/libmysqlclient.so.18
sudo vim /etc/ld.so.conf
#加libmysqlclient.so.18所在的目錄
/usr/lib64/mysql
四、角色啟動目錄權限問題

五、web界面經常報"查詢 Service Monitor 時發生內部錯誤

六、hive初始化數據:schematool -initSchema -dbType mysql失敗,無法啟動hive
Metastore connection URL: jdbc:derby:;databaseName=metastore_db;create=true Metastore Connection Driver : org.apache.derby.jdbc.EmbeddedDriver Metastore connection User: APP Starting metastore schema initialization to 2.1.0 Initialization script hive-schema-2.1.1.mysql.sql Error: Syntax error: Encountered “” at line 1, column 64. (state=42X01,code=30000) org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !! Underlying cause: java.io.IOException : Schema script failed, errorcode 2 Use --verbose for detailed stacktrace. *** schemaTool failed ***
解決:在hive-size.xml加如下內容
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://msyql_ip:3306/hive?useUnicode=true&characterEncoding=UTF-8</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>user</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>passwd</value> </property> <property>
【版權聲明】
本文版權歸作者(深圳伊人網網絡有限公司)和博客園共有,歡迎轉載,但未經作者同意必須在文章頁面給出原文鏈接,否則保留追究法律責任的權利。如您有任何商業合作或者授權方面的協商,請給我留言:siqing0822@163.com