在ubuntu14.04上使用ambari搭建hadoop叢集
一、環境準備
在使用ambari搭建hadoop叢集之前需要準備一些環境。本文使用三臺機器搭建hadoop叢集。IP分別為:
ubuntu 的 IP :192.168.127.138
hadoop1 的 IP: 192.168.127.135
hadoop2 的 IP:192.168.127.134
1.三臺機器之間相互註冊IP並且需要配置全域名
開啟ubuntu的host檔案配內容如下:
$ vim /etc/hosts
#127.0.0.1 localhost
#127.0.1.1 ubuntu
# The following lines are desirable for IPv6 capable hosts
#::1 ip6-localhost ip6-loopback
#fe00::0 ip6-localnet
#ff00::0 ip6-mcastprefix
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters
192.168.127.138 ubuntu.test.com ubuntu
#192.168.127.139 agent.test.com agent
192.168.127.134 hadoop2.test.com hadoop2
192.168.127.135 hadoop1.test.com hadoop1
把次hosts檔案複製到其他兩臺機器上。
2.安裝ntp服務
需要在每臺主機上安裝ntp協議。這時一種用於在多臺主機之間進行時間同步的協議。在每臺主機上使用以下命令即可。
$ sudo apt-get install ntp
$ service ntp start
3.安裝jdk
此處就不在贅述jdk的安裝了可以看我前一篇文章ubuntu14.04安裝ambari中jdk的安裝配置
4.安裝ssh服務並開啟遠端登入到root賬戶功能
安裝ssh服務使機器可以遠端使用ssh登入。
$ sudo apt-get install openssh-server
安裝完成後配置ssh的配置檔案/etc/ssh/sshd_config使遠端ssh登入時可以使用root賬戶登入.
註釋PermitRootLogin without-password後新增PermitRootLogin yes。
# sudo vim /etc/ssh/sshd_config
# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password
PermitRootLogin yes
StrictModes yes
5.配置ssh免密碼登入
在ambari-server機器ubuntu上使用root使用者在根目錄執行以下命令:
# ssh-keygen -t rsa
# cd .ssh
# cat id_rsa.pub >>authorized_keys
# scp authorized_keys [email protected]:/root/.ssh
# 輸入密碼
# scp authorized_keys [email protected]:/root/.ssh
# 輸入密碼
在ubuntu機器上驗證是否可以免密碼登入到機器hadoop1和機器hadoop2上
# ssh hadoop2
# ssh hadoop1
二、使用ambari搭建hadoop叢集
1.啟動ambari-server服務
執行ambari-server start命令啟動ambari服務並在瀏覽器中輸入
http://192.168.127.138:8080
或者
http://ubuntu:8080
出現如下介面:
登入之後出現hadoop搭建介面:
2.Get Started.填入叢集的名稱
3.Select Stack.選擇要安裝的版本,這裡我選擇了HDP2.4
4.Confirm Hosts.選擇要安裝hadoop叢集的叢集
我在這步卡了好久,在這裡有一點需要注意target hosts必須填入FQDN即形如:xxx.xxx.com的形式,而並不是簡單的hostname。
可以通過hostname和hostname -f來驗證域名是否一樣。
(PS:第一次這一步的時候這樣配置沒有任何問題。第二次的時候出現了ambari-server的/var/log/ambari-server/ambari-server.log中出現找不到hostname的錯誤,我也不知道為什麼,我在網上搜索了很多都說是中文版本的問題,應該安裝英文版本的。但是我後來調了調hosts檔案就好使了感覺很莫名其妙。)
5.Confirm Hosts.等待在每一臺hadoop叢集機器上安裝ambari-agent
(PS:這圖是盜別人的結果和我的一樣知識前面配置的域名不一樣。忘了截圖了)
6.Choose Services.選擇要安裝的服務。這裡我只選擇了HDFS 和YARN這兩個。可以根據自己的實際情況安裝服務。
7.Assign Masters各個服務master配置,這裡我選擇了預設配置
8.Assign Slaves and Clients服務的Slaves和Clients節點配置
9.Customize Services服務的客製化配置(會提示必須配置的選項)
10.Review.顯示配置資訊
11.開始安裝各種服務(真正的坑才剛剛開始)
安裝過程報的錯誤
(1)錯誤1
Ambari agent process is not heartbeating on the host
ambari-agent沒有執行,我在hadoop1和hadoop2上啟動了之後還是報同樣的錯誤。開啟/var/log/ambari-agent/ambari-agent.log發現報ascii codec can’t decode byte 0xe8 in position 0:ordinal not in range(128)這個錯誤。
Solution:找到param.py檔案在其中加入
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
然後重新啟動
(2) 錯誤2
Execution of '/usr/bin/apt-get -q -o Dpkg::Options::=--force-confdef --allow-unauthenticated --assume-yes install 'hadoop-2-4-.*-client'' returned 100. E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.
Solution:
dpkg --configure -a
(3)錯誤3
Traceback (most recent call last):
File "/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/before-START/scripts/hook.py", line 39, in <module>
BeforeStartHook().execute()
File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 219, in execute
method(env)
File "/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/before-START/scripts/hook.py", line 28, in hook
import params
File "/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py", line 158, in <module>
ambari_db_rca_password = config['hostLevelParams']['ambari_db_rca_password'][0]
TypeError: 'int' object has no attribute '__getitem__'
Solution:找到/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py這個檔案把155行到158行換成如下程式碼
ambari_db_rca_url = config['hostLevelParams']['ambari_db_rca_url']
ambari_db_rca_driver = config['hostLevelParams']['ambari_db_rca_driver']
ambari_db_rca_username = config['hostLevelParams']['ambari_db_rca_username']
ambari_db_rca_password = config['hostLevelParams']['ambari_db_rca_password']
(4)錯誤4
resource_management.core.exceptions.Fail: Execution of 'curl -sS -L -w '%{http_code}' -X PUT -T /usr/hdp/2.4.3.0-227/hadoop/mapreduce.tar.gz 'http://hadoop1.test.com:50070/webhdfs/v1/hdp/apps/2.4.3.0-227/mapreduce/mapreduce.tar.gz?op=CREATE&user.name=hdfs&overwrite=True&permission=444'' returned status_code=403.
{
"RemoteException": {
"exception": "IOException",
"javaClassName": "java.io.IOException",
"message": "Failed to find datanode, suggest to check cluster health."
}
}
Solution:我使用這條命令/usr/hdp/2.1.2/hadoop-hdfs/bin/hdfs datanode手動啟動hostname節點發現報錯
HttpServer.start() threw a non Bind IOException java.net.BindException: Port in use: localhost:0
於是我在host那麼檔案中添加了如下程式碼:
127.0.0.1 localhost
然後重新啟動就成功了。
錯誤5
resource_management.core.exceptions.Fail: Execution of '/usr/sbin/ambari-metrics-grafana start' returned 1. Starting Ambari Metrics Grafana: .... FAILED
Solution:手動啟動後成功了
至此徹底完成了ambari搭建hadoop叢集~
相關推薦
在ubuntu14.04上使用ambari搭建hadoop叢集
一、環境準備 在使用ambari搭建hadoop叢集之前需要準備一些環境。本文使用三臺機器搭建hadoop叢集。IP分別為: ubuntu 的 IP :192.168.127.138 hadoop1 的 IP: 192.168.127.1
基於ubuntu14.04的ambari安裝及叢集部署
第一節. Ambari簡介Ambari跟Hadoop等開源軟體一樣,也是Apache Software Foundation中的一個專案,並且是頂級專案。目前最新的釋出版本是2.4.1。就Ambari的作用來說,就是建立、管理、監視Hadoop的叢集,但是這裡的Hadoop是廣義,指的是Hadoop整個生態圈
Ambari搭建Hadoop叢集之配置SSH免密登入
Ambari搭建Hadoop叢集時為了實現叢集之間的主機進行快速的聯機,我們需要對叢集的虛擬機器進行免密登入配置。下面來說說具體步驟。 前提:3臺虛擬機器。 1.修改主機名 a)首先root許可權下分別對3臺虛擬機器進行修改。修改的命令如下: sudo hostnam
Ubuntu14.04下Ambari安裝搭建部署大資料叢集(圖文分五大步詳解)(博主強烈推薦)
不多說,直接上乾貨! 寫在前面的話 (1) 最近一段時間,因擔任我團隊實驗室的大資料環境叢集真實物理機器工作,至此,本人秉持負責、認真和細心的態度,先分別在虛擬機器上模擬搭建ambari(基於CentOS6.5版本)和cloudermanager(基於CentOS6.5或Ub
本地搭建hadoop叢集--hadoop2.7.6-src在linux上編譯解決downloading過慢教程
第一步:工具的準備 apache-ant-1.9.9-bin.tar.gz apache-maven-3.0.5-bin.tar.gz hadoop-2.7.6-src.tar.gz jdk1.7 就好別用1.8 據說 用1.8 maven 編譯 會報各種錯。 protobuf-2
docker環境下搭建hadoop叢集(ubuntu16.04 LTS系統)
我的思路是這樣: 安裝ubuntu系統---->下載docker---->在docker里拉取hadoop映象---->在此映象裡建立三個容器(Master、Slave1、Slave2)---->完成完全分散式 1. 安裝ubuntu系統(無論你
hadoop實戰(二)ubuntu18.04搭建hadoop叢集
一、 安裝JDK 官網下載jdk壓縮包並解壓, vim /etc/proflie 或者修改vi ~/.bashrc 加上如下: export JAVA_HOME=/home/hadoop/jdk1.8.0_161 export HADOOP_HOME=/home/hado
Linux(ubuntu14.04)上編譯Android4.4原始碼的環境搭建及編譯全過程
關於Linux(ubuntu14.04)上編譯Android原始碼的環境搭建詳細過程都是在sublime text中編輯好的,無奈,這次的資料丟失讓我不得不重新來回想手打一次了。可能很多細節問題,這次重新編輯文章時不會記得那麼清晰了,還請有問題的朋友在下面留言給我就好了。
用Docker在一臺膝上型電腦上搭建一個具有10個節點7種角色的Hadoop叢集(下)-搭建Hadoop叢集
上篇介紹了快速上手Docker部分,下面接著介紹搭建Hadoop叢集部分。 六、搭建Hadoop偽分佈模式 我們先用前面建立的這個容器來搭建Hadoop偽分佈模式做測試,測試成功後再搭建完全分散式叢集。1.SSH這個centos容器可以看做是一個非常精簡的系統,很多功能沒有,需要自己安裝。Hado
AWS上搭建Hadoop叢集(一)——單機安裝Hadoop
課堂專案中實現了在AWS上搭建Hadoop叢集進行資料分析,過程中間不免遇到眾多問題,在此總結以供各位參考。 建立EC2例項 亞馬遜AWS服務想必大家都有所瞭解,這裡略過註冊過程(為了拿student credit還是花了一番功夫)。在EC2的介面上,
阿里雲ECS上搭建Hadoop叢集環境——使用兩臺ECS伺服器搭建“Cluster mode”的Hadoop叢集環境
Ingredient: 之前在: 這4篇文章裡講述了搭建Hadoop環境時在本地“/etc/hosts”裡面的ip域名配置上應該注意的事情,以及如何配置伺服器之間的ssh免密碼登入,啟動Hadoop遇到的一些問題的解決等等,這些都是使用ECS伺服器搭
在centos7上搭建hadoop叢集
準備工作 主機名稱 系統環境 ip地址 hadoop-master centos7 192.168.150.181 hadoop-slave1 centos7 192.168.150.182 hado
CentOS 7.4 安裝 Ambari 2.6.0 + HDP 2.6.3 搭建Hadoop叢集
1.安裝環境說明 三臺機器安裝好CentOS-7-x86_64-Minimal-1708.iso 下載地址:https://www.centos.org/download/ 最好在安裝時設定好IP和HOSTNAME 三臺機器的IP和HOSTNAME下載如下 主
Ubuntu14.04上Hadoop安裝問題之解決方案
問題一:安裝時遇到info問題解決方案:(1)將info資料夾更名:mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/(2)新建info資料夾:mkdir /var/lib/dpkg/info/(3)更新:apt-get update(4)重新安裝:apt-g
Linux(ubuntu14.04)上編譯Android4.4原始碼的環境搭建及編譯
1.下載並安裝jdk6 注意,版本一定要是jdk6,其他版本都會有問題。 網上流傳的方法大都是apt-get install來安裝jdk,實際操作證明這樣是不行的,下面給出個下載jdk6的地址 https://jdk6.java.net/download.htm
在ubuntu14.04上搭建Objective-C開發環境
我們的機器人需要iOS客戶端,於是要招iOS開發人員,而我們都不懂iOS開發,於是我緊急瞭解了下Objective-C(以下簡稱OC)的歷史和語法,然後想在ubuntu上動手試試OC程式設計,於是按照這篇文章搭建環境並編譯helloworld程式碼 gcc `gnustep
Ambari學習筆記:以本地倉庫自動搭建hadoop叢集環境
測試平臺:Ubuntu_server_16.04_x64 準備好一臺虛擬機器,安裝vmtool以設定共享資料夾: sudo mkdir /mnt/cdrom mount -tro iso9660 /dev/cdrom /mnt/cdrom sudo ta
webrtc在ubuntu14.04上的編譯過程(12.04亦可)
使用 設置 arch clean lean 文件拷貝 ubun script name 轉自:http://blog.csdn.net/xiangjai/article/details/44409751 一、虛擬機環境搭建 1、安裝ubuntu 14.04虛擬機:
TQ2440在Ubuntu16.04上如何搭建DNW燒寫環境
sudo 第一次 unistd.h vendor %d 不能 isp 配置 return 八月份國賽比完,原計劃開始的嵌入式Linux學習一直拖到了現在;由於之前所有的開發全在Windows下進行的,對各種底層完全不清楚,剛好這段時間開始學習Linux,我就在想能不能把
spark學習(1)--ubuntu14.04集群搭建、配置(jdk)
RM int 5.0 java_home 輸入 str cas Go 比較 環境:ubuntu14.04 1、文本模式桌面模式切換 ctrl+alt+F6 切換到文本模式 ctrl + alt +F7 /輸入命令startx切換到桌面模式 2、更改Ip地址、主機名 /