虚拟机安装Ambari和Hadoop相关服务

一、环境准备

通过vmware 三台虚拟 172.16.120.15,172.16.120.25,172.16.120.35
系统:centOS6.7 
镜像地址:https://www.centos.org/download/
镜像说明: 
         CentOS-7.0-x86_64-DVD-1503-01.iso               标准安装版,一般下载这个就可以了(推荐)
         CentOS-7.0-x86_64-NetInstall-1503-01.iso       网络安装镜像(从网络安装或者救援系统)
         CentOS-7.0-x86_64-Everything-1503-01.iso     对完整版安装盘的软件进行补充,集成所有软件。(包含centos7的一套完整的软件包,可以用来安装系统或者填充本地镜像)
         CentOS-7.0-x86_64-GnomeLive-1503-01.iso   GNOME桌面版
         CentOS-7.0-x86_64-KdeLive-1503-01.iso         KDE桌面版
         CentOS-7.0-x86_64-livecd-1503-01.iso            光盘上运行的系统,类拟于winpe 
         CentOS-7.0-x86_64-minimal-1503-01.iso         精简版,自带的软件最少
网络设置:
(1)VMWARE如果主机和虚拟机需要通信,需要在“设置”->"网络适配器“设置为桥接模式。说明可参考: http://blog.csdn.net/zqqnancy/article/details/51323190
(2)VMWATE默认是动态获取IP, 但本地虚拟机可能经常随主机重启,设置为静态IP比较好。
           vi  /etc/ sysconfig /network-scripts/i fcfg-eth0
         设置网卡eth0的IPV4信息,需要注意的是,设置的IPADDR需要和局域网中其他机器处于同一网段。需设置容如下:     
DEVICE=eth0
BOOTPROTO=static
BROADCAST=172.16.120.255
HWADDR="00:0C:29:F5:A6:59" #(注意这个)
GATEWAY=172.16.120.1
IPADDR=172.16.120.35
NETMASK=255.255.255.0
ONBOOT="yes"
DNS1=8.8.8.8 #(注意这个,如果不设置,不能连接外网
VMWARE克隆出现的网络问题解决办法:Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法
    
    
    
    
http://www.linuxidc.com/Linux/2014-01/95253.htm
hostname:

(1)修改hostname有几种方式?
    1:  hostname DB-Server   --运行后立即生效(新会话生效),但是在系统重启后会丢失所做的修改
    2:  echo DB-Server  > /proc/sys/kernel/hostname   --运行后立即生效(新会话生效),但是在系统重启后会丢失所做的修改(修改内核)
    3: sysctl kernel.hostname=DB-Server   --运行后立即生效(新会话生效),但是在系统重启后会丢失所做的修改(修改内核)
    4: 修改/etc/sysconfig/network下的HOSTNAME变量   --需要重启生效,永久性修改。
(2) hostname跟/etc/hosts 下配置有关系吗?
   其实hostname跟/etc/hosts下的配置是没有关系的。hostname的修改、变更完全不依赖hosts文件。 其实hosts文件的作用相当如DNS,提供IP地址到hostname的对应。
  127.0.0.1 localhost.localdomain localhost
  hosts文件格式是一行一条记录,分别是IP地址 、hostname、 aliases,三者用空白字符分隔,aliases可选。
  127.0.0.1到localhost这一条建议不要修改,因为很多应用程序会用到这个。

安装环境确认,在所有机器上进行以下操作:
(1)使用root用户登录。
(2)在集群所有节点上执行vi /etc/hosts,查看是否所有节点主机映射都已添加正确,确保机器的hosts文件中添加集群各机器的<ip, hostname>列表。
   
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
                                                         
172.16.120.15  ambari-1
172.16.120.25  ambari-2
172.16.120.35  ambari-3
(3) 执行service iptables stop关闭防火墙,执行setenforce 0 关闭SELinux。             
       a.  setenforce  0   
   b. 永久关闭(需要重启):       
vi /etc/selinux/config 
SELINUX=disabled 
  
