美文网首页
ambari 安装 (一)

ambari 安装 (一)

作者: 走在成长的道路上 | 来源:发表于2019-01-03 15:13 被阅读0次

环境说明

名称 版本
操作系统 centos 7
Ambari 2.7.3
HDP 3.1.0
Oracle JDK 1.8

机器配置

主机名称 备注
repo.hdp.com 仓库
ab1.hdp.com 节点 ab1
ab2.hdp.com 节点 ab2
ab3.hdp.com 节点 ab3
am.hdp.com 管理节点

所有机器的 hosts 文件修改如下(配置如下内容,并关闭防火墙,遇坑自动免疫):

172.xxx.xxx.xxx ab1.hdp.com

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

安装 ntpd 服务

yum install -y ntp
# 查看 ntpd 服务状态
chkconfig --list ntpd

# 设置开机启动
chkconfig ntpd on

# 启动服务
service ntpd start

关闭防火墙

# 关闭防火墙
$ systemctl stop firewalld

# 停止开机启动
$ systemctl disable firewalld

关闭 transparent_hugepage 功能

查看状态

cat /sys/kernel/mm/transparent_hugepage/enabled

开机自动修改

  • 添加服务

通过命令 vi /etc/systemd/system/disable-thp.service 创建 disable-thp 服务,其内容如下:

[Unit]
Description=Disable Transparent Huge Pages (THP)

