世界上最快的捷径,就是脚踏实地,本文已收录【 架构技术专栏】关注这个喜欢分享的地方。最近由于工做上须要从新用Ambari搭了一套Hadoop集群,就把搭建的过程记录了下来,也但愿给有一样需求的小伙伴们一个参考,html
做者:图头数据ios
Ambari Ubuntu14.04 最新版本 2.2.1shell
HDP Ubuntu14.04 最新版本 2.4.3.0ubuntu
Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。vim
Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等。浏览器
Apache Ambari 支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeepr、Sqoop和Hcatalog等的集中管理。也是5个顶级hadoop管理工具之一。(就是一个开源的hadoop一键式安装服务)安全
咱们能用他干什么?咱们为何要用它呢?服务器
咱们可使用ambari快速的搭建和管理hadoop和常用的服务组件。cookie
好比hdfs、yarn、hive、hbase、oozie、sqoop、flume、zookeeper、kafka等等。(说白了就是能够偷好多懒)架构
再说说咱们为何要用它
Ambari使用Ganglia收集度量指标,用Nagios支持系统报警,当须要引发管理员的关注时(好比,节点停机或磁盘剩余空间不足等问题),系统将向其发送邮件。
此外,Ambari可以安装安全的(基于Kerberos)Hadoop集群,以此实现了对Hadoop 安全的支持,提供了基于角色的用户认证、受权和审计功能,并为用户管理集成了LDAP和Active Directory。
一、让咱们先作一些安装前的准备工做
## 先告诉服务器们他们都是谁,小名都叫啥(修改配置hosts文件) vim /etc/hosts 10.1.10.1 master 10.1.10.2 slave1 10.1.10.3 slave2 ## 而后让咱们拿着门禁卡自由的出入他们家 哔咔进站(配置免密登陆) ssh-keygen -t rsa ##在全部的机器上执行 cat ~/.ssh/id_rsa.pub ## 查看公钥 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ## 将公钥写入authorized_keys文件中 ### 首先把全部的公钥都写入master服务器 ### 其次把master的公钥别写入slave1,slave2 ### 最后使用scp命令把口令告诉别人 (我不会告诉你个人口令是“老狼老狼几点了”) scp ~/.ssh/authorized_keys slave1:~/.ssh/authorized_keys scp ~/.ssh/authorized_keys slave2:~/.ssh/authorized_keys ##更新时区和系统本地化的配置 apt-get install localepurge ## 一顿enter不要管 (卸载那些不被使用的local翻译文档) dpkg-reconfigure localepurge && locale-gen zh_CN.UTF-8 en_US.UTF-8 ## 一顿enter不要管 apt-get update && apt-get install -y tzdata echo "Asia/Shanghai" > /etc/timezone ## 修改时区为上海 rm /etc/localtime dpkg-reconfigure -f noninteractive tzdata vi /etc/ntp.conf server 10.1.10.1
二、而后在作一些Ubuntu系统的优化
###1.1 关闭交换分区 swapoff -a vim /etc/fstab ## 删除注释swap那一行 相似下面 # swap was on /dev/sda2 during installation #UUID=8aba5009-d557-4a4a-8fd6-8e6e8c687714 none swap sw 0 0 ### 1.2 修改文件描述符打开数 在最后添加 ulimit vi /etc/profile ulimit -SHn 512000 vim /etc/security/limits.conf ## 调整大小都增大10倍 * soft nofile 600000 * hard nofile 655350 * soft nproc 600000 * hard nproc 655350 ### 1.2 使用命令是修改生效 source /etc/profile ###1.3 修改内核配置 vi /etc/sysctl.conf ### 贴上去就行 fs.file-max = 65535000 net.core.somaxconn = 30000 vm.swappiness = 0 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 16384 16777216 net.core.netdev_max_backlog = 16384 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.ip_local_port_range = 1024 65000 net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6=1 ### 执行命令让配置生效 sysctl -p ###1.4 配置内核关闭THP功能 echo never > /sys/kernel/mm/transparent_hugepage/enabled ##永久关闭。 vi /etc/rc.local if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi
三、安装部署ambari-server (环境:Ubuntu 14.04 + Ambari 2.2.1)
## 更新下载源 wget -O /etc/apt/sources.list.d/ambari.list http://public-repo-1.hortonworks.com/ambari/ubuntu14/2.x/updates/2.2.1.0/ambari.list apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD apt-get update ## 在master节点安装ambari-server apt-get install ambari-server -y ## 在全部节点安装 ambari-agent apt-get install ambari-agent -y
四、修改ambari-agent配置指向ambari-server
vi /etc/ambari-agent/conf/ambari-agent.ini ## 修改hostname [server] hostname=master url_port=8440 secured_url_port=8441 ## 初始化ambari-server配置ambari 服务 Database, JDK(默认1.7), LDAP 通常选默认 ambari-server setup ## 狂点enter ## 启动ambari ambari-server start ambari-agent start
五、通过头痛的Shell命令,开始连点人间的东西了。
使用你的浏览器访问 http://10.1.10.1:8080/ 帐号密码默认为amdin/admin
点击LAUNCH INSTALL WIZARD
让咱们愉快的开始吧
六、给集群起一个名字
七、这个里要注意一点肯定你的hdp版本否则后面会有麻烦
八、我在这里面配置的是HDP2.4.3
例子: http://public-repo-1.hortonwo...
点击next 会检查数据源是否正常,若是这里报错能够点击 "Skip Repository Base URL validation (Advanced) " 进行跳过检查
九、填入hostname master slave1 slave2 由于在slave安装ambari-agent 因此直接选择不使用ssh
十、检查服务器状态--这里须要等待一下 若是等待时间过长能够重启ambari-server
十一、选择咱们须要的服务 HDFS YARN ZK
十二、直接使用Ambari默认分配方式 点击下一步开始安装
1三、下面就是考虑网速的时候了
1四、安装完成以后一路Next刷新主页面就看到了咱们的Hadoop集群这里默认都是启动的
1五、进入HDFS下 点击restart ALL 能够重启全部组件
1六、验证一下是否安装成功 点击NameNodeUI
1七、基础信息页
1八、Hadoop已经搭建完成完成了不想跑一个任务试试吗?
## 进入服务器执行 ### 建立hdfs目录 能够再http://master:50070/explorer.html#/界面 hdfs dfs -mkdir -p /data/input ### 从服务器上传文件到hdfs上 hdfs dfs -put 文件 /data/input/ ### 使用官网提供的例子进行测试 hadoop jar hdfs://tesla-cluster/data/hadoop-mapreduce-examples-2.7.1.2.4.0.0-169.jar wordcount /data/input /data/output1
1九、结果以下 生成_SUCCESS 和文件
终于,经过上面的步骤咱们搭建了一套hadoop集群,但随之而来的还有一些问题,NameNode 和ResouceManage 都是单点的模式,ambari支持HA(高可用) 由于篇幅有限,图头后面会单开一张来说。