CentOS7 離線環境 使用ansible自動部署CDH5.16
前言
本文介紹如何使用作者開發的自動化腳本,離線部署cdh集群,只需要簡單的配置下yum源和cdh集群節點IP等幾個引數,就可實作一鍵部署cdh集群,省去配置mysql、ntp服務、主機配置、cdh檔案分發等繁雜操作,安裝程序快速便捷,我自己測驗,三個節點的集群,cdh安裝不超過15分鐘,
注意: 主機配置邏輯存盤卷并不在自動化范圍內,如您已配置邏輯卷或不需要邏輯卷,請繼續往下,(建議先做邏輯卷,以后好擴容存盤,以后有時間,我會把配置邏輯卷也加到腳本里,筆者使用的磁盤由ceph的塊存盤服務提供,可自由擴容,)
簡介
整個cdh集群的部署由anible-palybook的劇本完成,其中mysql采用docker的部署方式,ntp服務使用chrony搭建,
下載安裝包
下載地址:https://pan.baidu.com/s/1yosjmPLZHngL1QFbxV095g
提取碼:w4uf
檔案大小:3.74GB
安裝包包含軟體:cdh5.16、ansible2.9.21、docker20.10.7、chrony、mysql5.7、vim等基礎工具包以及作者開發的相關自動化腳本,
安裝并配置ansible
將安裝包發送至目標主機(scm-server節點)/root目錄下,并解壓
[root@cdh-auto-deploy-test-1 ~]# tar -xvf cdh.5.16.tar
[root@cdh-auto-deploy-test-1 ~]# ll cdh5.16
total 2984412
-rw-r--r--. 1 root root 2127506677 Jun 9 10:14 CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel
-rw-r--r--. 1 root root 41 Jun 9 10:13 CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha
-rw-r--r--. 1 root root 841524318 Jun 9 10:14 cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz
drwxr-xr-x. 4 root root 153 Jun 25 15:17 deployfiles
-rw-r--r--. 1 root root 5670 Jun 9 10:14 KAFKA-1.2.0.jar
-rw-r--r--. 1 root root 85897902 Jun 9 10:14 KAFKA-4.0.0-1.4.0.0.p0.1-el7.parcel
-rw-r--r--. 1 root root 41 Jun 9 10:14 KAFKA-4.0.0-1.4.0.0.p0.1-el7.parcel.sha
-rw-r--r--. 1 root root 66538 Jun 9 10:14 manifest.json
-rw-r--r--. 1 root root 5356 Jun 9 10:14 manifestkafka.json
-rw-r--r--. 1 root root 1007502 Jun 9 10:14 mysql-connector-java-5.1.47.jar
修改yum源指向解壓的安裝包中的目錄
[root@cdh-auto-deploy-test-1 ~]# mkdir /etc/yum.repos.d/back
[root@cdh-auto-deploy-test-1 ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/back/
[root@cdh-auto-deploy-test-1 ~]# cp /root/cdh5.16/deployfiles/yumPackages/software.repo /etc/yum.repos.d/
[root@cdh-auto-deploy-test-1 ~]# vi /etc/yum.repos.d/software.repo
[software]
name=software
## 修改`baseurl`的值,使其指向軟體包,
baseurl=file:///root/cdh5.16/deployfiles/yumPackages/rpmPackages/
enabled=1
gpgcheck=0
[vim]
name=vim
## 修改`baseurl`的值,使其指向解壓出的檔案,
baseurl=file:///root/cdh5.16/deployfiles/yumPackages/vim/
enabled=1
gpgcheck=0
使用yum安裝ansible
[root@cdh-auto-deploy-test-1 ~]# yum install -y ansible vim perl
[root@cdh-auto-deploy-test-1 ~]# ansible --version
ansible 2.9.21
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Apr 9 2019, 14:30:50) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
[root@cdh-auto-deploy-test-1 ~]#
修改ansible.cfg,關閉ssh密鑰檢查,
[root@cdh-auto-deploy-test-1 ~]# vim /etc/ansible/ansible.cfg
host_key_checking = False
修改ansible的hosts檔案,配置ansible主機,替換主機IP和密碼,
[root@cdh-auto-deploy-test-1 ~]# vim /etc/ansible/hosts
[scm_server]
10.0.5.77 ansible_host=10.0.5.77 hostname=cdh1 ansible_user=root ansible_ssh_pass=12345 ansible_connection=local
[scm_agent]
10.0.5.74 ansible_host=10.0.5.74 hostname=cdh2 ansible_user=root ansible_ssh_pass=12345
[cdh:children]
scm_server
scm_agent
[db:children]
scm_server
測驗主機通信,ping所有節點:
[root@cdh-auto-deploy-test-1 ~]# ansible all -m ping
cdh1 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
cdh2 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
[root@cdhdeploytest-2 yumPackages]#
安裝cdh5.16
修改/root/cdh5.16/deployfiles/vars.yaml,配置引數:
##變數存盤檔案
#
#vm_type代表ansible節點的虛擬機型別,
#當前版本有效值為“centos7”,
vm_type: "centos7"
#當有可用的ntp服務器時填寫服務器的ip,沒有不填,不填(為空)時,將同步scm-server所在節點的時間同步至其它節點,
ntp_server:
#安裝包(解壓后)所在目錄,
cdh_packages_dir: "/root"
#資料盤目錄,docker的持久卷、cdh的scm等將存放在此目錄下,
cdh_data_dir: "/opt"
使用ansible-playbook自動安裝cdh5.16
[root@cdh-auto-deploy-test-1 ~]# ansible-playbook /root/cdh5.16/deployfiles/deploy-cdh.yaml
注意:
/root/cdh5.16/deployfiles/deploy-cdh.yaml是自動化部署cdh的ansible腳本,
可以自行修改此腳本,定制部署自己的cdh,
mysql用戶密碼、docker卷目錄都在此檔案中修改,
當腳本結束后,執行 tail -200f /opt/cloudera-manager/cm-5.16.1/log/cloudera-scm-server/cloudera-scm-server.log查看scn-server的日志,大約幾分鐘后出現如下內容表示sever啟動完成:
Started SelectChannelConnector@0.0.0.0:7180
Started Jetty server.
ScmActive completed successfully.
Discovered parcel on CM server: CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel
Created torrent file: /opt/cloudera/parcel-repo/CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.torrent
Creating single-file torrent for CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel...
Hashing data from CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel with 4 threads (4058 pieces)...
... 10% complete
... 20% complete
... 30% complete
... 40% complete
... 50% complete
... 60% complete
... 70% complete
... 80% complete
... 90% complete
Hashed 1 file(s) (2127506677 bytes) in 4058 pieces (4058 expected) in 6605.6ms.
Single-file torrent information:
Torrent name: CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel
Announced at: Seems to be trackerless
Created on..: Fri Jun 25 16:49:59 CST 2021
Created by..: cm-server
Pieces......: 4058 piece(s) (524288 byte(s)/piece)
Total size..: 2,127,506,677 byte(s)
calParcelManagerImpl: Discovered parcel on CM server: KAFKA-4.0.0-1.4.0.0.p0.1-el7.parcel
calParcelManagerImpl: Created torrent file: /opt/cloudera/parcel-repo/KAFKA-4.0.0-1.4.0.0.p0.1-el7.parcel.torrent
Creating single-file torrent for KAFKA-4.0.0-1.4.0.0.p0.1-el7.parcel...
Hashing data from KAFKA-4.0.0-1.4.0.0.p0.1-el7.parcel with 4 threads (164 pieces)...
... 10% complete
... 20% complete
... 30% complete
... 40% complete
... 50% complete
... 60% complete
... 70% complete
... 80% complete
... 90% complete
Hashed 1 file(s) (85897902 bytes) in 164 pieces (164 expected) in 277.9ms.
Single-file torrent information:
Torrent name: KAFKA-4.0.0-1.4.0.0.p0.1-el7.parcel
Announced at: Seems to be trackerless
Created on..: Fri Jun 25 16:50:06 CST 2021
Created by..: cm-server
Pieces......: 164 piece(s) (524288 byte(s)/piece)
Total size..: 85,897,902 byte(s)
現在可以登錄cdh1:7180部署集群了,用戶:admin 密碼:admin
備注
/opt/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-agent status 查看agent狀態
/opt/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-server status 查看server狀態
附:安裝包中的自動化腳本 |
deploy-cdh.yaml
--- - hosts: all vars_files: - ./vars.yaml tasks: - name: send centos7init to all node synchronize: src: "{{cdh_packages_dir}}/cdh5.16/deployfiles/centos7init.sh" dest: "{{cdh_data_dir}}/" - name: init all node with centos7init shell: bash "{{cdh_data_dir}}/centos7init.sh" register: initinfo ignore_errors: yes - name: initinfo debug: msg: - "return code is {{initinfo.rc}}" - "{{initinfo.stdout_lines}}" - name: set hostname shell: hostnamectl set-hostname "{{hostname|quote}}" ## 此任務禁用,請使用下面同名的任務,因為blockfile模塊可以避免重復插入, # - name: set hosts # shell: echo "{{item.key}} {{item.value.hostname}}" >> /etc/hosts # with_dict: # - "{{hostvars}}" - name: set hosts blockinfile: path: /etc/hosts block: | {% for item in hostvars %} {{hostvars[item]['ansible_host']}} {{hostvars[item]['hostname']}} {% endfor %} state: present - name: disable selinux shell: setenforce 0 ignore_errors: yes - name: set selinux config shell: sed -i 's/SELINUX=enforcing/SELINUX=disable/g' /etc/selinux/config ignore_errors: yes - name: shutdown firewalld shell: systemctl stop firewalld ignore_errors: yes - name: disable firewall shell: systemctl disable firewalld ignore_errors: yes - name: send yum packages to all node synchronize: src: "{{cdh_packages_dir}}/cdh5.16/deployfiles/yumPackages" dest: /root/ - name: check yum repo shell: ls /etc/yum.repos.d | grep software.repo register: repos ignore_errors: yes - name: make back repo shell: mkdir -p /etc/yum.repos.d/back ignore_errors: yes - name: back yum repo shell: mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/back/ when: repos.rc != 0 ignore_errors: yes - name: set yum repo synchronize: src: /root/yumPackages/software.repo dest: /etc/yum.repos.d/software.repo when: repos.rc != 0 - name: install openjdk1.8 chrony psmisc use yum yum: name: - perl - psmisc - chrony - java-1.8.0-openjdk.x86_64 state: present - name: set openjdk ssl shell: sed -i 's/jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4/jdk.tls.disabledAlgorithms=RC4/g' /usr/lib/jvm/jre-1.8.0-openjdk/lib/security/java.security - name: set chrony.conf template: src: chrony.conf.j2 dest: "/etc/chrony.conf" when: vm_type == "centos7" - name: sync time shell: systemctl {{item}} with_items: - "enable chronyd" - "restart chronyd" - hosts: db vars_files: - ./vars.yaml tasks: - name: install docker-ce yum: name: - docker-ce state: present - name: enable docker shell: systemctl enable docker - name: check docker status shell: systemctl status docker register: dockerstat ignore_errors: yes - name: check mysql status shell: docker ps -a | grep mysql register: mysqlstat ignore_errors: yes - name: print mysqlstat.rc debug: msg: - "{{mysqlstat.rc}}" - "{{mysqlstat.stdout_lines}}" - name: start docker-ce shell: service docker restart when: dockerstat.rc != 0 - name: send mysql.tar synchronize: src: "{{cdh_packages_dir}}/cdh5.16/deployfiles/mysql.tar" dest: "{{cdh_data_dir}}/mysql.tar" when: mysqlstat.rc != 0 - name: load mysql image shell: docker load < "{{cdh_data_dir}}"/mysql.tar when: mysqlstat.rc != 0 - name: make dir for mysql volume command: cmd: mkdir -p {{item}} with_items: - "{{cdh_data_dir}}/mysql/mysql-config" - "{{cdh_data_dir}}/mysql/mysql-data" when: mysqlstat.rc != 0 - name: set my.cnf template: src: my.cnf.j2 dest: "{{cdh_data_dir}}/mysql/mysql-config/my.cnf" - name: docker restart mysql shell: docker restart mysql when: mysqlstat.rc == 0 - name: docker run mysql shell: docker run -it -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD="1qaz2wsx" -v "{{cdh_data_dir}}"/mysql/mysql-config:/etc/mysql -v "{{cdh_data_dir}}"/mysql/mysql-data:/var/lib/mysql mysql:5.7.34 register: result when: mysqlstat.rc != 0 - name: wart for mysql ready wait_for: timeout: 300 port: 3306 delay: 60 state: drained - name: copy init_cdhmsyql.sh synchronize: src: "{{cdh_packages_dir}}/cdh5.16/deployfiles/init-cdh-server-mysql.sh" dest: "{{cdh_data_dir}}/mysql/mysql-config/" when: mysqlstat.rc != 0 - name: create databases and user shell: docker exec mysql /bin/bash /etc/mysql/init-cdh-server-mysql.sh # when: result.rc == 0 mysqlstat.rc == 0 ignore_errors: yes - hosts: cdh vars_files: - ./vars.yaml tasks: - name: mkdir java shell: mkdir -p /usr/share/java - name: copy mysql-connector-java synchronize: src: "{{cdh_packages_dir}}/cdh5.16/mysql-connector-java-5.1.47.jar" dest: /usr/share/java/mysql-connector-java.jar - hosts: scm_server vars_files: - ./vars.yaml tasks: - name: create dir shell: mkdir -p "{{cdh_data_dir}}/{{item}}" with_items: - cloudera-manager - cloudera/parcel-repo - cloudera/parcels - name: extract cloudera manager shell: tar -zxvf "{{cdh_packages_dir}}"/cdh5.16/cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz -C "{{cdh_data_dir}}"/cloudera-manager/ - name: cp parcel-repo shell: cp "{{cdh_packages_dir}}/cdh5.16/{{item}}" "{{cdh_data_dir}}/cloudera/parcel-repo/" with_items: - "CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel" - "CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha" - "KAFKA-4.0.0-1.4.0.0.p0.1-el7.parcel" - "KAFKA-4.0.0-1.4.0.0.p0.1-el7.parcel.sha" - "manifest.json" - "manifestkafka.json" - "KAFKA-1.2.0.jar" - name: fix agent file shell: sed -i "s/server_host=localhost/server_host={{hostname}}/g" "{{cdh_data_dir}}"/cloudera-manager/cm-5.16.1/etc/cloudera-scm-agent/config.ini - name: set scm-server dbproperties shell: sed -i "s/^.*com.cloudera.cmf.db.{{ item.name }}=.*$/com.cloudera.cmf.db.{{ item.name }}={{ item.value }}/" "{{cdh_data_dir}}"/cloudera-manager/cm-5.16.1/etc/cloudera-scm-server/db.properties with_items: - { name: 'type', value: 'mysql' } - { name: 'host', value: 'cdh1' } - { name: 'name', value: 'cmf' } - { name: 'user', value: 'cmf' } - { name: 'password', value: '1qaz2wsx' } - { name: 'setupType', value: 'EXTERNAL' } ignore_errors: yes - hosts: scm_agent vars_files: - ./vars.yaml tasks: - name: cp files synchronize: src: "{{cdh_data_dir}}/{{ item }}" dest: "{{cdh_data_dir}}/" with_items: - "cloudera" - "cloudera-manager" - hosts: cdh vars_files: - ./vars.yaml tasks: - name: del cloudera-scm user: name: cloudera-scm state: absent - name: add user shell: useradd --system --home="{{cdh_data_dir}}"/cloudera-manager/cm-5.16.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm - name: change owner of file shell: chown -R cloudera-scm:cloudera-scm "{{cdh_data_dir}}/{{item}}" with_items: - "cloudera" - "cloudera-manager" - hosts: scm_server vars_files: - ./vars.yaml tasks: - name: copy scm-server synchronize: src: "{{cdh_data_dir}}/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-server" dest: "/etc/init.d/" - name: set scm-server enable shell: "chkconfig {{item}}" with_items: - "--add cloudera-scm-server" - "cloudera-scm-server on" - name: set scm-server env prameters shell: sed -i 's?CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}?CMF_DEFAULTS=${CMF_DEFAULTS:-/opt/cloudera-manager/cm-5.16.1/etc/default}?g' /etc/init.d/cloudera-scm-server - name: start server shell: "{{cdh_data_dir}}/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-server restart" - hosts: cdh vars_files: - ./vars.yaml tasks: - name: copy scm-agent synchronize: src: "{{cdh_data_dir}}/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-agent" dest: "/etc/init.d/" - name: set scm-agent enable shell: "chkconfig {{item}}" with_items: - "--add cloudera-scm-agent" - "cloudera-scm-agent on" - name: set scm-agent env prameters shell: sed -i 's?CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}?CMF_DEFAULTS=${CMF_DEFAULTS:-/opt/cloudera-manager/cm-5.16.1/etc/default}?g' /etc/init.d/cloudera-scm-agent - name: wait for scm-server wait_for: timeout: 300 port: 7182 delay: 60 state: drained - name: start agent shell: "{{cdh_data_dir}}/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-agent restart"centos7init.sh
#!/bin/bash cat << EOF +--------------------------------------------------------------+ | === Welcome to CentOS System init === | +--------------------------------------------------------------+ EOF #set transparent_hugepage echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local #set limits cat > /etc/security/limits.conf << EOF root soft nproc 65535 root hard nproc 65535 * soft nofile 1024000 * hard nofile 1024000 EOF cat << EOF +-------------------set limits success-----------------+ EOF #set sysctl cat > /etc/sysctl.conf << EOF fs.file-max = 1024000 vm.swappiness = 0 kernel.sysrq = 0 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv4.neigh.default.gc_stale_time=120 net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0 net.ipv4.conf.default.arp_announce = 2 net.ipv4.conf.lo.arp_announce=2 net.ipv4.conf.all.arp_announce=2 net.ipv4.tcp_max_tw_buckets = 5000 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_synack_retries = 2 EOF /sbin/sysctl -p cat << EOF +-------------------set sysctl success-----------------+ EOFinit-cdh-server-myusql.sh
#!/bin/bash creat_cmf="create database cmf DEFAULT CHARACTER SET utf8 COLLATE 'utf8_general_ci';" creat_hive="create database hive DEFAULT CHARACTER SET utf8 COLLATE 'utf8_general_ci';" creat_oozie="create database oozie DEFAULT CHARACTER SET utf8 COLLATE 'utf8_general_ci';" creat_hue="create database hue DEFAULT CHARACTER SET utf8 COLLATE 'utf8_general_ci';" creat_amon="create database amon DEFAULT CHARACTER SET utf8 COLLATE 'utf8_general_ci';" creat_activity="create database activity DEFAULT CHARACTER SET utf8 COLLATE 'utf8_general_ci';" creat_reports="create database reports DEFAULT CHARACTER SET utf8 COLLATE 'utf8_general_ci';" creat_audit="create database audit DEFAULT CHARACTER SET utf8 COLLATE 'utf8_general_ci';" creat_metadata="create database metadata DEFAULT CHARACTER SET utf8 COLLATE 'utf8_general_ci';" access_auth_cmf="grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY '1qaz2wsx';" access_auth_hive="grant all on hive.* TO 'hive'@'%' IDENTIFIED BY '1qaz2wsx';" access_auth_oozie="grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY '1qaz2wsx';" access_auth_hue="grant all on hue.* TO 'hue'@'%' IDENTIFIED BY '1qaz2wsx';" access_auth_amon="grant all on amon.* TO 'amon'@'%' IDENTIFIED BY '1qaz2wsx';" access_auth_activity="grant all on activity.* TO 'activity'@'%' IDENTIFIED BY '1qaz2wsx';" access_auth_reports="grant all on reports.* TO 'reports'@'%' IDENTIFIED BY '1qaz2wsx';" access_auth_audit="grant all on audit.* TO 'audit'@'%' IDENTIFIED BY '1qaz2wsx';" access_auth_metadata="grant all on metadata.* TO 'metadata'@'%' IDENTIFIED BY '1qaz2wsx';" access_auth_remote="grant all PRIVILEGES on *.* to 'root'@'%' identified by '1qaz2wsx' with grant option;" flush="flush privileges;" sqls=("${creat_cmf}" "${creat_hive}" "${creat_oozie}" "${creat_hue}" "${creat_amon}" "${access_auth_cmf}" "${access_auth_hive}" "${access_auth_oozie}" "${access_auth_hue}" "${access_auth_amon}" "${access_auth_remote}" "${flush}") for i in "${sqls[@]}" do mysql -uroot -p1qaz2wsx -e "${i}"; donemysql組態檔的ansible模板:my.cnf.j2
[mysqld] skip-name-resolve pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql #log-error = /var/log/mysql/error.log # By default we only accept connections from localhost #bind-address = 127.0.0.1 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 server-id=1 log-bin=mysql-bin binlog_format = ROW binlog_row_image = full max_binlog_size = 1G max_allowed_packet = 2G log_timestamps=SYSTEM wait_timeout=2880000 innodb_flush_log_at_trx_commit=0 innodb_buffer_pool_size=6442450944 max_allowed_packet =67108864 default-time_zone = '+8:00' character-set-server=utf8 character-set-server=utf8 max_connections = 3000 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #[client] #default-character-set=utf8 [mysql] #default-character-set=utf8chrony組態檔的ansible模板:chrony.conf.j2
# Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). {% if ntp_server is none or not ntp_server %} server {{groups['scm_server'][0]}} iburst {% else %} server {{ntp_server}} iburst {% endif %} # Record the rate at which the system clock gains/losses time. driftfile /var/lib/chrony/drift # Allow the system clock to be stepped in the first three updates # if its offset is larger than 1 second. makestep 1.0 3 # Enable kernel synchronization of the real-time clock (RTC). rtcsync # Enable hardware timestamping on all interfaces that support it. #hwtimestamp * # Increase the minimum number of selectable sources required to adjust # the system clock. #minsources 2 # Allow NTP client access from local network. #allow 192.168.0.0/16 {% if ntp_server is none or not ntp_server %} {% if ansible_host == groups['scm_server'][0] %} {% set list1 = ansible_host.split('.') %} allow {{list1[0]}}.{{list1[1]}}.{{list1[2]}}.0/24 local stratum 10 {% endif %} {% endif %} # Serve time even if not synchronized to a time source. #local stratum 10 # Specify file containing keys for NTP authentication. #keyfile /etc/chrony.keys # Specify directory for log files. logdir /var/log/chrony # Select which information is logged. #log measurements statistics tracking
部署服務
登錄首頁后可以按如下操作部署一個示例集群,
步驟:
-
勾選接受許可條款,點擊繼續

