centos7.2 安裝 hdp2.6.1 步驟
環境:
Operating System: CentOS Linux release 7.2.1511 (Core)
Kernel: Linux 3.10.0-327.el7.x86_64
HDP:2.6.1.0
Ambari:ambari-server-2.5.0.3
下載地址:
ambari-2.5.0.3 tar 包下載地址:http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.5.0.3/ambari-2.5.0.3-centos7.tar.gz
HDP-2.6.1.0 tar 包下載地址:http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.1.0/HDP-2.6.1.0-centos7-rpm.tar.gz
MD5:HDP-2.6.1.0-centos7-rpm.tar.gz: 48 3F C7 17 19 4A 83 94 82 48 70 7C D4 85 62 14
HDP-UTILS 2.6.10 tar 包下載地址:http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz
MD5:HDP-UTILS-1.1.0.21-centos7.tar.gz: B6 1E 3F 3D D9 10 51 8D 86 3D 44 FC 59 15 57 52
0. 所有 WordPress 主機安裝 jdk 並替換 jce 檔案 (若啟用 kerberos)
# tar -zxvf /data/jdk-8u111-linux-x64.tar.gz -C /usr/
# unzip /data/UnlimitedJCEPolicyJDK8.zip
# cp -f /data/UnlimitedJCEPolicyJDK8/local_policy.jar /usr/jdk1.8.0_111/jre/lib/security/
# cp -f /data/UnlimitedJCEPolicyJDK8/US_export_policy.jar /usr/jdk1.8.0_111/jre/lib/security/
# vi /etc/profile
末尾新增
export JAVA_HOME=/usr/jdk1.8.0_111
export PATH=$JAVA_HOME/bin:$PATH
#. /etc/profile
1.ssh 信任配置 (略)
2.ntp 配置
2.1 安裝並開啟 ntp
yum install -y ntp
2.2 開啟 ntp
systemctl is-enabled ntpd
2.3 vi /etc/ntp.conf
註釋其他 server,新增本地 ntp 站群伺服器
server x.x.x.x iburst
2.4
systemctl enable ntpd
systemctl start ntpd
systemctl status ntpd.service 檢查服務是否正常
3.WordPress 主機名配置
hostnamectl set-hostname server_name
檢視 WordPress 主機資訊
[root@eva0 yum.repos.d]# hostnamectl
Static hostname: eva0
Icon name: computer-vm
Chassis: vm
Machine ID: b5b4a6e010034d50axxxxxxxxxxxxxxx
Boot ID: 818af0fc48c64931bxxxxxxxxxxxxxxx
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-514.10.2.el7.x86_64
Architecture: x86-64
4. 配置/etc/hosts,不要更改下述行,否則會引起各種問題
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
eva0 x.x.x.x
eva1 x.x.x.x
eva2 x.x.x.x
之後 hostname -f 檢查是否配置成功
5. 所有 WordPress 主機關閉防火牆
# systemctl disable firewalld
# service firewalld stop
6. 關閉 selinux,packagekit(如果已啟用)
vi /etc/yum/pluginconf.d/refresh-packagekit.conf
enabled=0
7. 更改 umask
# umask 0022
# echo umask 0022 >> /etc/profile
8. 建立 HDP local repository
8.0 啟動 http 服務
# systemctl start httpd.service
# systemctl status httpd.service
8.1 下載並解壓 HDP 站群軟體包
tar -zxvf HDP-2.6.1.0-centos7-rpm.tar.gz -C /var/www/html
mkdir -p /var/www/html/HDP-UTIL
tar -zxvf HDP-UTILS-1.1.0.21-centos7.tar.gz -C /var/www/html/HDP-UTIL/
tar -zxvf ambari-2.5.0.3-centos7.tar.gz -C /var/www/html
檢查透過 http 是否可訪問到資源
Ambari Base URL
http://1eva0/ambari/centos7/ambari/
HDP Base URL
http://1eva0/HDP/centos7/
HDP-UTILS Base URL
http://1eva0/HDP-UTIL/
8.2 安裝 createrepo 包
yum install createrepo
8.3 建立 repo
createrepo /var/www/html/ambari/centos7/
createrepo /var/www/html/HDP/centos7
createrepo /var/www/html/HDP-UTIL
(注意 createrepo 的目錄)
8.4 修改*.repo 檔案
# more /etc/yum.repos.d/ambari.repo
#VERSION_NUMBER=2.5.1.0
[ambari-2.5.1.0]
name=ambari-2.5.1.0
baseurl=http://eva0ambari/centos7/ambari
gpgcheck=0
#gpgkey=http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.5.0.3/RPM-GPG-KEY/RPM-GPG
-KEY-Jenkins
enabled=1
priority=1
# more /etc/yum.repos.d/HDP.repo
#VERSION_NUMBER=2.6.1.0-129
[HDP-2.6.1.0]
name=HDP Version – HDP-2.6.1.0
baseurl=http://eva0HDP/centos7
gpgcheck=0
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.1.0/RPM-GPG-KEY/RPM-GPG-KEY
-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.21]
name=HDP-UTILS Version – HDP-UTILS-1.1.0.21
baseurl=http://eva0HDP-UTIL
gpgcheck=0
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.1.0/RPM-GPG-KEY/RPM-GPG-KEY
-Jenkins
enabled=1
priority=1
9 建立 centos7 local repository
9.0 掛載站群軟體 iso 映象站群
mkdir -p /var/www/html/os7
mount -o loop /data/centos7.iso /var/www/html/os7
9.1 製作 repository
方法一:
mkdir -p /var/www/html/centos7
直接將 Packages 目錄及其下的站群軟體包 copy 到/var/www/html/centos7
方法二:
mkdir -p /data/centos7
將 Packages 目錄及其下的站群軟體包 copy 到/data/centos7
ln -s /data/centos7 /var/www/html/centos7
9.2 建立 repo(以方法一為例)
createrepo /var/www/html/centos7
9.3 修改 repo 檔案
#vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever – Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://133.37.126.170/centos7/Packages/
gpgcheck=0
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enable=1
priority=1
注意 enable=1,gpgcheck 設定為 0
10. 檢查當前 repository 庫
先修改 repo 目錄的許可權
chmod -R 777 /var/www/html/centos7
chmod -R 777 /var/www/html/ambari
chmod -R 777 /var/www/html/HDP
chmod -R 777 /var/www/html/HDP-UTIL
# yum repolist
已載入外掛外掛:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源標識 源名稱 狀態
HDP-2.6.1.0 HDP Version – HDP-2.6.1.0 232
HDP-UTILS-1.1.0.21 HDP-UTILS Version – HDP-UTILS-1.1.0.21 64
ambari-2.5.0.3 ambari Version – ambari-2.5.0.3 12
base CentOS-7 – Base 3,723
repolist: 4,031
重要:檢查無誤後,將三個 repo 檔案複製到所有節點上
並檢查其他節點的/etc/yum.conf 檔案中是否設定了 proxy 代理,如果有應暫時取消,以避免可能無法訪問到做 repository 的 WordPress 主機。
11. 安裝 ambari server
選擇 eva0WordPress 主機安裝:
注意 ambari-server 依賴 postgresql,當前 2.5.0.3 版本需要 postgresql-libs(x86-64) = 9.2.13-1.el7_1,如果 os 中已經安裝不同版本的 pg,先解除安裝再安裝指定版本
[root@eva0 ~]# yum erase postgresql-libs-9.2.18-1.el7.x86_64
[root@eva0 ~]# yum install ambari-server
12. 安裝 mysql 站群伺服器
安裝
yum localinstall MySQL-server-5.6.14-1.el6.x86_64.rpm
yum localinstall MySQL-devel-5.6.14-1.el6.x86_64.rpm
yum localinstall MySQL-client-5.6.14-1.el6.x86_64.rpm
配置
vi /etc/my.cnf
[mysqld]
#basedir=/usr/share/mysql
datadir=/data/mysql/data
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
skip-name-resolve
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/lib/mysql/eva0.pid
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
啟動
mysql_install_db –user=mysql –defaults-file=/etc/my.cnf
./mysql.server start
mysqladmin -u root password ‘yyyyy’
13. 設定 ambari-server
# ambari-server setup
使用預設使用者
Customize user account for ambari-server daemon [y/n] (n)?
使用自行安裝的 jdk
Checking JDK…
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
[3] Custom JDK
==============================================================================
Enter choice (1): 3
輸入 JAVA_HOME
Path to JAVA_HOME: /usr/jdk1.8.0_111
至於 ambari 的後設資料儲存位置,可以自定義,如選擇 mysql,也可直接使用預設的 pg,測試環境建議直接預設,
Enter advanced database configuration [y/n] (n)? y
Configuring database…
==============================================================================
Choose one of the following options:
[1] – PostgreSQL (Embedded)
[2] – Oracle
[3] – MySQL / MariaDB
[4] – PostgreSQL
[5] – Microsoft SQL Server (Tech Preview)
[6] – SQL Anywhere
[7] – BDB
==============================================================================
Enter choice (1): 3
Hostname (localhost):
Port (3306):
Database name (ambari):
Username (ambari):
Enter Database Password (bigdata):
所有設定採用預設
到此步時不要繼續,先完成下述兩步驟:
13.1 將 mysql 的 jdbc 的 dirver jar 放到/usr/share/java 目錄下,並在 ambari.properties 檔案中新增 server.jdbc.driver.path=[path/to/custom_jdbc_driver] 屬性
(可從 https://dev.mysql.com/downloads/connector/j/ 網站下載)
新開視窗執行:
copy driver 到指定目錄
tar -zxvf /data/mysql-connector-java-5.1.42.tar.gz
cp /data/mysql-connector-java-5.1.4/mysql-connector-java-5.1.42-bin.jar /usr/share/java/
修改 ambari 配置檔案
vi /etc/ambari-server/conf/ambari.properties
新增
server.jdbc.driver.path=/usr/share/java/mysql-connector-java-5.1.42-bin.jar
13.2 執行 ambari 配置 sql 指令碼
新開視窗執行:
[root@eva0 ~]# mysql -uroot -pyyyyy select @@binlog_format;
+—————–+
| @@binlog_format |
+—————–+
| STATEMENT |
+—————–+
1 row in set (0.01 sec)
當前服務修改,mysql 重啟後失效
SET SESSION binlog_format = ‘MIXED’ ;
SET GLOBAL binlog_format = ‘ROW’;
永久修改
vi /etc/my.cnf
新增
binlog-format = ROW
15.02 ambari 使用者無讀取 db 的許可權
ERROR [main] DBAccessorImpl:117 – Error while creating database accessor
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user ‘ambari’@’%’ to database ‘ambari’
am
# mysql -uroot -p
Enter password:
mysql> grant all privileges on ambari.* to ‘ambari’@’%’ ;
mysql> flush privileges;
16 登陸 ambari web 進行配置
初始密碼 admin/admin
若忘記密碼,可在後臺更改:
mysql> use ambari;
mysql> update users set user_password=PASSWORD(‘12345’) where user_id=1;
mysql> flush privileges;
17 配置中可能存在的問題
17.1 配置 hive metastore 的儲存資料庫時指定已有 mysql 資料庫,
需先在 ambari-server 上執行:
# ambari-server setup –jdbc-db=mysql –jdbc-driver=/usr/share/java/mysql-connector-java-5.1.42-bin.jar
再在 mysql 中執行以下命令建立 hive 對應 db,使用者和賦權
mysql> create database hive;
mysql> create user hive identified by ‘yyyyy’;
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on hive.* to ‘hive’@’%’;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
mysql> update mysql.user set password=PASSWORD(‘yyyyy’) where user=’hive’;
Query OK, 2 rows affected (0.01 sec)
Rows matched: 3 Changed: 2 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
17.2 ambari 自動安裝 hadoop 站群軟體時失敗,日誌顯示 libtirpc-devel 缺失:
如果機器上已經有 libtirpc 站群軟體包,找到對應版本的 libtirpc-devel 安裝即可
如果找不到對應版本建議解除安裝現有 libtirpc 包,重灌版本匹配的 libtirpc 和 libtirpc-devel
# rpm -qa|grep libtirpc
libtirpc-0.2.4-0.6.el7.x86_64
非對應版本無法安裝
# rpm -ivh libtirpc-devel-0.2.4-0.8.el7.x86_64.rpm
錯誤:依賴檢測失敗:
libtirpc = 0.2.4-0.8.el7 被 libtirpc-devel-0.2.4-0.8.el7.x86_64 需要
解除安裝現有版本
# yum erase libtirpc-0.2.4-0.6.el7.x86_64
安裝匹配版本
# yum localinstall libtirpc-0.2.4-0.8.el7.x86_64.rpm
# yum localinstall libtirpc-devel-0.2.4-0.8.el7.x86_64.rpm
備註:
關閉 THP 方法:
“echo never > /sys/kernel/mm/transparent_hugepage/defrag” 和
“echo never > /sys/kernel/mm/transparent_hugepage/enabled” 以禁用此設定,
然後將同一命令新增到 /etc/rc.local 等初始化指令碼中,以便在系統重啟時予以設定