Ambari安裝部署
在三臺centos6.9的伺服器上安裝Ambari服務,並安裝HDP。 1、安裝前準備,環境配置 1.1 關閉防火牆
chkconfig iptables off
service iptables stop
chkconfig --list iptables
1.2 關閉 Selinux
vi /etc/sysconfig/selinux
將SELINUX=enforcing改為SELINUX=disabled,執行該命令後重啟機器生效 1.3 配置hostname
vi /etc/sysconfig/network
將三臺機子的hostname修改為
ambari1.node.com、ambari2.node.com、ambari3.node.com
1.4 配置hosts檔案 vi /etc/hosts 修改host檔案 將三臺機子配置為
172.30.81.132 ambari1.node.com
172.30.81.133 ambari2.node.com
172.30.81.134 ambari3.node.com
1.5 配置DNS
vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114
在這個步驟完成後可以重啟機器 使之前的修改的配置生效 1.6 SSH免密登入配置 生成金鑰對
ssh-keygen -t rsa
將金鑰加到本地認證檔案中
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
設定authorized_keys的訪問許可權
chmod 600 /root/.ssh/authorized_keys
**以上步驟先在每個節點上先執行一遍,然後執行下面操作 將每個節點上生成的id_rsa.pub複製到其他所有節點並新增到它們的認證檔案中
scp /root/.ssh.id_rsa.pub [email protected]:/root(在ambari1.node.com執行)
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys (在ambari2.node.com執行)
scp /root/.ssh.id_rsa.pub [email protected] :/root(在ambari1.node.com執行)
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys (在ambari3.node.com執行)
**如若scp命令不存在 yum install -y openssh-clients ** 驗證免密登入是否配置成功 1.7 安裝JDK 在/usr/目錄下建立java目錄,將下載好的jdk傳到/usr/java目錄下解壓 配置環境變數 vi /etc/profile 在profile中新增如下內容: source /etc/profile 使配置生效 1.8 安裝NTP 叢集中所有主機必須保持時間同步,如果時間相差較大會引起各種問題。 具體思路如下: master節點作為ntp伺服器與外界對時中心同步時間,隨後對所有slave節點提供時間同步服務。所有slave節點以master節點為基礎同步時間。 所有節點安裝相關元件 yum install -y ntp 開機啟動:chkconfig ntpd on 檢查是否設定成功:chkconfig --list ntpd其中2-5為on狀態就代表成功。 【主節點ntpserver配置】 ntp服務只有一個配置檔案,配置好了就OK。 這裡只給出有用的配置,不需要的配置都用#注掉,這裡就再在給出: vi /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap
server 202.120.2.101 prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
啟動服務
service ntpd start
【slave節點ntp客戶端配置】
vi /var/lib/ntp/drift
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
#這裡是主節點的主機名或者ip
server ambari1.node.com
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
啟動服務
service ntpd start
安裝perl【所有節點】 由於虛擬機器系統為centos6.9,無perl,需要先安裝perl和numactl
yum install -y perl
yum install -y numactl
1.9 .關閉Linux的THP服務 如果不關閉transparent_hugepage,HDFS會因為這個效能嚴重受影響。 關閉transparent_hugepage方法是:
vi /etc/grub.conf
新增 transparent_hugepage=never
vi /etc/rc.local
新增:
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
exit 0
1.10 配置UMASK 設定使用者所建立目錄的初始許可權
umask 0022
2、安裝ambari https://docs.hortonworks.com/HDPDocuments/Ambari-2.5.1.0/bk_ambari-installation/content/ambari_repositories.html 此處我選用2.5.1.0版本 下載 hdp-util.repo 、ambari.repo 拷貝到/etc/yum.repos.d/ 1、yum install ambari-server 2、安裝mysql 安裝mysql是因為之後需要使用到mysql作為資料庫配置 此處 有安裝包https://pan.baidu.com/s/1Xm2hkkjQgVOp8WcE8XzBRw 解除安裝已有的mysql-libs rpm -qa | grep mysql rpm -e --nodeps 【包名】 rpm安裝mysql rpm -ivh mysql-community-common-5.7.15-1.el6.x86_64.rpm rpm -ivh mysql-community-libs-5.7.15-1.el6.x86_64.rpm rpm -ivh mysql-community-client-5.7.15-1.el6.x86_64.rpm rpm -ivh mysql-community-server-5.7.15-1.el6.x86_64.rpm 如遇缺少依賴 yum install -y libaio 設定開機啟動
chkconfig mysqld on
啟動mysql服務
service mysqld start
關閉密碼校驗
echo "validate_password=off">> /etc/my.cnf
然後修改mysql配置檔案/etc/my.cnf,請注意這幾個引數配置的位置,不然可能會啟動不起來mysql服務
vi /etc/my.cnf
內容如下:
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
重啟mysql服務
service mysqld restart
檢視root的初始密碼 密碼在/var/log/mysqld.log 修改 mysql root密碼
mysql -uroot -p [檢視得到的密碼]
針對mysql資料庫再做一些工作:
mkdir /usr/share/java
將mysql-connector-java-5.1.32-bin.jar 複製到/usr/share/java目錄下: 將mysql-connector-java-5.1.32-bin.jar複製/var/lib/ambari-server/resources目錄下:
cp /usr/share/java/mysql-connector-java-5.1.32-bin.jar /var/lib/ambari-server/resources/
編輯ambari.properties
vi /etc/ambari-server/conf/ambari.properties
新增
server.jdbc.driver.path=/usr/share/java/mysql-connector-java-5.1.32-bin.jar
在配置ambari前先在mysql中建庫建表,可以避免執行ambari-server setup時的中斷。 //建立使用者(ambari-server)
CREATE USER 'ambari-server'@'ambari1.node.com' IDENTIFIED BY 'bigdata';
CREATE USER 'ambari-server'@'localhost' IDENTIFIED BY 'bigdata';
FLUSH PRIVILEGES;
//建立資料庫
create database ambari;
//使用者賦權
GRANT all privileges ON ambari.* TO 'ambari-server'@'ambari1.node.com';
GRANT all privileges ON ambari.* TO 'ambari-server'@'localhost';
FLUSH PRIVILEGES;
如果要安裝Hive,再建立Hive資料庫和使用者 再執行下面的語句:
create database hive character set utf8 ;
CREATE USER 'hive'@'%'IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;
如果要安裝Oozie,再建立Oozie資料庫和使用者 再執行下面的語句:
create database oozie character set utf8 ;
CREATE USER 'oozie'@'%'IDENTIFIED BY 'oozie';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
FLUSH PRIVILEGES;
如果要安裝hue,再建立hue資料庫和使用者 再執行下面的語句:
create database hue character set utf8 ;
CREATE USER [email protected]'%'IDENTIFIED BY 'hue';
GRANT ALL PRIVILEGES ON *.* TO 'hue'@'%';
FLUSH PRIVILEGES;
然後測試新建的使用者是否可以登入成功:
mysql -u ambari-server -p
輸入密碼:bigdata
然後進入到ambari資料庫執行一個指令碼
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.32-bin.jar 3、ambari-server setup 在此處,由於待會設定需要用到jdk的環境變數,先執行命令:
echo $JAVA_HOME
/usr/java/jdk1.8.0_151
然後複製這個環境變數的值。 執行ambari-server setup 下面是配置執行流程,按照提示操作
[[email protected] java]# ambari-server setup
(1) 提示是否自定義設定。輸入:y
Using python /usr/bin/python
Setup ambari-server
Checking SELinux...
SELinux status is 'disabled'
Customize user account for ambari-server daemon [y/n] (n)? y
(2) ambari-server 賬號。
Enter user account for ambari-server daemon (root):
如果直接回車預設選擇root使用者
(3) 檢查防火牆是否關閉
Adjusting ambari-server permissions and ownership...
Checking firewall status...
(4) 設定JDK。輸入:3
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
WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.
Path to JAVA_HOME:/usr/java/jdk1.8.0_151
Validating JDK on Ambari Server...done.
Completing setup...
Configuring database...
(5) 資料庫配置。選擇:y
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): ambari1.node.com
Port (3306): 3306
Database name (ambari): ambari
Username (ambari): ambari-server
Enter Database Password (bigdata): bigdata
Configuring ambari database...
Configuring remote database connection properties...
WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
L-MySQL-CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)? y
Extracting system views...
.........ambari-admin-2.5.1.0.159.jar
..
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.
2.4 啟動ambari
ambari-server start
成功啟動後在瀏覽器輸入ambari地址:(http://ip:埠號) 例如我在ambari1.node.com(172.30.81.132上搭建的,訪問地址如下)
http://172.30.81.132:8080
3、安裝配置部署HDP叢集 3.1. 登入 在瀏覽器裡第一次輸入:http:// 172.30.81.182:8080/ 會出現登入介面,預設管理員賬戶登入, 賬戶:admin 密碼:admin 3.2. 安裝嚮導 登入成功後出現下面的介面: 3.3. 設定叢集名稱 給你的叢集命名,點選next 選擇HDP版本 此處我選擇2.5版本
3.4 註冊並安裝ambari-agent 填寫目標主機hostname,這個步驟需要注意,要提前將ambari-server的主機上的私鑰複製出來。 進入根目錄下,然後複製出id_rsa檔案。具體如下截圖。 然後點選註冊並確認! 根據介面上的警告做部分調優,比如防火牆等問題。然後點選下一步 如下圖安裝一些必須元件:hdfs、yarn+mr2、tez、hive、hbase、pig、zookeeper、ambari Metrics、Slider
如果需要其它元件 可以在安裝完hdp集群后再進行新增 進入下一步: 進入下一步: 要根據具體情況修改配置 修改Execution Engine 為mr 修改為mysql 資料庫 之前建立了 hive的資料庫 修改完後測試連結 在ambari Mertrics輸入密碼 在SmartSenses輸入密碼 進行下一步 忽略warning 部署Deploy 等待ambari hdp叢集安裝部署 HDP 安裝成功