『壹』 如何配置Hadoop環境
資源下載
1、JDK下載:下載鏈接
2、hadoop:下載鏈接
3、下載完成後驗證一下下載,將計算的MD5值與官網的進行對比已驗證安裝包的准確性:
md5sum ./hadoop-2.6.*.tar.gz | tr "a-z" "A-Z" # 計算md5值,並轉化為大寫,方便比較1
一、創建Hadoop用戶
創建hadoop用戶,並分配以用戶名為家目錄/home/hadoop,並將其加入到sudo用戶組,創建好用戶之後,以hadoop用戶登錄:
sudo useradd -m hadoop -s /bin/bash sudo adser hadoop sudo
sudo passwd hadoop # 設置hadoop用戶密碼123
二、安裝JDK、Hadoop及配置環境變數
安裝,解壓JDK到/usr/lib/java/路徑下,Hadoop到/usr/local/etc/hadoop/路徑下:
tar zxf ./hadoop-2.6.*.tar.gz
mv ./hadoop-2.6.* /usr/local/etc/hadoop # 將 /usr/local/etc/hadoop作為Hadoop的安裝路徑12
解壓完成之後,可驗證hadoop的可用性:
cd /usr/local/etc/hadoop
./bin/hadoop version # 查看hadoop的版本信息12
若在此處,會出現類似以下的錯誤信息,則很有可能是該安裝包有問題。
Error: Could not find or load main class org.apache.hadoop.util.VersionInfo1
配置環境,編輯「/etc/profile」文件,在其後添加如下信息:
export HADOOP_HOME=/usr/local/etc/hadoopexport JAVA_HOME=/usr/lib/java/jdk1.8.0_45export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin12345
使配置的變數生效:
source /etc/profile1
三、測試一下
在此我們可以運行一個簡單的官方Demo:
cd `echo $HADOOP_HOME` # 到hadoop安裝路徑
mkdir ./input
cp ./etc/hadoop/*.xml ./input
hadoop jar ./share/hadoop/maprece/hadoop-maprece-examples-*.jar grep ./input ./output 'dfs[a-z.]+'1234
輸出的結果應該會是:
1 dfsadmin 1
這里有一點需要注意,該Example程序運行時不能已存在output目錄,否則或將無法執行!
四、Hadoop的偽分布式環境搭建
什麼是偽分布式?Hadoop 偽分布式模式是在一台機器上模擬Hadoop分布式,單機上的分布式並不是真正的分布式,而是使用線程模擬的分布式。分布式和偽分布式這兩種配置也很相似,唯一不同的地方是偽分布式是在一台機器上配置,也就是名位元組點(namenode)和數據節點(datanode)均是同一台機器。
需要配置的文件有core-site.xml和hdfs-site.xml這兩個文件他們都位於${HADOOP_HOME}/etc/hadoop/文件夾下。
其中core-site.xml:
文件hdfs-site.xml的配置如下:
配置完成後,執行格式化命令,使HDFS將制定的目錄進行格式化:
若格式化成功,在臨近輸出的結尾部分可看到如下信息:
如果發現並沒有出現如上信息,則使用刷新節點命令進行刷新:
八、HDFS集群實例測試
依然是之前的那個示例,首先,創建一個數據源文件夾,並添加數據:
運行maprece示例:
holding…
『貳』 搭建hadoop集群,常用配置文件是什麼,以及配置哪些屬性
一. 簡介
參考了網上許多教程,最終把hadoop在ubuntu14.04中安裝配置成功。下面就把詳細的安裝步驟敘述一下。我所使用的環境:兩台ubuntu 14.04 64位的台式機,hadoop選擇2.7.1版本。(前邊主要介紹單機版的配置,集群版是在單機版的基礎上,主要是配置文件有所不同,後邊會有詳細說明)
二. 准備工作
2.1 創建用戶
創建用戶,並為其添加root許可權,經過親自驗證下面這種方法比較好。
1 sudo adser hadoop2 sudo vim /etc/sudoers3 # 修改內容如下:4 root ALL = (ALL)ALL5 hadoop ALL = (ALL)ALL
給hadoop用戶創建目錄,並添加到sudo用戶組中,命令如下:
1 sudo chown hadoop /home/hadoop2 # 添加到sudo用戶組3 sudo adser hadoop sudo
最後注銷當前用戶,使用新創建的hadoop用戶登陸。
2.2安裝ssh服務
ubuntu中默認是沒有裝ssh server的(只有ssh client),所以先運行以下命令安裝openssh-server。安裝過程輕松加愉快~
sudo apt-get install ssh openssh-server
2.3 配置ssh無密碼登陸
直接上代碼:執行完下邊的代碼就可以直接登陸了(可以運行ssh localhost進行驗證)
1 cd ~/.ssh# 如果找不到這個文件夾,先執行一下 "ssh localhost"2 ssh-keygen -t rsa3 cp id_rsa.pub authorized_keys
注意:
這里實現的是無密登陸自己,只適用與hadoop單機環境。如果配置Hadoop集群設置Master與Slave的SSH無密登陸可
三. 安裝過程
3.1 下載hadoop安裝包
有兩種下載方式:
1. 直接去官網下載:
2. 使用wget命令下載:
3.2 配置hadoop
1. 解壓下載的hadoop安裝包,並修改配置文件。我的解壓目錄是(/home/hadoop/hadoop-2.7.1),即進入/home/hadoop/文件夾下執行下面的解壓縮命令。
tar -zxvf hadoop-2.7.1.tar.gz
2. 修改配置文件:(hadoop2.7.1/etc/hadoop/)目錄下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml。
(1). core-site.xml 配置:其中的hadoop.tmp.dir的路徑可以根據自己的習慣進行設置。
至此,wordcount demo 運行結束。
六. 總結
配置過程遇到了很多問題,最後都一一解決,收獲很多,特此把這次配置的經驗分享出來,方便想要配置hadoop環境的各位朋友~
(Hadoop集群安裝配置過程基本和單機版是一樣的,主要是在配置文件方面有所區別,以及ssh無密登陸要求master和slave能夠互相無密登陸。
『叄』 大數據 hadoop 三種運行模式的區別、及詳細配置講解
基於Hadoop進行開發時,有時候會被Hadoop的運行模式弄得暈頭轉向,傻傻分不清各種運行模式的區別,給日常開發帶來很多困惑,不同集群配置文件也各不相不同。弄明白Hadoop的運行模式和對配置文件的作用要做到心中明了,在工作中才能得手順心。
hadoop的配置文件均以XML文件進行配置,它有四個最常見的配置文件,分別為:
core-site.xml文件主要用於配置通用屬性。
hdfs-site.xml文件用於配置Hdfs的屬性。
mapred-site.xml文件用於配置Maprece的屬性。
yarn-site.xml文件用於配置Yarn的屬性。
一般來說,這四種配置文件都存儲在hadoop默認的安裝目錄etc/hadoop子目錄中。 不過我們也可以在搭建集群時根據實際需求,把etc/hadoop目錄和其下的文件復制到另外一個位置。這樣可以把配置文件和安裝文件分離開來,方便管理。
注意:如果把etc/hadoop目錄和其下的文件復制到另外一個位置。
我們需要在環境變數中將hadoop_conf_dir設置成指向新目錄。
1、本地運行模式
無需任何守護進程 ,所有的程序都運行在同一個JVM上執行。在本地模式下調試MR程序非常高效方便,一般該模式主要是在學習或者開發階段調試使用 。
2、偽分布式模式
Hadoop守護進程運行在本地機器上 ,模擬一個小規模的集群,換句話說,可以配置一台機器的Hadoop集群,偽分布式是完全分布式的一個特例。
3、完全分布式模式
Hadoop守護進程運行在一個集群上 。這種運行模式也就是我們常見的各種雲,主要用於大規模的生產環境中。
注意:分布式要啟動守護進程 ,是指在使用分布式hadoop時,要先啟動一些准備程序進程,然後才能使用。 比如start-dfs.sh start-yarn.sh,而本地模式不需要啟動這些守護進程。
注意:在本地模式下,將使用本地文件系統和本地MapRece運行器。在分布式模式下,將啟動HDFS和YARN守護進程。
『肆』 hadoop 配置文件部分
9000埠:是fileSystem默認的埠號:
50070埠: 50070是hdfs的web管理頁面的埠 (50070埠也可以查看hdfs 的總存儲 以及用了多少等情況),如下圖
8020埠: namenode 節點下active的埠
添加配置文件,即可解決問題
『伍』 Hadoop集群配置
切換到Hadoop解壓目錄的etc/hadoop/目錄下,編輯hadoop-env.sh,修改如下內容:
該文件是Hadoop的核心配置文件,目的是配置HDFS地址、埠號以及臨時文件目錄。
該文件MapRece的核心文件,用於指定MapRece運行時框架。在etc/hadoop/目錄沒有該文件,需要將mapred-site.xml.template復制並重命名為mapred-site.xml。
該文件YARN的核心文件,需要指定YARN集群的管理者。
該文件記錄Hadoop集群所有從節點(HDFSde DataNode和YARN的NodeManager所在主機)的主機名,用來配合一鍵啟動腳本啟動集群從節點(保證關聯節點配置了SSH免密登錄)。打開slaves文件,先刪除裡面的內容(默認localhost),配置如下內容
完成Hadoop集群主節點hadoop01的配置後,還需要將系統環境配置文件、JDK安裝目錄和Hadoop安裝目錄分發到其他子節點hadoop02和hadoop03上,具體指令:
scp /etc/profile hadoop02:/etc/profile
scp /etc/profile hadoop03:/etc/profile
scp -r /export/ hadoop02:/
scp -r /export/ hadoop03:/
完成後,在hadoop02和hadoop03節點刷新配置文件:
source /etc/profile
初次啟動HDFS集群時,必須對主節點進行格式化處理。注意:格式化指令只需在Hadoop集群初次啟動前執行即可。指令:
hdfs namenode –format
或
hadoop namenode -format
出現「successfully formatted"字樣表示格式化成功。
針對Hadoop集群的啟動,需要啟動內部包含的HDFS集群和YARN集群兩個集群框架。
啟動:
(1)start-dfs.sh #啟動所有HDFS服務進程
(2)start-yarn.sh #啟動所有YARN服務進程
或者:
start-all.sh直接啟動整個Hadoop集群服務
關閉則直接將上述指令中的start換成stop即可。
在整個Hadoop集群服務啟動完成後,可以在各自機器上通過jps指令查看各節點的服務進程啟動情況。
集群啟動成功。
『陸』 kettle連接hadoop配置hdfs文件數據導出
1、Win10本地安裝JDK1.8環境,運行kettle 6.1。
2、在kettle中設置Active shim,在工具打開「hadoop distribution」,選擇hdp。將hadoop配置文件hdfs-site.xml、core-site.xml拷貝至本地.\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp23\下,修改本地core-site文件內fs.defaultFS的值,使用hdfs://192.168.85.129:8020。
3、配置hadoop cluster連接,在作業或轉換「主對象樹」選中「hadoop cluster」,右擊「new cluster」,填寫相關信息。遇到本機用戶不能訪問hdfs下/user目錄許可權,在/user目錄新建本機用戶zhengyuan目錄,並授予zhengyuan用戶擁有目錄許可權,參考: https://blog.csdn.net/weinierzui/article/details/77931346 ,測試ok保存。
4、新建轉換,用hadoop file input組件訪問hdfs,數據文件已傳至zhengyuan目錄下。在內容頁簽,設置分隔符為tab,格式選unix,在欄位頁簽,加入讀取數據的各列的名稱、屬性信息,這些列名和後面接數組件的欄位配置映射時用到。在文件頁簽-顯示文件內容、字典頁簽-預覽記錄,多可以瀏覽數據文件內容,表明配置ok。
5、kettle加個表輸出組件,配置接出數據源、數據表,配置映射,即可執行同步,將hdfs文件數據解析同步存至外部數據源,比如mysql。此處只測了數據可以同步,生產中還需考慮調度及增量同步。