美文网首页
利用Ambari搭建Hadoop集群

利用Ambari搭建Hadoop集群

作者: IT_小白 | 来源:发表于2018-06-26 17:47 被阅读0次

    ISO-version:        Centos6.5

    Mysql-version:    5.6

    Jdk-version    :    1.8

    Ambari-version:  2.4.2.0

    HDP-version:        2.5.3.0

    username:            root

    配置Yum源请看我的另一篇文章连接如下:

    Centos-6.5配置本地yum源 - 简书

    这里说一下Ambari和HDP的下载方式和地址:

    Ambari软件包下载方式如下:

    Windows下载方式

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

    Linux下载方式

    wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.4.2.0/ambari-2.4.2.0-centos6.tar.gz

    HDP软件包下载方式如下:

    Windows下载方式

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

    Linux下载方式

    wget http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.5.3.0/HDP-2.5.3.0-centos6-rpm.tar.gz

    HDP工具包下载方式:

    Windows下载方式

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

    Linux下载方式

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

    将下载后的压缩包解压到 /var/www/html/centos/目录下

    在centos的每个目录下建立文件库建立索引文件repo文件即可

                                                                      安装MySql

    注意:执行sudo命令可能会出现一下问题

    搭建集群用户没有用root,用的普通用户

    解决方法:

    切换到root用户

    1 修改/etc/sudoers文件,进入超级用户,因为没有写权限,所以要先把写权限加上chmod u+w /etc/sudoers

    2 编辑 /etc/sudoers文件,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"mysql ALL=(ALL) ALL"(这里的mysql是你的用户名),然后保存。

    3 最后恢复没有写权限模式,撤销文件的写权限,chmod u-w /etc/sudoers

    命令前加    sudo    我们就可以用mysql用户来编辑root的文件了· 

                                                                              Yum安装Mysql

    执行sudo yum makecache 获取yum缓存 如下图:

    执行sudo yum -y install mysql-server 安装mysql数据库如下图:

    执行sudo service mysqld start启动mysql数据库

    执行sudo chkconfig mysqld on 设置开机自启

    执行mysql -uroot -p 登录mysql数据库

    授权外部机器登录的用户名和密码以及权限 ,执行下面命令

    mysql > grant all privileges on *.* to 'username'@'%' identified by 'userpwd' with grant option;

    执行flush privileges; 刷新权限立即生效

    以下为集群环境配置所有机器都要做,并且都以root用户执行

                                                                        JDK安装

    首先卸载系统自带的openjdk

    执行以下命令查看已安装的jdk

    rpm -qa | grep gcj

    rpm -qa | grep jdk

    执行以下命令卸载jdk

    rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

    1.JDK下载:

    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    2. 安装

    将jdk rpm包上传到各集群节点中包括ambari服务器节点

    执行rpm -ivh jdk-8u161-linux-x64.rpm 如下图:


    执行java -version查看jdk版本如下图:

    配置主机映射:

    所有主机的hosts文件内部的主机映射须一致,并且主机ip要与主机名称对应

    修改前如下图:

    关闭selinux

    关闭selinux (此配置重启生效)

    执行vi /etc/selinux/config 进行修改

    修改前如下图:

    修改后如下图:

                                                                                关闭防火墙

    执行 service iptables stop  关闭防火墙开机自启动执行 chkconfig iptables off

    关闭THP 透明大页面

    执行vi /etc/grub.conf 加入 transparent_hugepage=never

    添加前如下图:

    添加后如下图:

    安装ntp时间同步服务

    执行yum -y install ntp进行安装如下图:

    配置本地ntp时间同步服务

    [if !supportLists]1、[endif]配置ntp-server

    这里选择其中一台作为作为ntp本地服务器其他节点根据ntp服务器进行时间同步

    [if !supportLists]2、[endif]ntp服务器执行 vi /etc/ntp.conf

    注释掉原来的restrict default kod nomodify notrap nopeer noquery这一行,这一行本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp server的功能,所以需要注释掉。 如下图:

    加入下面3行:

    注释:用于让192.168.31.0/255.255.255.0网段上的机器能和本机做时间同步

    restrict 192.168.31.0 mask 255.255.255.0 nomodify notrap

    #注释:如果无法与上层ntp server通信以本地时间为标准时间

    server 127.127.1.0 # local clock

    fudge 127.127.1.0 stratum 10

    修改后的内容如下图:

    执行service ntpd restart重启ntp服务

    执行chkconfig ntpd on 设置开机自启动

    如下图:


    配置ntp-agent端

    执行service ntpd stop chkconfig ntpd off

    关闭ntpd服务并且关闭开机自启动如下图:

    执行 ntpdate ambari 同步ntp-server的时间如下图:

    创建定时同步时间任务

    执行 crontab -e

    添加以下内容:

    #synchronize time with node1

    */5 * * * * /usr/sbin/ntpdate ambari-server >/dev/null 2>&1

    意思是每5分钟同步一次时间,如下图:

    升级系统openssl

    执行 yum -y install openssl 如下图:

                                                                        配置免秘钥登录

    执行ssh-keygen -t rsa -P '' (注:最后是二个单引号,表示不设置密码)

    执行 ssh-copy-id -i /root/.ssh/id_rsa.pub root@slave

    将本主机的公钥发送到其他主机上如下图:

    注意:

    将每台主机生成的公钥要复制到所有集群节点上:(所有

    复制过后测试是否配置成功

    执行 ssh slave 登录slave节点

    执行 exit 退出当前登录 如下图:

    上述集群环境配置完成后从起所有服务器节点

    执行 shutdown -r now 进行重启

                                                                安装和配置ambari-server服务器

    执行 cd /etc/yum.repos.d/ 进入yum.repo文件存放目录

    执行 vim ambari.repo 创建ambari.repo文件添加以下内容:

    [ambari-2.4.2]

    name=ambari-2.4.2

    #下面的地址是ambari yum源的地址,并且此地址可以访问

    baseurl=http://mongodb04/centos/ambari-2.4.2.0/

    gpgcheck=0

    enabled=1

    执行  yum -y install ambari-server 进行安装如下图:

    ambari指定数据库为mysql

    执行 mkdir -p /usr/share/java/ 创建文件夹

    mysql-connector-java-5.1.39.jar包复制到/usr/share/java/

    目录下

    执行cp /opt/soft/mysql-connector-java-5.1.39.jar /usr/share/java/

    下面的配置解决ambari找不到连接mysql数据库的jar包

    执行 vim /etc/ambari-server/conf/ambari.properties

    在底部添加server.jdbc.driver.path=/usr/share/java/mysql-connector-java-5.1.39.jar

    结果如下图:

    接下来开始正式配置ambari服务

    执行ambari-server setup 设置 如下图:

    [if !supportLists]1、[endif]配置JAVA_HOME 如下图:

    2、配置数据库连接 如下图:

    启动ambari-server服务器

    执行 ambari-server start 如下图:

    如果启动失败请查看ambari-server服务器日志

    执行 vi /var/log/ambari-server/ambari-server.log 进行查看

    通常来说报的错误一般都是数据库问题:,重新登录mysql数据库重新授权即可

    浏览器访问 ambari-server的IP地址默认端口8080

    http://192.168.31.10:8080

    默认账号:admin 默认密码:admin

                                                利用ambari集群监视管理工具搭建大数据集群相应的组件


    私钥获取地址以及名称如下图:

    执行 cd /root/.ssh/ 进入文件夹如下图:

    搭建完成如下图:

    安装的服务列表如下:

    HDFS、YARN、MapReduce、Tez、Pig、Zookeeper、Ambari Metrics

    Kafka、Spark、Hive、Silder。

    相关文章

      网友评论

          本文标题:利用Ambari搭建Hadoop集群

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