Apache Spark 学习笔记 (3) 安装Ambari

我选择学习Spark的架构是:Spark + Hadoop (YARN, HDFS). 为了更好的管理自己的Hadoop集群,我选择了Ambari。

这篇笔记记录了我安装Ambari的过程。

环境

  1. 公司内网,访问外部需要通过代理
  2. CentOS 7, JDK 8

安装步骤

1. 更改主机名

Ambari不允许使用例如localhost之类的主机名。因此要将主机更改一个有意义的名字。例如my-ambari-server.

使用 hostnamectl 可以修改主机的名字

修改 /etc/hosts, 将自己的IP和主机名映射加进去

192.168.1.1 my-ambari-server

运行 hostname -f 确保主机名被更改

2. 禁用IPv6

如果Centos 7的Ipv6模块没有关闭,Ambari在启动时会先绑定到Ipv6的地址,这会导致无法通过ipv4访问。禁用的方式为:

在 /etc/sysctl.conf 中加入

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1

运行 sysctl -p 应用更改。运行 netstata -anp |grep 8080 查看ambari绑定的协议和端口号是否为ipv4和8080

3. 禁用防火墙

关闭防火墙:

systemctl disable firewalld

关闭SELinux。

sed -i 's/enforcing/disabled/g' /etc/selinux/config /etc/selinux/config

然后重启. 使用 sestatus 查看SELinux的状态。

4. 设置代理

注意:这一步如果不是在代理后面,可以不需要

增加一个新文件:/etc/profile.d/proxy.sh, 内容为:

export http_proxy=http://a:a@proxy:80
export https_proxy=https://a:a@proxy:80
export no_proxy=localhost, ${hostname} 

注意,由于@符号用于区分地址和用户名密码,如果用户名或者密码中包含@符号,那么需要进行转义。

@ =》 %40

给Yum添加代理。 编辑 /etc/yum.conf, 添加下面的内容:

 proxy=http://proxy:80
 proxy_username=xxxx
 proxy_password=yyyy
 no_proxy=localhost

重启电脑。

在安装好ambari server后,修改 /var/lib/ambari-server/ambari-env.sh 中的AMBARI_JVM_ARGS 参数,加入:

-Dhttp.proxyHost=proxy -Dhttp.nonProxyHost=localhost -Dhttp.proxyPort=80 -Dhttp.proxyUser=XXX -Dhttp.proxyPassword=YYY

更新代理的证书(假设为foo.crt):

update-ca-trust enable
cp foo.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust extract

5. 设置无密码的SSH

yum install openssh

修改 /etc/ssh/sshd_config的配置

PermitRootLogin yes

service sshd start

在Ambari server的机器上生成ssh key

 ssh-keygen -t rsa

然后将生成的ssh key拷贝到远程机器上:

ssh-copy-id user@remote_host

然后测试:

ssh user@remote_host

应该不用密码就可以直接登录了。在Ambari安装集群的时候,ambari要使用ssh登录到各台机器。

6. 从YUM仓库安装Ambari Server

cd /etc/yum.repos.d/
wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.1.2/ambari.repo
yum install ambari-server
ambari-server setup
ambari-server start

然后访问 http://:8080, 默认的用户名和密码是admin/admin

重置Ambari

如果发现集群有错误而难以修复,那么最好的办法之一就是重置所有的安装,然后再重新安装一遍。

ambari-server reset

当然如果只是想删除其中的某个服务,那么可以使用Ambari 提供的RESET API。

curl -s -u admin:admin -H "X-Requested-By: Ambari" -X DELETE http://AMBARI-HOST:8080/api/v1/clusters/CLUSTER_NAME/services/SERVICE_NAME

Ambari的服务名字都是大写的。

也可以只删除某个服务下面的组件。第一步就是获取服务下面的组件

curl -s -u admin:admin -H "X-Requested-By: Ambari" -X GET http://<hostname>:8080/api/v1/clusters/<clustername>/services/PIG

然后根据返回的JSON可以知道具体的服务名。然后再使用 DELETE 删除对应的组件:

curl -s -u admin:admin -H "X-Requested-By: Ambari" -X DELETE http://<hostname>:8080/api/v1/clusters/<clustername>/services/PIG/components/PIG
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值