(4) 执行yum install openssl命令,升级OpenSSL版本,确保已安装的openssl为openssl-1.0.1e-16.el6_5.14.x86_64版本。
(5) 禁止Transparent Huge Pages,执行命令:
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
(6)配置和启动Ntpd服务,参考如下:
    在所有节点上执行yum install ntp安装ntpd服务
    假设将172.16.120.15 作为ntp服务器,其他节点均与其同步时间。则,在172.16.120.15 上编辑 /etc/ntp.conf ,添加如下内容:
restrict default nomodify
server 127.127.1.0
fudge 127.127.1.0 stratum 8
    之后,启动ntpd服务 service ntpd restart,可以通过ntpstat 和 ntpq -p 查看 ntpd服务器的状态,通过setup将该ntpd 设置为自动启动
    在其他所有节点上确认ntpd 是否已经停止 service ntpd stop
    之后编辑crontab -e 添加如下内容:
00 */1 * * * root /usr/sbin/ntpdate 172.16.120.15;/sbin/hwclock -w
    则系统会每小时与172.16.120.15同步时间。

二、ambari安装

1. 配置repo源ambri.repo
参考官网: https://cwiki.apache.org/confluence/display/AMBARI/Install+Ambari+2.2.2+from+Public+Repositories
For Redhat/CentOS/Oracle:
  cd /etc/yum.repos.d/
  wget <ambari-repo-url>
####ambari-repo-url######
(Redhat / CentOS / Oracle) 6
http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.2.0/ambari.repo
2. 安装ambari-Server和ambari-Agent
(1) 安装ambari-Server
For Redhat/CentOS/Oracle:
  yum install ambari-server
  ambari-server setup //注意jdk最好选择1.7的
  ambari-server start
启动ambari-server UI
http://<ambari-server-host>:8080

(2)安装ambari-agent