-
選擇免費,點擊繼續

-
點擊繼續

-
輸入節點IP,以逗號分割,點擊搜索
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mSZU3R97-1644827636714)(pictures/Snap2.jpg)]](https://img.uj5u.com/2022/02/16/300451161737044.jpg)
-
勾選主機,點擊繼續
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-U0RjQD1P-1644827636715)(pictures/Snap3.jpg)]](https://img.uj5u.com/2022/02/16/300451161737045.jpg)
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-IDQ0wLYT-1644827636716)(pictures/Snap4.jpg)]](https://img.uj5u.com/2022/02/16/300451161737046.jpg)
-
其它parcel勾選kafka,點擊繼續
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Fczd79vB-1644827636717)(pictures/Snap5.jpg)]](https://img.uj5u.com/2022/02/16/300451161737047.jpg)
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ndJxg5Rz-1644827636717)(pictures/Snap6.jpg)]](https://img.uj5u.com/2022/02/16/300451161737048.jpg)
-
待parcel安裝完畢,檢查主機完成后,點擊完成
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-0MrzzABW-1644827636718)(pictures/Snap7.jpg)]](https://img.uj5u.com/2022/02/16/300451161737049.jpg)
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-tGtJKfht-1644827636718)(pictures/Snap8.jpg)]](https://img.uj5u.com/2022/02/16/3004511617370410.jpg)

-
集群安裝勾選自定義服務、選擇服務(如圖),點擊繼續
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-rVs0mDcE-1644827636720)(pictures/Snap10.jpg)]](https://img.uj5u.com/2022/02/16/3004511617370412.jpg)
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-D3Gb9X8E-1644827636720)(pictures/Snap-csum.jpg)]](https://img.uj5u.com/2022/02/16/3004511617370413.jpg)
-
在集群設定中,選擇服務將要分發的節點,圖中以6個節點做示范,
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-77mFRAgS-1644827636721)(pictures/hadoopServers1.jpg)]](https://img.uj5u.com/2022/02/16/3004511617370414.jpg)
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-yxhDQEwD-1644827636722)(pictures/hadoopServers2.jpg)]](https://img.uj5u.com/2022/02/16/3004511617370415.jpg)
-
輸入相關資料庫和用戶名稱(其中navigation的服務都使用cmf資料庫,
用戶是cmf,其它服務的用戶和資料庫如圖),測驗連接,點擊繼續
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-rX8VGKZY-1644827636723)(pictures/Snap14.jpg)]](https://img.uj5u.com/2022/02/16/3004511617370416.jpg)
-
將所有資料目錄修改到掛載的資料卷下,此處是/opt目錄下,
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-71gGWbm4-1644827636723)(pictures/Snap15.jpg)]](https://img.uj5u.com/2022/02/16/3004511617370417.jpg)
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-bvmsrTMP-1644827636724)(pictures/Snap16.jpg)]](https://img.uj5u.com/2022/02/16/3004511617370418.jpg)
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-LxplMaex-1644827636724)(pictures/Snap17.jpg)]](https://img.uj5u.com/2022/02/16/3004511617370419.jpg)
-
點擊繼續,然后查看部署結果,
如果部署中止或失敗,查看錯誤報告解決相關問題,
本文屬作者原創,轉載請注明出處,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/424075.html
標籤:其他
