利用Ambari搭建Hadoop集群

2018-06-26  本文已影响0人  IT_小白

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。

上一篇下一篇

猜你喜欢

热点阅读