Ambari HDP集羣搭建全攻略

世界上最快的捷徑,就是腳踏實地,本文已收錄【架構技術專欄】關注這個喜歡分享的地方。html

最近由於工做上須要從新用Ambari搭了一套Hadoop集羣,就把搭建的過程記錄了下來,也但願給有一樣需求的小夥伴們一個參考,ios

做者:圖頭數據shell

Ambari Ubuntu14.04 最新版本 2.2.1ubuntu

HDP Ubuntu14.04 最新版本 2.4.3.0vim

Ambari是什麼

Apache Ambari是一種基於Web的工具,支持Apache Hadoop集羣的供應、管理和監控。瀏覽器

Ambari已支持大多數Hadoop組件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等。安全

Apache Ambari 支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeepr、Sqoop和Hcatalog等的集中管理。也是5個頂級hadoop管理工具之一。(就是一個開源的hadoop一鍵式安裝服務)服務器

咱們能用他幹什麼?咱們爲何要用它呢?cookie

咱們可使用ambari快速的搭建和管理hadoop和常用的服務組件。架構

好比hdfs、yarn、hive、hbase、oozie、sqoop、flume、zookeeper、kafka等等。(說白了就是能夠偷好多懶)

再說說咱們爲何要用它

  • 第一是ambari還算是一個早期的Hadoop管理集羣工具
  • 第二主要是如今Hadoop官網也在推薦使用Ambari。
  • 經過一步一步的安裝嚮導簡化了集羣供應。
  • 預先配置好關鍵的運維指標(metrics),能夠直接查看Hadoop Core(HDFS和MapReduce)及相關項目(如HBase、Hive和HCatalog)是否健康。
  • 支持做業與任務執行的可視化與分析,可以更好地查看依賴和性能。
  • 經過一個完整的RESTful API把監控信息暴露出來,集成了現有的運維工具。
  • 用戶界面很是直觀,用戶能夠輕鬆有效地查看信息並控制集羣。

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.hortonworks.com/HDP/debian7/2.x/updates/2.4.3.0

點擊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(高可用) 由於篇幅有限,圖頭後面會單開一張來說。

相關文章
相關標籤/搜索