一、下载安装包

  因为使用在线安装特别慢,所有的安装包加起来有9个G左右,所以本教程是通过迅雷下载包,然后上传到服务器,通过配置本地源的方式来实现的离线安装。通过ambari安装需要下载下面的三个主要包:

HDP:http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-centos7-rpm.tar.gz

ambari:http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari-2.6.0.0-centos7.tar.gz

HDP-UTILS:http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz

注意问题:安装的centos系统必选选择英文版本,不然里面有些地方为莫名出错

二、系统环境配置

1、安装jdk(所有机器)

一般linux自带的jdk或者是通过yum安装的jdk都是openjdk,但是最好是使用oracle/sun jdk,前者是开源的,缺失部分功能,后者是官方的。但是如果直接安装oracle的jdk,第三方的依赖包不会安装,所以最有效的额方式是通过yum安装openjdk,并同时安装了第三方依赖包,然后卸载openjdk,通过自己来安装oracle的jdk,就能解决依赖问题。

(1)安装openjdk

  1. [root@master ~]# yum -y install java
  2. [root@master ~]# java -version
  3. openjdk version "1.8.0_161"
  4. OpenJDK Runtime Environment (build 1.8.0_161-b14)
  5. OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
  6. [root@master ~]# rpm -qa|grep java
  7. javapackages-tools-3.4.1-11.el7.noarch
  8. java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
  9. python-javapackages-3.4.1-11.el7.noarch
  10. tzdata-java-2018d-1.el7.noarch
  11. java-1.8.0-openjdk-headless-1.8.0.161-0.b14.el7_4.x86_64

(2)下载oracle

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

选择下载上面标红的jdk的版本1.8.0_161 jdk-8u161-linux-x64.rpm,然后上传到服务器