[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"

[Install]
WantedBy=multi-user.target
  • 启用服务
# 重新加载所有服务
$ systemctl daemon-reload

# 启动服务
$ systemctl start disable-thp
# 设置为开机启动
$ systemctl enable disable-thp

临时修改

# for hadoop , disable thp
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
参考 How to disable Transparent Huge Pages on CentOS

SSH 免密钥访问

  • 主节点生产公钥
$ ssh-keygen  -t   rsa   -P  ''
  • 子节点同步公钥
  1. 先将子节点 ip 放到 /etc/hosts 中去即可
$ cat /etc/hosts
172.xxx.xxx.131 ab1.hdp.com
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.xxx.xxx.130 am.hdp.com
172.xxx.xxx.131 ab1.hdp.com
172.xxx.xxx.132 ab2.hdp.com
172.xxx.xxx.133 ab3.hdp.com
172.xxx.xxx.134 repo.hdp.com

将上述文件,同步发送到各个子节点。

  1. 同步主节点公钥
# ssh-copy-id -i root@<主机名>
$ ssh-copy-id -i root@am.hdp.com
$ ssh-copy-id -i root@ab1.hdp.com
$ ssh-copy-id -i root@ab2.hdp.com
$ ssh-copy-id -i root@ab3.hdp.com
$ ssh-copy-id -i root@repo.hdp.com

构建本地仓库

安装 NG 并配置相关的目录

# add the CentOS 7 EPEL repository
$ yum install epel-release
# install nginx
# 参考 https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-centos-7
$ yum install -y nginx
$ systemctl start nginx
$ systemctl enable nginx

配置 nginx ,将该机器配置为 repo.hdp.com 的域名, 并对 nginx 进行如下配置即可,通过命令 vi /etc/nginx/conf.d/repo.hdp.com.conf 创建文件,其内容如下:

server{
    listen 80;
    server_name repo.hdp.com; #  172.xxx.xxx.xxx;
    root /data/www;

    location / {
        error_log   /var/log/nginx/localhost_error.log notice;
        # access_log  /var/log/nginx/localhost_access.log custom_log;
        # autoindex on;                        #开启目录浏览功能;   
        # autoindex_exact_size off;            #关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b;   
        # autoindex_localtime on;              #开启以服务器本地时区显示文件修改日期! 

        #proxy_redirect off;
        proxy_set_header        Host $http_host;
        proxy_set_header        cookie $http_cookie;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        TY-X-Forwarded-For $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_next_upstream     error  timeout invalid_header  http_500 http_502 http_503 http_504;
        proxy_set_header   Connection "";
        proxy_http_version 1.1;
        # include black_list/black_list_forever;
        allow all;

        limit_conn_log_level info;
        # limit_conn perip 100;
    }
}

查看 nginx 当前用户命令 ps -ef | grep nginx, 然后将 /data/www 切换为对应用户即可。

同步 hdp 源,从而做本地源安装,这里使用 hdp 3.1.0 ,当前最高版本哦~

# 下载仓库基础包
$ mkdir /data/www/ambari -p && cd /data/www/ambari 

# 下载 ambari 源
# 参考 https://docs.hortonworks.com/HDPDocuments/Ambari-2.7.3.0/bk_ambari-installation/content/ambari_repositories.html
$ wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3.0/ambari-2.7.3.0-centos7.tar.gz
$ tar xf ambari-2.7.3.0-centos7.tar.gz

# 下载 HDP 相关源
# 参考 https://docs.hortonworks.com/HDPDocuments/Ambari-2.7.3.0/bk_ambari-installation/content/hdp_31_repositories.html
$ wget http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.1.0.0/HDP-3.1.0.0-centos7-rpm.tar.gz
$ tar xf HDP-3.1.0.0-centos7-rpm.tar.gz
$ wget http://public-repo-1.hortonworks.com/HDP-GPL/centos7/3.x/updates/3.1.0.0/HDP-GPL-3.1.0.0-centos7-gpl.tar.gz
$ tar xf HDP-GPL-3.1.0.0-centos7-gpl.tar.gz
$ wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
$ mkdir HDP-UTILS-1.1.0.22/centos7 -p && cd HDP-UTILS-1.1.0.22/centos7 && tar xf HDP-UTILS-1.1.0.22-centos7.tar.gz
参考 Apache Ambari Installation

修改 ambari/centos7/2.7.3.0-139/ambari.repo 文件内容

#VERSION_NUMBER=2.7.3.0-139
[ambari-2.7.3.0]
#json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
name=ambari Version - ambari-2.7.3.0
baseurl=http://repo.hdp.com/ambari/centos7/2.7.3.0-139
gpgcheck=1
gpgkey=http://repo.hdp.com/ambari/centos7/2.7.3.0-139/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

同样修改 hdp.repo, 其内容如下:

#VERSION_NUMBER=3.1.0.0-78
[HDP-3.1.0.0]
name=HDP Version - HDP-3.1.0.0
baseurl=http://repo.hdp.com/HDP/centos7/3.1.0.0-78
gpgcheck=1
gpgkey=http://repo.hdp.com/HDP/centos7/3.1.0.0-78/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://repo.hdp.com/HDP-UTILS/centos7/1.1.0.22
gpgcheck=1
gpgkey=http://repo.hdp.com/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

以及 hdp-util.repo , 其内容如下:

[HDP-UTILS-1.1.0.22]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.22
baseurl=http://repo.hdp.com/HDP-UTILS/centos7/1.1.0.22
gpgcheck=1
enabled=1
priority=1

由于在内网构建了 DNS 服务器,一下均采用域名进行配置

ambari-server 主机上执行如下命令进行安装:

# 从 repo 服务上拉取 repo 配置文件放置 /etc/yum.repos.d/ambari.repo
$ wget http://repo.hdp.com/ambari/centos7/2.7.3.0-139/ambari.repo
$ mv ambari.repo /etc/yum.repos.d/ambari.repo
$ yum install epel-release 
# 安装 mysql client
$ yum install -y mysql-connector-java*
# 安装 ambari-server
$ yum install -y ambari-server

ambari 常用命令

# 初始化设置服务
# 依次按默认配置即可,默认配置如下:
# Oracle JDK 1.8 , 方便之后使用 presto 服务
$ wget http://repo.hdp.com/jdk-8u211-linux-x64.tar.gz
$ tar xvf jdk-8u211-linux-x64.tar.gz
# 在 Ambari 服务 setup 阶段设置 JAVA_HOME 为 /usr/jdk64/jdk1.8.0_211 即可
$ mkdir -p /usr/jdk64 && mv jdk1.8.0_211 /usr/jdk64/
# PostgreSQL,且其基础信息如下:
#       Database admin user (postgres): 
#       Database name (ambari): 
#       Postgres schema (ambari): 
#       Username (ambari): 
#       Enter Database Password (bigdata):
$ ambari-server setup
# 接着执行,指定数据库方式初始化,否则后期安装会找不到driver
# 下载 postgresql 依赖包
# 安装 yum install -y mysql-connector-java
$ wget https://jdbc.postgresql.org/download/postgresql-42.2.5.jar
$ ambari-server setup --jdbc-db=postgres --jdbc-driver=/root/postgresql-42.2.5.jar
或
$ ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

# 启动服务
[root@am.hdp.com ]$ ambari-server start
Using python  /usr/bin/python
Starting ambari-server
Ambari Server running with administrator privileges.
Organizing resource files at /var/lib/ambari-server/resources...
Ambari database consistency check started...
Server PID at: /var/run/ambari-server/ambari-server.pid
Server out at: /var/log/ambari-server/ambari-server.out
Server log at: /var/log/ambari-server/ambari-server.log
Waiting for server start.............................
Server started listening on 8080

DB configs consistency check: no errors and warnings were found.
Ambari Server 'start' completed successfully.

# 这时候可以通过 http://am.hdp.com:8080 链接访问 ambari server, 默认账户为(admin/admin)

# 停止服务
$ ambari-server stop
# 重置服务, 重置之后重新setup
$ ambari-server reset

ambari postgres 数据库默认配置

 database admin user: postgres
 database: ambari
 username: ambari
 password: bigdata
 url: jdbc:postgresql://ambm.hdp.com:5432/ambari

备注

ambari 数据库查看
本地仓库

相关文章

网友评论

      本文标题:ambari 安装 (一)

      本文链接:https://www.haomeiwen.com/subject/hfgmjftx.html