a.  在集群所有节点上(包括Ambari-Server)执行 yum install ambari-agent安装Ambari-Agent;(注意:从节点上也必须先配置ambri.repo。配置方法:

cd /etc/yum.repos.d/
  wget <ambari-repo-url>

b  在所有节点修改ambari-agent.ini配置文件:/etc/ambari-agent/conf/ambari-agent.ini; 

c  修改其中的hostname为:ambari-server所在的机器的主机名;

启动agent:在所有节点执行命令ambari-agent start。

三、部署ambari

1. 设置集群名称

在浏览器中输入{ Your.Ambari.Server.IP }:8080登录到Ambari Server页面,在登录表单中输入用户名和密码admin/admin,登录到Ambari部署控制台。

对于一个新的集群,Ambari安装向导显示为一个欢迎界面,在这个界面上你可以为你的集群起一个名字。在Name your cluster处为将要建立的集群输入一个名字,不要用空格或者特殊字符,输入完成后,点击“Next”。

 2. 选择集群stack版本

选择Stacks为HDP 2.4,配置Advanced Repository Options redhat6的url为http://public-repo-1.hortonworks.com/HDP/centos6/centos/6/x86_64/,去掉其他源前面的小勾。点击“Next”。

3. 安装配置

在Target Hosts里添加集群主机的hostname列表(即所有需安装hadoop各服务的机器的hostname,hostname不能随便修改,hostname使用hostname -f 命令查看),一个主机占一行。关于主机注册信息,这里推荐第二种方法。在页面选择“Perform manual registration”,点击"Register and Confirm"继续。

4. 主机确认和注册

这个页面用于检查集群服务器的安装环境,完成Ambari-Server及Ambari-Agent主机的注册,注册页面如下,在页面直接点“Next”即可。

 5. 选择服务

选择安装哪些服务,例如,可勾选“HDFS”,“YARN”,“Nagios”,“Ganglia”,”Hive”,“HBase”, ZooKeeper”。选择好以后点击“Next”。如果是本地安装,尽量只安装必须的服务,因为太吃内存。

6. 分配主节点

根据具体场景和要求制定部署策略,调整主节点,可通过调整HiveServer2的安装服务器调整HiveMetastore的安装。分配完毕后点击"Next"。

关于节点分配做如下建议:

(如果没有要求且条件允许的情况下:

hive的组件建议单独放在一个节点上;

namenode与resourcemanager一个节点;

slider与ganglia server不能装在一个节点。

其它的server可根据资源随意分配)

若需要启动HA:

a 所有节点都需要安装ZooKeeper。

b所有Server分配到一个节点。

c SNameNode分配到第二个节点。

d NameNode和Resource Manager安装到第三个节点。


7. 分配附属节点和客户端(建议所有节点都部署client)

根据部署策略调整各服务的节点分配。分配完毕后点击"Next"。

8. 到这里,继续一步步操作,基本没问题了。

四、安装中遇到的问题

1. 安装yum install ambari-agent
[root@slave01 yum.repos.d]# yum install ambari-agent
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
No package ambari-agent available.
Error: Nothing to do
解决;
   cd /etc/yum.repos.d/
   wget <ambari-repo-url>
  然后 yum install ambari-agent即可

2. ERROR 2016-05-23 02:13:40,191 main.py:146 - Ambari agent machine hostname (master) does not match expected ambari server hostname (slave01). Aborting registration. Please check hostname, hostname -f and /etc/hosts file to confirm your hostname is setup correctly
修改slave的 /etc/ambari-agent/conf/ambari-agent.ini
hostname=ambari-1
ambari-server 所在的机器的主机名;
3. 安装service之前check时报userIssue
(1)python /usr/lib/python2.6/site-packages/ambari_agent/HostCleanup.py --silent --skip=users ,recheck仍然报错
(2)UserIssue 需要删除节点上已经存在的hadoop用户
,recheck 0issue 0 warning, 但注册仍然fail
 ( 3 ) 删除后check为0issue 但注册仍然失败,/etc/ambari-agent/conf/ambari-agent.ini中 
[server]
hostname=ambari-1 #此处为ambari-server的hostname (ambari-2, ambari-3配置了本地的hostname导致出错)

4. 部署过程中这个错误
虚拟机安装Ambari和Hadoop相关服务_第1张图片
由于ambari安装过程中有一步把ambari.repo删除了导致找不到源
解决;
   cd /etc/yum.repos.d/
   wget <ambari-repo-url>
  然后 yum install ambari-agent即可
5. 部署过 程中一些下载错误
虚拟机安装Ambari和Hadoop相关服务_第2张图片

解决:(1)可以反复review & install,start and Test, 有时候会成功,可能是网络不稳定造成下载失败;
          (2)直接运行命令:/usr/bin/yum -d 0 -e 0 -y install 'pig_2_4_*'
          (3)如果运行命令也不能下载,可以直接下载rpm包,也可以测试给的源是否有效
wget http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.4.2.0/pig/pig_2_4_2_0_258-0.15.0.2.4.2.0-258.el6.noarch.rpm
rpm -i  pig_2_4_2_0_258-0.15.0.2.4.2.0-258.el6.noarch.rpm
wget http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.4.2.0/datafu/datafu_2_4_2_0_258-1.3.0.2.4.2.0-258.el6.noarch.rpm
rpm -i  pig_2_4_2_0_258-0.15.0.2.4.2.0-258.el6.noarch.rpm
6. 查看hostname hostname: Unknown host
             
             
             
             
问题现象
hostname: Unknown host
原因:
/etc/hosts
/etc/hostname
本机名称不一致,需要修改hostname
7. yum 安装时错误 Errno 14 Couldn't resolve host 解决办法, 无法连接网络也是此原因

后来网上查了一下说是DNS服务器错误。于是修改一下 /etc/resolv.conf

添加一个nameserver 8.8.8.8完成, 但这种修改方法reboot后失效。

解决方案一: 
修改/etc/resolv.conf,添加
nameserver 8.8.8.8
nameserver 8.8.4.4
然后停用NetworkManager,service NetworkManager stop, 检查还有没开机启动的可能,这样就可以继续使用我们定义的dns。 
解决方案二(推荐): 
对接口添加dns信息;编辑/etc/sysconfig/network-scripts/ifcfg-eth0,具体的X根据你的网卡确定,添加
DNS1=8.8.8.8
DNS2=8.8.4.4 (添加一个DNS1即可)
保存后重启网络/etc/init.d/network restart ,问题解决。

五、建议

合理利用vmware的快照功能,每个阶段拍摄快照,便于有问题时进行恢复。

你可能感兴趣的:(hadoop,虚拟机,hostname,ambari安装,VMWARE克隆出现的网络问题)