(3)卸载OpenJDK

  1. [root@master ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-0.b14.el7_4.x86_64
  2. [root@master ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64

(4)安装下载好的jdk

  1. [root@master ~]# rpm -ivh jdk-8u161-linux-x64.rpm
  2. 准备中... ################################# [100%]
  3. 正在升级/安装...
  4. 1:jdk1.8-2000:1.8.0_161-fcs ################################# [100%]
  5. Unpacking JAR files...
  6. tools.jar...
  7. plugin.jar...
  8. javaws.jar...
  9. deploy.jar...
  10. rt.jar...
  11. jsse.jar...
  12. charsets.jar...
  13. localedata.jar...
  14. [root@master ~]# java -version
  15. java version "1.8.0_161"
  16. Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
  17. Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
  18. [root@master ~]# javac -version
  19. javac 1.8.0_161

2、修改本机名(所有机器)

  通过vi /etc/hostname 进行修改

  各个节点修改成相应的名称,分别为master,slave1.slave2.slave3,例

  1. master

  然后重启电脑

3、修改/etc/hosts文件(所有机器)

  这里主要是为了可以实现通过名称来查找相应的服务器

  1. [root@master ~]# vi /etc/hosts
  2. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  4. 192.168.12.101 master
  5. 192.168.12.102 slave1
  6. 192.168.12.103 slave2
  7. 192.168.12.104 slave3

 4、修改/etc/sysconfig/network(所有机器)

  1. [root@master ~]# vi /etc/sysconfig/network
  2. # Created by anaconda
  3. NETWORKING=yes

  接下来就可以通过测试一下是否可以通过ping主机名来找到对应的服务器

  1. [root@master ~]# ping slave1
  2. PING slave1 (192.168.12.102) 56(84) bytes of data.
  3. 64 bytes from slave1 (192.168.12.102): icmp_seq=1 ttl=63 time=0.134 ms
  4. 64 bytes from slave1 (192.168.12.102): icmp_seq=2 ttl=63 time=0.132 ms
  5. 64 bytes from slave1 (192.168.12.102): icmp_seq=3 ttl=63 time=0.133 ms
  6. 64 bytes from slave1 (192.168.12.102): icmp_seq=4 ttl=63 time=0.133 ms
  7. 64 bytes from slave1 (192.168.12.102): icmp_seq=5 ttl=63 time=0.132 ms
  8. ^C
  9. --- slave1 ping statistics ---
  10. 5 packets transmitted, 5 received, 0% packet loss, time 4000ms
  11. rtt min/avg/max/mdev = 0.132/0.132/0.134/0.014 ms

5、修改文件打开限制(所有机器)

  1. [root@master ~]# vi /etc/security/limits.conf
  2. # End of file
  3. * soft nofile 65536
  4. * hard nofile 65536
  5. * soft nproc 131072
  6. * hard nproc 131072

6、关闭防火墙(所有机器)

  1. [root@master~]#systemctl disable firewalld
  2. [root@master~]#systemctl stop firewalld

  除此之外

  1. [root@master ~]# cat /etc/selinux/config
  2. # This file controls the state of SELinux on the system.
  3. # SELINUX= can take one of these three values:
  4. # enforcing - SELinux security policy is enforced.
  5. # permissive - SELinux prints warnings instead of enforcing.
  6. # disabled - No SELinux policy is loaded.
  7. SELINUX=disabled
  8. # SELINUXTYPE= can take one of these two values:
  9. # targeted - Targeted processes are protected,
  10. # mls - Multi Level Security protection.
  11. SELINUXTYPE=targeted

7、同步时钟

(1)安装ntp服务(所有机器)

  1. [root@master ~]#yum -y install ntp

(2)设置master为主服务器,开启nptd服务(主服务器)

  1. [root@master ~]#vi /etc/ntp.conf

如图:

  1. [root@master ~]# systemctl start ntpd.service #启动服务
  2. [root@master ~]# systemctl enable ntpd.service #开机自启动

(3)、子节点设置同步(子节点)

  主服务器开启ntp服务器以后,子节点就不需要开启了,因为当server与client之间的时间误差过大时(可能是1000秒),处于对修改时间可能对系统和应用带来不可预知的问题,NTP将停止时间同步!所以如果发现NTP启动之后时间并不进行同步时,应该考虑到可能是时间差过大引起的,此时需要先手动进行时间同步!所以直接使用定时手动同步的方式就可以了。

  1. [root@slave1 data]# crontab -e
  2. 0-59/10 * * * * /usr/sbin/ntpdate master
  3. crontab: installing new crontab
  4. [root@slave1 data]# crontab -l
  5. 0-59/10 * * * * /usr/sbin/ntpdate master

8、SSH无密码登陆(主节点)

配置master节点无密码登录到其他节点,在master节点上操作

  1. [root@master ~]# ssh-keygen -t rsa
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/root/.ssh/id_rsa):
  4. Created directory '/root/.ssh'.
  5. Enter passphrase (empty for no passphrase):
  6. Enter same passphrase again:
  7. Your identification has been saved in /root/.ssh/id_rsa.
  8. Your public key has been saved in /root/.ssh/id_rsa.pub.
  9. The key fingerprint is:
  10. SHA256:NMVPXezqq+MPf95MtP5bzaghnvXSljcC4BH/QFCvm+I root@master
  11. The key's randomart image is:
  12. +---[RSA 2048]----+
  13. | o+. . o.|
  14. | o..o . .|
  15. | o +o . . |
  16. | . + oo .|
  17. | S o.o ..|
  18. | . .o..+o|
  19. | ..o=o.o=|
  20. | ...+oB*+=|
  21. | Eo.+**BO|
  22. +----[SHA256]-----+
  23. [root@master ~]# ssh-copy-id slave1
  24. /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
  25. The authenticity of host 'slave1 (192.168.12.102)' can't be established.
  26. ECDSA key fingerprint is SHA256:GG4+viH+NDpVisSLMobnjEYOs171XRVUDoG85EI+mI8.
  27. ECDSA key fingerprint is MD5:f3:bf:63:a6:89:61:c2:08:3c:7d:2a:ed:13:be:d3:ae.
  28. Are you sure you want to continue connecting (yes/no)? yes
  29. /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
  30. /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
  31. root@slave1's password:
  32. Permission denied, please try again.
  33. root@slave1's password:
  34. Permission denied, please try again.
  35. root@slave1's password:
  36.  
  37. Number of key(s) added: 1
  38.  
  39. Now try logging into the machine, with: "ssh 'slave1'"
  40. and check to make sure that only the key(s) you wanted were added.
  41.  
  42. [root@master ~]# ssh-copy-id slave2
  43. /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
  44. The authenticity of host 'slave2 (192.168.12.103)' can't be established.
  45. ECDSA key fingerprint is SHA256:Yv86oeVgTcxv8FCm5FLpiEUBTAnXgH2GOkgGboyoR+8.
  46. ECDSA key fingerprint is MD5:8c:ae:b6:c4:f1:77:1e:ab:a5:16:38:a2:d2:da:4c:af.
  47. Are you sure you want to continue connecting (yes/no)? yes
  48. /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
  49. /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
  50. root@slave2's password:
  51.  
  52. Number of key(s) added: 1
  53.  
  54. Now try logging into the machine, with: "ssh 'slave2'"
  55. and check to make sure that only the key(s) you wanted were added.
  56.  
  57. [root@master ~]# ssh-copy-id slave3
  58. /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
  59. The authenticity of host 'slave3 (192.168.12.104)' can't be established.
  60. ECDSA key fingerprint is SHA256:GbLAIxb/anYb/TSicoZlt88DQnb331Fb0Ob5fu8xOxY.
  61. ECDSA key fingerprint is MD5:2b:60:e4:e4:d2:37:2a:8b:fc:66:c2:e9:96:03:7e:d4.
  62. Are you sure you want to continue connecting (yes/no)? yes
  63. /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
  64. /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
  65. root@slave3's password:
  66.  
  67. Number of key(s) added: 1
  68.  
  69. Now try logging into the machine, with: "ssh 'slave3'"
  70. and check to make sure that only the key(s) you wanted were added.
  71.  
  72. [root@master ~]# ssh-copy-id master
  73. /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
  74. The authenticity of host 'master (192.168.12.101)' can't be established.
  75. ECDSA key fingerprint is SHA256:cdz8o54DsUQzXr5vZyeSJUbVUYYZe6bGhmUPbiGW+eY.
  76. ECDSA key fingerprint is MD5:0f:f1:23:22:29:07:eb:84:21:c9:5e:f1:31:f5:b0:77.
  77. Are you sure you want to continue connecting (yes/no)? yes
  78. /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
  79. /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
  80. root@master's password:
  81.  
  82. Number of key(s) added: 1
  83.  
  84. Now try logging into the machine, with: "ssh 'master'"
  85. and check to make sure that only the key(s) you wanted were added.

测试是否实现了无密码登录

  1. [root@master ~]# ssh slave1 date ;ssh slave2 date;ssh slave3 date;ssh master date;
  2. 2018 04 23 星期一 14:18:13 CST
  3. 2018 04 23 星期一 14:18:13 CST
  4. 2018 04 23 星期一 14:18:13 CST
  5. 2018 04 23 星期一 14:18:13 CST

将创建的秘钥拷贝出来,因为后面ambari安装的时候需要上传这个秘钥。创建秘钥是在隐藏文件夹/root/.ssh/下面的,所以需要先把秘钥拷贝到可见区域,然后拷贝到电脑上。下面标红的就是秘钥文件

  1. [root@master ~]# cd /root/.ssh/
  2. [root@master .ssh]# ls
  3. authorized_keys id_rsa id_rsa.pub known_hosts
  4. [root@master .ssh]# cp id_rsa /root/
  5. [root@master .ssh]# ls /root/
  6. anaconda-ks.cfg id_rsa jdk-8u161-linux-x64.rpm

9、其他系统设置 (所有机器)

  1. [root@master ~]# sudo sh -c "echo umask 0022 >> /etc/profile"

三、修改yum源,实现离线安装

1、安装httpd服务(主服务器)

  1. [root@master ~]# yum -y install httpd
  2. [root@master ~]# service httpd restart
  3. Redirecting to /bin/systemctl restart httpd.service
  4. [root@master ~]# chkconfig httpd on

2、将上面下载的三个包放到/var/www/html目录下(主服务器)

  1. [root@master ~]# cd /var/www/html/
  2. [root@master html]# mkdir ambari
  3. 拷贝文件到ambari下面
  4. [root@master html]# cd ambari/
  5. [root@master ambari]# ls
  6. ambari-2.6.0.0-centos7.tar.gz HDP-2.6.3.0-centos7-rpm.tar.gz HDP-UTILS-1.1.0.21-centos7.tar.gz
  7. [root@master ambari]# tar -zxvf ambari-2.6.0.0-centos7.tar.gz
  8. [root@master ambari]# tar -zxvf HDP-2.6.3.0-centos7-rpm.tar.gz
  9. [root@master ambari]# mkdir HDP-UTILS
  10. [root@master ambari]# tar -zxvf HDP-UTILS-1.1.0.21-centos7.tar.gz -C HDP-UTILS
  11. [root@master ambari]# rm -rf ambari-2.6.0.0-centos7.tar.gz HDP-2.6.3.0-centos7-rpm.tar.gz HDP-UTILS-1.1.0.21-centos7.tar.gz
  12. [root@master ambari]# ls
  13. ambari HDP HDP-UTILS

现在可以通过访问http://192.168.12.101/ambari/查看是否能成功访问

3、制作本地源

(1)安装本地源制作相关工具(主服务器)

  1. [root@master ambari]# yum install yum-utils createrepo yum-plugin-priorities -y
  2. [root@master ambari]# createrepo ./

(2)修改文件里面的源地址(主服务器)

  1. [root@master ambari]# vi ambari/centos7/2.6.0.0-267/ambari.repo
  2. #VERSION_NUMBER=2.6.0.0-267
  3. [ambari-2.6.0.0]
  4. name=ambari Version - ambari-2.6.0.0
  5. baseurl=http://192.168.12.101/ambari/ambari/centos7/2.6.0.0-267
  6. gpgcheck=1
  7. gpgkey=http://192.168.12.101/ambari/ambari/centos7/2.6.0.0-267/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
  8. enabled=1
  9. priority=1
  10. [root@master ambari]# cp ambari/centos7/2.6.0.0-267/ambari.repo /etc/yum.repos.d/
  11. [root@master ambari]# vi HDP/centos7/2.6.3.0-235/hdp.repo
  12. #VERSION_NUMBER=2.6.3.0-235
  13. [HDP-2.6.3.0]
  14. name=HDP Version - HDP-2.6.3.0
  15. baseurl=http://192.168.12.101/ambari/HDP/centos7/2.6.3.0-235
  16. gpgcheck=1
  17. gpgkey=http://192.168.12.101/ambari/HDP/centos7/2.6.3.0-235/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
  18. enabled=1
  19. priority=1
  20.  
  21. [HDP-UTILS-1.1.0.21]
  22. name=HDP-UTILS Version - HDP-UTILS-1.1.0.21
  23. baseurl=http://192.168.12.101/ambari/HDP-UTILS
  24. gpgcheck=1
  25. gpgkey=http://192.168.12.101/ambari/HDP-UTILS/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
  26. enabled=1
  27. priority=1
  28. [root@master ambari]# cp HDP/centos7/2.6.3.0-235/hdp.repo /etc/yum.repos.d/

上面就创建好了主机上的文件,然后可以通过下面命令清楚一下yum的缓存就可以了

  1. [root@master ambari]# yum clean all
  2. [root@master ambari]# yum makecache
  3. [root@master ambari]# yum repolist

(3)将创建好的文件拷贝到子节点(主服务器)

  1. [root@master ambari]#cd /etc/yum.repos.d
  2. [root@master yum.repos.d]# scp ambari.repo slave1:/etc/yum.repos.d/
  3. ambari.repo 100% 274 16.3KB/s 00:00
  4. [root@master yum.repos.d]# scp ambari.repo slave2:/etc/yum.repos.d/
  5. ambari.repo 100% 274 115.7KB/s 00:00
  6. [root@master yum.repos.d]# scp ambari.repo slave3:/etc/yum.repos.d/
  7. ambari.repo 100% 274 608.9KB/s 00:00
  8. [root@master yum.repos.d]# scp hdp.repo slave1:/etc/yum.repos.d/
  9. hdp.repo 100% 482 1.1MB/s 00:00
  10. [root@master yum.repos.d]# scp hdp.repo slave2:/etc/yum.repos.d/
  11. hdp.repo 100% 482 969.5KB/s 00:00
  12. [root@master yum.repos.d]# scp hdp.repo slave3:/etc/yum.repos.d/
  13. hdp.repo

四、安装ambari-server

经过不断的安装,有两种模式,一种是默认postgresql数据库的安装方式,这种不推荐生产环境使用,还有一种方式是使用第三方数据库的安装方式,下面介绍两种安装模式,根据个人需求选择。建议使用自带的postgresql来配置数据库,这样在后面安装过程中不会出现问题,如果使用其它数据库,请参考其它教程来设置

1、默认安装方式,使用默认数据库PostgreSQL(不推荐生产环境使用)(主服务器)

(1)、安装和配置ambari-server

  1. [root@master yum.repos.d]# yum -y install ambari-server
  2. [root@master yum.repos.d]# ambari-server setup
  3. Using python /usr/bin/python
  4. Setup ambari-server
  5. Checking SELinux...
  6. SELinux status is 'disabled'
  7. Customize user account for ambari-server daemon [y/n] (n)? n
  8. Adjusting ambari-server permissions and ownership...
  9. Checking firewall status...
  10. Checking JDK...
  11. [1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
  12. [2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
  13. [3] Custom JDK
  14. ==============================================================================
  15. Enter choice (1): 3
  16. WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
  17. 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.
  18. Path to JAVA_HOME: /usr/java/jdk1.8.0_161
  19. Validating JDK on Ambari Server...done.
  20. Completing setup...
  21. Configuring database...
  22. Enter advanced database configuration [y/n] (n)? n
  23. Configuring database...
  24. Default properties detected. Using built-in database.
  25. Configuring ambari database...
  26. Checking PostgreSQL...
  27. Running initdb: This may take up to a minute.
  28. Initializing database ... OK
  29.  
  30. About to start PostgreSQL
  31. Configuring local database...
  32. Configuring PostgreSQL...
  33. Restarting PostgreSQL
  34. Creating schema and user...
  35. done.
  36. Creating tables...
  37. done.
  38. Extracting system views...
  39. ambari-admin-2.6.0.0.267.jar
  40. ...........
  41. Adjusting ambari-server permissions and ownership...
  42. Ambari Server 'setup' completed successfully.

(2)、启动ambari

  1. [root@master ~]# ambari-server start

成功启动后在浏览器输入Ambari地址:

http://192.168.12.101:8080

2、以mysql为数据库安装(主服务器)

(1)安装mysql数据库

  1. [root@master ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
  2. [root@master ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
  3. [root@master ~]# yum install mysql-community-serve

(2)启动mysql,设置开机启动

  1. [root@master ~]# service mysqld start
  2. [root@master ~]# vi /etc/rc.local
  3. #添加service mysqld start

(3)登录进mysql,初始化设置root密码

  1. [root@master ~]# mysql -uroot
  2.  
  3. 设置登录密码
  4. mysql> set password for 'root'@'localhost' = password('yourPassword');
  5.  
  6. 添加远程登录用户
  7. mysql> grant all privileges on *.* to 'root'@'%' identified by 'yourPassword';
  8.  
  9. 远程登录
  10. #mysql -uroot -h ip(远程的ip地址) -p
  1. [root@master yum.repos.d]# yum -y install ambari-server

(4)登录mysql,执行下面的语句

  1. CREATE DATABASE ambari;
  2. use ambari;
  3. CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambarizk123';
  4. GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
  5. CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambarizk123';
  6. GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
  7. CREATE USER 'ambari'@'master' IDENTIFIED BY 'ambarizk123';
  8. GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'master';
  9. FLUSH PRIVILEGES;
  10. source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
  11. show tables;
  12. use mysql;
  13. select Host User Password from user where user='ambari';
  14. CREATE DATABASE hive;
  15. use hive;
  16. CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
  17. GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
  18. CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
  19. GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost';
  20. CREATE USER 'hive'@'master' IDENTIFIED BY 'hive';
  21. GRANT ALL PRIVILEGES ON *.* TO 'hive'@'master';
  22. FLUSH PRIVILEGES;
  23. CREATE DATABASE oozie;
  24. use oozie;
  25. CREATE USER 'oozie'@'%' IDENTIFIED BY 'oozie';
  26. GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
  27. CREATE USER 'oozie'@'localhost' IDENTIFIED BY 'oozie';
  28. GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'localhost';
  29. CREATE USER 'oozie'@'master' IDENTIFIED BY 'oozie';
  30. GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'master';
  31. FLUSH PRIVILEGES;

(5)简历mysql与ambari-server的连接

网上下载mysql-connector-java-5.1.40.jar放到root文件下

  1. mkdir /usr/share/java
  2. cp /root/mysql-connector-java-5.1.40.jar /usr/share/java/mysql-connector-java.jar
  3. cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar
  4. vi /etc/ambari-server/conf/ambari.properties
  5. 添加server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar

(6)初始化设置ambari-server并启动

  1. [root@master ~]# ambari-server setup
  2. 下面是配置执行流程,按照提示操作
  3. 1 提示是否自定义设置。输入:y
  4. Customize user account for ambari-server daemon [y/n] (n)? y
  5. 2ambari-server 账号。
  6. Enter user account for ambari-server daemon (root):
  7. 如果直接回车就是默认选择root用户
  8. 如果输入已经创建的用户就会显示:
  9. Enter user account for ambari-server daemon (root):ambari
  10. Adjusting ambari-server permissions and ownership...
  11. 3)检查防火墙是否关闭
  12. Adjusting ambari-server permissions and ownership...
  13. Checking firewall...
  14. WARNING: iptables is running. Confirm the necessary Ambari ports are accessible. Refer to the Ambari documentation for more details on ports.
  15. OK to continue [y/n] (y)?
  16. 直接回车
  17. 4)设置JDK。输入:3
  18. Checking JDK...
  19. Do you want to change Oracle JDK [y/n] (n)? y
  20. [1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
  21. [2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
  22. [3] Custom JDK
  23. ==============================================================================
  24. Enter choice (1): 3
  25. 如果上面选择3自定义JDK,则需要设置JAVA_HOME。输入:/usr/java/jdk1.8.0_161
  26. WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
  27. 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.
  28. Path to JAVA_HOME: /usr/java/jdk1.8.0_131
  29. Validating JDK on Ambari Server...done.
  30. Completing setup...
  31. 5)数据库配置。选择:y
  32. Configuring database...
  33. Enter advanced database configuration [y/n] (n)? y
  34. 6)选择数据库类型。输入:3
  35. Configuring database...
  36. ==============================================================================
  37. Choose one of the following options:
  38. [1] - PostgreSQL (Embedded)
  39. [2] - Oracle
  40. [3] - MySQL
  41. [4] - PostgreSQL
  42. [5] - Microsoft SQL Server (Tech Preview)
  43. [6] - SQL Anywhere
  44. ==============================================================================
  45. Enter choice (3): 3
  46. 7)设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。如果想重命名,就输入。
  47. Hostname (localhost):
  48. Port (3306):
  49. Database name (ambari):
  50. Username (ambari):
  51. Enter Database Password (bigdata):ambarizk123
  52. Re-Enter password: ambarizk123
  53. 8)将Ambari数据库脚本导入到数据库
  54. 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
  55. Proceed with configuring remote database connection properties [y/n] (y)?
  1. [root@master ~]# ambari-server start

3、错误处理

  如果出现错误,请注意查看日志,根据具体的错误内容进行处理,默认ambari-server的日志在/var/log/ambari-server/ambari-server.log里面。如果在处理日志的过程中或者后面安装的过程中出现一些莫名的错误,可以重置的安装。如果上面进行的默认数据库的配置,可以使用下面的代码重置ambari-server

  1. [root@master ~]# ambari-server stop
  2. [root@master ~]# ambari-server reset
  3. [root@master ~]# ambari-server setup

  如果选择的是第二种方式,就需要先执行上面的语句,然后手动将mysql里面创建的数据库进行删除。然后再重新执行第二步的操作

  1. [root@master ~]# mysql -uroot -p
  2. mysql> show databases;
  3. +--------------------+
  4. | Database |
  5. +--------------------+
  6. | information_schema |
  7. | ambari |
  8. | hive |
  9. | oozie |
  10. | performance_schema |
  11. +--------------------+
  12. 5 rows in set (0.00 sec)
  13. mysql> drop database ambari;
  14. mysql> drop database hive;
  15. mysql> drop database oozie;

  如果在安装的过程中出现了错误,又想重新安装,可以在ambari-server开启的情况下,执行下面的语句来移除已安装的包,然后再通过不同的情况选择上面两种方式的一种对ambari-server进行重置

  1. python /usr/lib/python2.6/site-packages/ambari_agent/HostCleanup.py --silent

五、安装配置部署HDP集群

1、登录

登录界面,默认管理员账户登录, 账户:admin 密码:admin

2、安装向导

(1)配置集群的名字为hadoop

(2)选择版本并修改为本地源地址

(3)安装配置

选择要安装的服务器和上传上面教程所拷贝出来的秘钥文件id_rsa

(4)安装ambari的agent,同时检查系统问题

如果这里出了问题,请检查上面所有的步骤有没有遗漏和未设置的参数。同时在重新修改了配置以后,最好是重置ambari-server来重新进行安装

  1. [root@master ~]# # ambari-server stop
  2. [root@master ~]# # ambari-server reset #重置命令
  3. [root@master ~]# # ambari-server setup #重新设置
  4. [root@master ~]# # ambari-server start

(5)选择要安装的服务

(6)选择分配服务

(7)选择

建议nodemanager、regionserver、client全都勾选上,第一个datanode根据主机的磁盘容量选择。

(8)根据提示修改一些错误,注意hive和oozie的数据库配置问题。如果最开始初始化ambari-server的时候使用的是默认配置,这里就最好使用new的方式,如果使用的是New MySQL Database ,这需要选择Existing MySQL / MariaDB Database ,然后测试一下是否能连接上

(9)接下来就是安装了,如果通过了最好,没有通过需要排查日志,看具体哪个地方出错。如果实在处理不了一些问题,可以根据上面的错误处理进行重置安装。

Ambari2.6.0 安装HDP2.6.3(离线安装)的更多相关文章

  1. CDH-5.7.0:基于Parcels方式离线安装配置

    http://shiyanjun.cn/archives/1728.html https://www.waitig.com/cdh%E5%AE%89%E8%A3%85.html

  2. CDH6.1.0离线安装——笔记

    一. 概述 该文档主要记录大数据平台的搭建CDH版的部署过程,以供后续部署环境提供技术参考. 1.1 主流大数据部署方法 目前主流的hadoop平台部署方法主要有以下三种: Apache hadoop ...

  3. C#码农的大数据之路 - 使用Ambari自动化安装HDP2.6(基于Ubuntu16.04)并运行.NET Core编写的MR作业

    准备主机 准备3台主机,名称作用如下: 昵称 Fully Qualified Domain Name IP 作用 Ubuntu-Parrot head1.parrot 192.168.9.126 Am ...

  4. Android SDK离线安装方法详解(加速安装) 转

    AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助! 离线安装包下载地址:http://dl.vmall.com/c ...

  5. 如何离线安装python的whl库

    对于使用公司内网环境办公的人来说,可能无法使用pip install 命令安装python的whl库.对于这种情况,我们可以用以下的方法安装一个whl库. 1 下载whl文件,下载时注意,whl文件的 ...

  6. Docker Data Center系列(四)- 离线安装UCP和DTR

    本系列文章演示如何搭建一个mini的云平台和DevOps实践环境. 基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力. 1 离线安装UCP 1.1 可用版本 Version ...

  7. redhat7.3 superset的离线安装

    superset是一个python 开发的可视化工具,可以与kylin连接进行数据分析,在官网的讲解中,采用了在线安装方式,生产环境中有yum源,但是没有网,不得不采用离线安装方式.(我们先在有网的环 ...

  8. [julia]本地离线安装package

    1.引言 julia最近十分受关注,其结合了python的通用性,Ruby的动态性,C的代码运行速度,R的包管理和数据分析功能,perl的字符串处理能力,lisp的宏能力,matlab的矩阵计算规则, ...

  9. CentOS 离线安装Gitlab-ce

    1. 上gtilab的官网,找了一下安装说明.. 首先安装 依赖的包 sudo yum install -y curl policycoreutils-python openssh-server cr ...

  10. SharePoint 2019 离线安装准备工具

    前言 最近需要安装SharePoint 2019,然而,服务器并没有网络,所以需要离线安装. 离线安装的步骤很简单,就是把所以得准备工具下载下来,然后修改好命令,使用命令安装即可. 准备工具下载路径 ...

随机推荐

  1. c# 字符串的内存分配和驻留池( 转 )

    刚开始学习C#的时候,就听说CLR对于String类有一种特别的内存管理机制:有时候,明明声明了两个String类的对象,但是他们偏偏却指向同一个实例.如下: string s1 = "he ...

  2. SSM中的登陆验证码

    @Autowired private Producer captchaProducer = null; /** * 后台登录验证码 * @param request * @param response ...

  3. spring cloud之坑,访问服务时找不到报404

    主要是因为: 启动时 而我访问时,api是按照下面这样访问的: 所以报404找不到

  4. 关于ZK框架的onScroll事件的问题

    由于我现在所在的公司用到的zk框架,遇到了一个需求frozen on top. 简单来说就是滚动超过范围后,希望有一块东西停留在滚动窗口的顶部. 一.zk框架 查看了zk的8.x版本,发现组件的支持的 ...

  5. c#:ThreadPool实现并行分析,并实现线程同步结束

    背景: 一般情况下,经常会遇到一个单线程程序时执行对CPU,MEMORY,IO利用率上不来,且速度慢下问题:那么,怎么解决这些问题呢? 据我个人经验来说有以下两种方式: 1.并行.多线程(Parall ...

  6. 框架学习Struts2之HelloWord

    一.概述 Struts2是基于MVC设计模式的web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts作为控制器(Controller)来建立模型与视图之间的数据交互.Str ...

  7. js 中的栈和堆

    js中的栈与堆的讲解/基本数据类型与引用类型的讲解 前言:1. 学习前端,入门简单,想学好确实是一件很困难的事情,东西多而且杂,版本快速迭代,产品框架层出不穷. 2. 前端学习成本确实很高,需要不断的 ...

  8. 百度tn劫持解决办法

    最近用右键进行百度搜索的时候总是会跳转到 tn=99135173这类的小尾巴,使得搜索失败,十分恶心,这种广告劫持的手段十分高明隐蔽,很难发觉.开始以为是dns劫持或者是电脑中毒了,更换了几个dns, ...

  9. Java高级篇(二)——网络通信

    网络编程是每个开发人员工具相中的核心部分,我们在学习了诸多Java的知识后,也将步入几个大的方向,Java网络编程就是其中之一. 如今强调网络的程序不比涉及网络的更多.除了经典的应用程序,如电子邮件. ...

  10. jQuery系列 第五章 jQuery框架动画特效

    第五章 jQuery框架动画特效 5.1 jQuery动画特效说明 jQuery框架中为我们封装了众多的动画和特效方法,只需要调用对应的动画方法传递合适的参数,就能够方便的实现一些炫酷的效果,而且jQ ...