先配置免密碼登錄
- 修改所有結點的host
192.168.210.133 node1
192.168.210.134 node2
192.168.210.135 node3
192.168.210.136 node4
- 修改所有節點的主機名
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node2
- 關閉防火牆
systemctl stop firewalld
systemctl disable firewalld
- reboot
開始配置免登錄:
- 免密的核心思想就是:如果B服務器authorized_keys有A服務器的公鑰,那么A服務器可以免密登錄B服務器。
先到幾台機器分別生成密鑰:
# 安裝ssh
yum -y install openssh-clients
rm -rf ~/.ssh/*
ssh-keygen -t rsa
# 一路回車,然后拷貝到授權文件
- 在某一台機器
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- 然后在所有其他幾台機器上執行如家命令,把各個機器的密鑰發送到node1機器的authorized_keys中去:(注意用戶名,誰登錄誰)
ssh-copy-id -p 2121 root@node1
cat .ssh/authorized_keys
測試可以免登錄就ok了。
安裝時間同步
yum -y install ntp
ntpdate cn.pool.ntp.org
安裝Ambari2.7.4
先看看支持的軟件列表
最終准備的軟件清單
組件 | 版本 |
---|---|
操作系統 | CentOS7 |
Ambari | 2.7.4 |
HDP | 3.1.4 |
MySQL | 5.7.25 |
OracleJDK11 | JDK11 build 11+28 |
設置CentOS的repo 阿里雲鏡像
https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.53322f70KNuobs
- 備份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 新的repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 更新緩存
yum makecache
關閉Selinux和THP以降低系統CPU的使用率
Selinux
vi, /etc/sysconfig/selinux
修改文件中的SELINUX屬性 SELINUX=disabled
即可
THP
透明大頁面(THP)是一種Linux內存管理系統,通過使用更大的內存頁面,可以減少具有大量內存的計算機上的Translation Lookaside Buffer(TLB)查找的開銷。但是,數據庫工作負載通常在THP上表現不佳,因為它們往往具有稀疏而不是連續的內存訪問模式。 您應該在Linux機器上禁用THP以確保使用MongoDB獲得最佳性能。
查詢THP狀態
cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled
若結果為 [always] 則表示啟動了THP
- 永久關閉THP
vim /etc/rc.d/rc.local
在文件末尾添加
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
並賦予rc.local文件執行權限
chmod +x /etc/rc.d/rc.local
重啟reboot后查看THP狀態,若結果顯示為 [never] 則表明關閉成功
最大打開文件設置
設置最大文件描述符數,一般要求為10000及以上。
- 檢查最大文件描述符數的當前值
ulimit -Sn
ulimit -Hn
如若輸出小於10000,則將其設置為10000
ulimit -n 10000
安裝mysql
准備一台mysql,utf8mb4格式的
創建ambari數據庫,一台hive數據庫
各自准備用戶名密碼
#下載repo,制作本地鏡像(參照官方文檔的No Internet Access部分)
-
Ambari-2.7.4.0
-
下載 http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.4.0/ambari-2.7.4.0-centos7.tar.gz
(3.08 MB/s) - 已保存 “ambari-2.7.4.0-centos7.tar.gz” (1.9G) 用時 10m 29s
-
hdp 3.1.4
-
下載HDP http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.1.4.0/HDP-3.1.4.0-centos7-rpm.tar.gz
-
再下載HDP-UTILS http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
(7.88 MB/s) - 已保存 “HDP-3.1.4.0-centos7-rpm.tar.gz” (8.9G) 用時 19m 11s
Preparing to Set Up a Local Repository
- 安裝nginx,參照這里: https://www.cnblogs.com/radio/p/3782280.html
- 或者apache、其他的httpserver也行
- 靜態資源放到nginx/static,然后配置文件root xxx/nginx/static; 即可
- 解壓進去能訪問到 http://192.168.210.133/Ambari-2.7.4.0/centos7/2.7.4.0-118/artifacts.txt 即可
編輯repo文件
Ambari repo
- 下載 http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.4.0/ambari.repo
- base url http://192.168.210.133/Ambari-2.7.4.0/centos7/2.7.4.0-118/
- 編輯GPG Key為 http://192.168.210.133/Ambari-2.7.4.0/centos7/2.7.4.0-118/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
- 把上面的repo文件放置到
/etc/yum.repos.d/ambari.repo
目錄下,即/etc/yum.repos.d/ambari.repo
HDP repo
touch /etc/yum.repos.d/HDP.repo
vim /etc/yum.repos.d/HDP.repo
添加內容如下
#VERSION_NUMBER=3.1.4.0-135
[HDP-3.1.4.0]
name=HDP Version - HDP-3.1.4.0
baseurl=http://192.168.210.133/hdp/HDP/centos7
gpgcheck=1
gpgkey=http://192.168.210.133/hdp/HDP/centos7/3.1.4.0-315/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://192.168.210.133/hdp/HDP-UTILS
gpgcheck=1
gpgkey=http://192.168.210.133/hdp/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
分發repo文件到集群所有機器
scp -P2121 /etc/yum.repos.d/HDP.repo root@node4:/etc/yum.repos.d/
scp -P2121 /etc/yum.repos.d/ambari.repo root@node4:/etc/yum.repos.d/
- 編輯
vim /etc/yum/pluginconf.d/priorities.conf
[main]
enabled=1
gpgcheck=0
yum repolist
生成本地源
在node1上安裝Ambari源
安裝yum的相關工具
yum install yum-utils -y
yum repolist
yum install createrepo -y
安裝
yum install ambari-sever
復制下載的mysql JDBC 驅動
[root@node1 main]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/main/soft/mysql-connector-java-8.0.18.jar
Using python /usr/bin/python
Setup ambari-server
Copying /main/soft/mysql-connector-java-8.0.18.jar to /var/lib/ambari-server/resources/mysql-connector-java-8.0.18.jar
Creating symlink /var/lib/ambari-server/resources/mysql-connector-java-8.0.18.jar to /var/lib/ambari-server/resources/mysql-connector-java.jar
If you are updating existing jdbc driver jar for mysql with mysql-connector-java-8.0.18.jar. Please remove the old driver jar, from all hosts. Restarting services that need the driver, will automatically copy the new jar to the hosts.
JDBC driver was successfully initialized.
Ambari Server 'setup' completed successfully.
准備mysql的driver到/usr/share/java/中去
mkdir -p /usr/share/java/
cp /main/soft/mysql-connector-java-8.0.18.jar /usr/share/java/
chmod 644 /usr/share/java/mysql-connector-java-8.0.18.jar
安裝 setup
ambari-server setup
自定義JDK目錄
自定義數據庫
指定mysql的JDBC driver
其他幾個節點安裝ambari-agent
因為repo已經復制過去了,所以很快
yum install ambari-agent
登錄,配置集群
- 登錄 http://192.168.210.133:8080 用戶名密碼都是admin
- 點擊LUANCH INSTALL... 開始安裝集群
- 集群起名
- 選擇版本
- 修改下面的repo地址為本地的倉庫
HDP-3.1部分的http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.1.4.0
修改為http://192.168.210.133/hdp/HDP/centos7/3.1.4.0-315
HDP-UTILS-1.1.0.22部分http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7
修改為:http://192.168.210.133/hdp/HDP-UTILS/centos7/1.1.0.22
密碼
都是admin,都是wq_
配置數據庫
設置目錄
確認賬號
最終清單
中途有兩個警告,再議
Highly Recommended Configurations 3
Please review the folowing recommended changes, and click on the property name to change its value.
Type Service Property Current Value Description
Warning Ambari Metrics hbase.rootdir file:///var/lib/ambari-metrics-collector/hbase
It is not recommended to use root partition for hbase.rootdir
Ambari Metrics service uses HBase as default storage backend. Set the rootdir for
HBase to either local filesystem path if using Ambari Metrics in embedded mode or
to a HDFS dir, example: hdfs://namenode.example.org:8020/amshbase.
Warning Ambari Metrics hbase.tmp.dir /var/lib/ambari-metrics-collector/hbase-tmp
Consider not using / partition for storing metrics temporary data. / partition is already used as hbase.rootdir to store metrics data
Temporary directory on the local filesystem.
Change this setting to point to a location more permanent
than '/tmp' (The '/tmp' directory is often cleared on
machine restart).
Warning Atlas atlas.graph.storage.hostname node1,node2,node3
Atlas is configured to use the HBase installed in this cluster. If you would like Atlas to use another HBase instance, please configure this property and HBASE_CONF_DIR variable in atlas-env appropriately.
備注
- 安裝錯誤的話注意看日志,一般都是腳本權限、或者數據庫配置問題
- JDBC URI注意:
- jdbc:mysql://192.168.xx.xx:3306/hive 如果hive庫不存在可能會報錯,改成下面就ok了
- jdbc:mysql://192.168.xx.xx:3306/hive?createDatabaseIfNotExist=true
- hdfs禁用密碼:
- 如果自己用的話,可以禁用權限驗證,否則會有問題:
- config,高級,配置:
dfs.permissions.enabled=false