導航:首頁 > 操作系統 > linuxhadoop搭建

linuxhadoop搭建

發布時間:2022-10-03 14:57:58

1. 如何在linux下搭建hadoop集群環境 小殘's Blog

前期准備
l 兩台linux虛擬機(本文使用redhat5,IP分別為 IP1、IP2)
l JDK環境(本文使用jdk1.6,網上很多配置方法,本文省略)
l Hadoop安裝包(本文使用Hadoop1.0.4)
搭建目標
210作為主機和節點機,211作為節點機。
搭建步驟
1修改hosts文件
在/etc/hosts中增加:

IP1 hadoop1
IP2 hadoop2

2 實現ssh無密碼登陸
2.1 主機(master)無密碼本機登陸

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

直接回車,完成後會在 ~/.ssh/ 生成兩個文件: id_dsa 和 id_dsa.pub 。
這兩個是成對出現,類似鑰匙和鎖。
再把 id_dsa.pub 追加到授權 key 裡面 ( 當前並沒有 authorized_key s文件 ) :

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

ssh localhost hostname

還是要輸入密碼,一般這種情況都是因為目錄或文件的許可權問題,看看系統日誌,確實是許可權問題
.ssh下的authorized_keys許可權為600,其父目錄和祖父目錄應為755

2.2 無密碼登陸節點機(slave)
slave上執行:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

生成.ssh目錄。
將master上的authorized_keys復制到slave上:

scp authorized_keys hadoop2:~/.ssh/

實驗:在master上執行

ssh hadoop2

實現無密碼登陸。
3 配置Hadoop
3.1拷貝hadoop
將hadoop-1.0.4.tar.gz ,拷貝到usr/local 文件夾下,然後解壓
解壓命令

tar –zxvf hadoop-1.0.4.tar.gz

3.2查看 cat /etc/hosts

IP1 hadoop1
IP2 hadoop2

3.3 配置 conf/masters 和 conf/slaves
conf/masters:
1

IP1

conf/slaves:
1
2

IP2
IP2

3.4 配置 conf/hadoop-env.sh
加入
1

export java_HOME=/home/elvis/soft/jdk1.7.0_17

3.5 配置 conf/core-site.xml
1
2
3
4

<property>
<name>fs.default.name</name>
<value>hdfs://IP1:9000</value>
</property>

3.6 配置 conf/hdfs-site.xml
加入

<property>
<name>dfs.http.address</name>
<value>IP1:50070</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>

3.7 配置conf/mapred-site.xml
加入

<property>
<name>mapred.job.tracker</name>
<value>192.168.1.50:8012</value>
</property>

3.8 建立相關的目錄
1

/usr/local/hadoop/ //hadoop數據和namenode目錄

【注意】只創建到hadoop目錄即可,不要手動創建data和namenode目錄。
其他節點機也同樣建立該目錄。
3.9 拷貝hadoop文件到其他節點機
將hadoop文件遠程到其他節點(這樣前面的配置就都映射到了其他節點上),
命令:
1

scp -r hadoop-1.0.4 IP2:/usr/local/

3.10 格式化Active master
命令:

bin/hadoop namenode -format

3.11 啟動集群 ./start-all.sh
現在集群啟動起來了,看一下,命令:
1

bin/hadoop dfsadmin -report

2個datanode,打開web看一下
瀏覽器輸入:IP1:50070
打完收工,集群安裝完成!

2. 怎樣在linux系統上搭建Hadoop集群

(1)下載jdk,在官網下載,下載rpm的包
(2)hadoop包的下載,官網上下載
download hadoop->release->mirror site(鏡像站)->隨便選擇離自己近的(HTTP下的第一個)->選擇2.7.2->下載.tar.gz
(3)將兩個包遠程傳輸到linux虛擬機中
(4)將主機名和ip地址進行適配,讓我們的ip地址和主機名(如bigdata)相匹配:寫到/etc/hosts裡面
vi /etc/hosts
按「i」進入插入狀態 將原有的地址注釋掉
在新的一行輸入:ip地址 主機名(如172.17.171.42 bigdata)(註:可以雙擊xshell的窗口再打開一個連接窗口,可以在新的窗口查詢ip地址並進行復制)
按「Esc」退出插入狀態
輸入:wq保存退出
修改完之後可以輸入hostname回車,查看是否成功
reboot:重啟,使得剛剛的修改生效
(5)將包放到opt下:cp hadoop-2.7.2.tar.gz /opt/
cp jdk-8u111-linux-x64.rpm /opt/
進入opt:cd /opt/
查看opt下的文件:ll
(6)安裝jdk,配置jdk的環境變數
安裝命令:rpm -ivh jdk-Bu101-linux-x64.rpm
配置環境變數:進入profile進行編輯:vi /etc/profile
並按照上面的方式在最後寫入並保存:JAVA_HOME=/usr/java/default/(/usr/java/default/是jdk的安裝目錄)
列印JAVA_HOME檢驗是否配置好:echo $JAVA_HOME結果發現列印出來的沒有內容因為我們對/etc/profile的修改需要通過以下命令對它生效source /etc/profile。再次輸入echo $JAVA_HOME,列印結果為/usr/java/default/
(7)驗證jdk安裝好:java -version
(8)配置SSH(免密碼登錄)
回到根目錄:cd 安裝SSH秘鑰:ssh-keygen -t rsa會自動在/root/.shh/目錄下生成
查看目錄:ll .ssh/有兩個新生成的文件id_rsa(私鑰),id_rsa.pub(公鑰)
進入.ssh/:cd .ssh/
將公鑰寫入authorized_key中:cat id_rsa.pub >> authorized_keys
修改authorized_keys文件的許可權:chmod 644 authorized_keys
修改完後退出.ssh的目錄cd進入初始目錄輸入:ssh bigdata(bigdata為你要遠程登錄的主機名或者ip地址)第一次登錄需要確認是否需要繼續登錄輸入yes繼續登錄
退出exit
(9)安裝及配置hadoop
解壓:tar zxf hadoop-2.7.2.tar.gz
查看/opt目錄下是否已經存在解壓的文件:ll(結果為出現hadoop-2.7.2)
繼續查看hadoop-2.7.2里的內容:cd hadoop-2.7.2
配置HADOOP_HOME:修改/etc/profile
進入hadoop的配置文件目錄cd /opt/hadoop-2.7.2/etc/hadoop/,會用的的配置文件如下:
core-site.xml
配置hadoop的文件系統即HDFS的埠是什麼。
配置項1為default.name,值為hdfs://bigdata:9000(主機名:bigdata也可也寫成ip地址,埠9000習慣用)
配置項2為hadoop臨時文件,其實就是配置一個目錄,配置完後要去創建這個目錄,否則會存在問題。
配置項3分布式文件系統的垃圾箱,值為4320表示3分鍾回去清理一次

<property>
<name>fs.default.name</name>
<value>hdfs://bigdata:9000</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.7.2/current/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>4320</value>
</property>
hdfs-site.xml
配置項1,namenode的細節實際上就是一個目錄
配置項2,datanode的細節,真實環境中datanode的內容不需要再namenode的系統下配置,在此配置的原因是我們的系統是偽分布式系統,namenode和datanode在一台機器上
配置項3,副本的數量,在hdfs中每個塊有幾個副本
配置項4,HDFS是否啟用web
配置項5,HDFS的用戶組
配置項6,HDFS的許可權,現在配置為不開啟許可權

<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop-2.7.2/current/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop-2.7.2/current/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions.superusergroup</name>
<value>staff</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
創建配置文件中不存在的目錄:mkdir -p /opt/hadoop-2.7.2/current/data
mkdir -p /opt/hadoop-2.7.2/current/dfs/name
mkdir -p /opt/hadoop-2.7.2/current/tmp
yarn-site.xml
配置項1,resourcemanager的hostname,值為你運行的那台機器的主機名或IP地址
配置項2,nodemanager相關的東西
配置項3,nodemanager相關的東西
配置項4,resourcemanager的埠,主機名+埠號(IP+埠)
配置項5,resourcemanager調度器的埠
配置項6,resourcemanager.resource-tracker,埠
配置項7,埠
配置項8,埠
配置項9,日誌是否啟動
配置項10,日誌保留的時間長短(以秒為單位)
配置項11,日誌檢查的時間
配置項12,目錄
配置項13,目錄的前綴

<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>maprece_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.maprece.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>bigdata:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheler.address</name>
<value>bigdata:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>bigdata:18025</value>
</property> <property>
<name>yarn.resourcemanager.admin.address</name>
<value>bigdata:18141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>bigdata:18088</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>86400</value>
</property>
<property>
<name>yarn.log-aggregation.retain-check-interval-seconds</name>
<value>86400</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/tmp/logs</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir-suffix</name>
<value>logs</value>
</property>
mapred-site.xml
沒有mapred-site.xml,輸入vi mapred-按「TAB」發現有mapred-site.xml.template,對該文件進行復制
cp mapred-site.xml.template mapred-site.xml 配置項1,maprece的框架
配置項2,maprece的通信埠
配置項3,maprece的作業歷史記錄埠
配置項4,maprece的作業歷史記錄埠
配置項5,maprece的作業歷史記錄已完成的日誌目錄,在hdfs上
配置項6,maprece中間完成情況日誌目錄
配置項7,maprece的ubertask是否開啟

<property>
<name>maprece.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>maprece.jobtracker.http.address</name>
<value>bigdata:50030</value>
</property>
<property>
<name>maprece.jobhisotry.address</name>
<value>bigdata:10020</value>
</property>
<property>
<name>maprece.jobhistory.webapp.address</name>
<value>bigdata:19888</value>
</property>
<property>
<name>maprece.jobhistory.done-dir</name>
<value>/jobhistory/done</value>
</property>
<property>
<name>maprece.intermediate-done-dir</name>
<value>/jobhisotry/done_intermediate</value>
</property>
<property>
<name>maprece.job.ubertask.enable</name>
<value>true</value>
</property>
slaves

bigdata
hadoop-env.sh

JAVA_HOME=/usr/java/default/
格式化分布式文件系統(hdfs):hdfs namenode -format
成功的標志: INFO common.Storage: Storage directory /opt/hadoop-2.7.2/current/dfs/namehas been successfully formatted.
啟動Hadoop集群:/opt/hadoop-2.7.2/sbin/start-all.sh
驗證Hadoop集群是否正常啟動:
jps,系統中運行的java進程;
通過埠查看(關閉防火牆或者service iptables stop在防火牆的規則中開放這些埠):
http://bigdata:50070(http://http://192.168.42.209/:50070),分布式文件系統hdfs的情況
yarn http://bigdata:18088(http://http://192.168.42.209/:50070)

3. 在Linux下搭建Hadoop有哪些注意事項

hadoop是運行在linux下的並行計算框架,在windows上搭建也是通過cygwin模擬linux的環境來運行,所以個人覺得直接在windows下搭建hadoop幾乎沒有任何好處,還不如在windows上安裝linux的虛擬機,通過虛擬機中的linux系統來運行hadoop

4. 如何在Linux上安裝與配置Hadoop

一、安裝hadoop 1 因為hadoop是基於java的,所以要保證hadoop能找到在本地系統中大路徑,即正確設置java的環境變數

5. 如何在Linux上安裝與配置Hadoop

在Linux上安裝Hadoop之前,需要先安裝兩個程序:
1. JDK 1.6或更高版本;
2. SSH(安全外殼協議),推薦安裝OpenSSH。
下面簡述一下安裝這兩個程序的原因:
1. Hadoop是用Java開發的,Hadoop的編譯及MapRece的運行都需要使用JDK。
2. Hadoop需要通過SSH來啟動salve列表中各台主機的守護進程,因此SSH也是必須安裝的,即使是安裝偽分布式版本(因為Hadoop並沒有區分集群式和偽分布式)。對於偽分布式,Hadoop會採用與集群相同的處理方式,即依次序啟動文件conf/slaves中記載的主機上的進程,只不過偽分布式中salve為localhost(即為自身),所以對於偽分布式Hadoop,SSH一樣是必須的。
(2)配置環境變數
輸入命令:
sudo gedit /etc/profile
輸入密碼,打開profile文件。
在文件的最下面輸入如下內容:
#set Java Environment
export JAVA_HOME= (你的JDK安裝位置,一般為/usr/lib/jvm/java-6-sun)
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
export PATH="$JAVA_HOME/:$PATH"
這一步的意義是配置環境變數,使你的系統可以找到JDK。
(3)驗證JDK是否安裝成功
輸入命令:
java -version
查看信息:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)

6. 熟悉常用的 Linux 操作和 Hadoop 操作

1.切換到當前目錄的上一級目錄
cd ..
2.切換到當前登錄 Linux 系統的用戶自己的主文件夾
cd ~
3.進入/tmp 目錄,創建目錄 a1/a2/a3/a4。
mkdir a1/a2/a3/a4 -p
4.刪除目錄
rmdir a
rmdir a1/a2/a3/a4 -p
5.cp 命令:復制文件或目錄
(1) 將當前用戶的主文件夾下的文件.bashrc 復制到目錄「/usr」下,並重命名為 bashrc1
sudo cp .bashrc /usr/bashrc1
(2) 在目錄「/tmp」下新建目錄 test,再把這個目錄復制到「/usr」目錄下
cd /tmp
mkdir test
sudo cp /tmp/test /usr -r
6.mv 命令:移動文件與目錄,或更名
(1) 將「/usr」目錄下的文件 bashrc1 移動到「/usr/test」目錄下
sudo mv /usr/bashrc1 /usr/test
(2) 將「/usr」目錄下的 test 目錄重命名為 test2
sudo mv /usr/test /usr/test2
7.rm 命令:移除文件或目錄
(1) 將「/usr/test2」目錄下的 bashrc1 文件刪除
sudo rm /usr/test2/bashrc1
(2) 將「/usr」目錄下的 test2 目錄刪除
sudo rm -rf /usr/test2
8.cat 命令:查看文件內容查看當前用戶主文件夾下的.bashrc 文件內容
cat .bashrc
9.tac 命令:反向查看文件內容反向查看當前用戶主文件夾下的.bashrc 文件的內容
tac .bashrc
10.more 命令:一頁一頁翻動查看翻頁查看當前用戶主文件夾下的.bashrc 文件的內容
more .bashrc
11.head 命令:取出前面幾行
(1) 查看當前用戶主文件夾下.bashrc 文件內容前 20 行
head -n20 .bashrc
(2)查看當前用戶主文件夾下.bashrc 文件內容,後面 50 行不顯示,只顯示前面幾行
head -n -50 .bashrc
12.tail 命令:取出後面幾行
(1)查看當前用戶主文件夾下.bashrc 文件內容最後 20 行
tail -n20 .bashrc
(2)查看當前用戶主文件夾下.bashrc 文件內容,並且只列出 50 行以後的數據
tail -n -50 .bashrc
13.touch 命令:修改文件時間或創建新文件
(1) 在「/tmp」目錄下創建一個空文件 hello,並查看文件時間
touch hello
stat hello
(2)修改 hello 文件,將文件時間整為 5 天前
touch -d "2019-3-26" hello
stat hello
14.chown 命令:修改文件所有者許可權將 hello 文件所有者改為 root 帳號,並查看屬性
sudo chown root hello
ls -l hello
15.find 命令:文件查找找出主文件夾下文件名為.bashrc 的文件
find .bashrc
16.tar 命令:壓縮命令
(1) 在根目錄「/」下新建文件夾 test,然後在根目錄「/」下打包成 test.tar.gz
tar -zcvf test.tar.gz test/
(2) 把上面的 test.tar.gz 壓縮包,解壓縮到「/tmp」目錄
tar -zxvf test.tar.gz
17.grep 命令:查找字元串從「~/.bashrc」文件中查找字元串'examples'
grep -rn "examples" .bashrc
18.使用 hadoop 用戶登錄 Linux 系統,啟動 Hadoop(Hadoop 的安裝目錄為「/usr/local/hadoop」),為 hadoop 用戶在 HDFS 中創建用戶目錄「/user/hadoop」
./bin/hadoop fs -mkdir -p /usr/hadoop
19.接著在 HDFS 的目錄「/user/hadoop」下,創建 test 文件夾,並查看文件列表
./bin/hdfs dfs -mkdir test
./bin/hadoop fs -ls
20.將 Linux 系統本地的「~/.bashrc」文件上傳到 HDFS 的 test 文件夾中,並查看 test

./bin/hadoop fs -put ~/.bashrc test

./bin/hadoop fs -ls test
21.將 HDFS 文件夾 test 復制到 Linux 系統本地文件系統的「/usr/local/hadoop」目錄下

參考: 1

7. Linux伺服器上搭建hadoop

用不同的賬號,當然可以。
我用相同的賬號,搭建了兩套環境,只要安裝hadoop的目錄不再同一個目錄下就可以。然後就是注意你的/etc/profile盡量不要配置HADOOP_HOME的值,只配置JDK就可以了,不然可能會用沖突,不知道該去找哪個hadoop home 了。

8. linux怎麼部署hadoop

在Linux上安裝Hadoop之前,需要先安裝兩個程序:
1. JDK 1.6或更高版本;
2. SSH(安全外殼協議),推薦安裝OpenSSH。
下面簡述一下安裝這兩個程序的原因:
1. Hadoop是用Java開發的,Hadoop的編譯及MapRece的運行都需要使用JDK。
2. Hadoop需要通過SSH來啟動salve列表中各台主機的守護進程,因此SSH也是必須安裝的,即使是安裝偽分布式版本(因為Hadoop並沒有區分集群式和偽分布式)。對於偽分布式,Hadoop會採用與集群相同的處理方式,即依次序啟動文件conf/slaves中記載的主機上的進程,只不過偽分布式中salve為localhost(即為自身),所以對於偽分布式Hadoop,SSH一樣是必須的。
一、安裝JDK 1.6
安裝JDK的過程很簡單,下面以Ubuntu為例。
(1)下載和安裝JDK
確保可以連接到互聯網,輸入命令:
sudo apt-get install sun-java6-jdk

輸入密碼,確認,然後就可以安裝JDK了。
這里先解釋一下sudo與apt這兩個命令,sudo這個命令允許普通用戶執行某些或全部需要root許可權命令,它提供了詳盡的日誌,可以記錄下每個用戶使用這個命令做了些什麼操作;同時sudo也提供了靈活的管理方式,可以限制用戶使用命令。sudo的配置文件為/etc/sudoers。
apt的全稱為the Advanced Packaging Tool,是Debian計劃的一部分,是Ubuntu的軟體包管理軟體,通過apt安裝軟體無須考慮軟體的依賴關系,可以直接安裝所需要的軟體,apt會自動下載有依賴關系的包,並按順序安裝,在Ubuntu中安裝有apt的一個圖形化界面程序synaptic(中文譯名為「新立得」),大家如果有興趣也可以使用這個程序來安裝所需要的軟體。(如果大家想了解更多,可以查看一下關於Debian計劃的資料。)
(2)配置環境變數
輸入命令:
sudo gedit /etc/profile

輸入密碼,打開profile文件。
在文件的最下面輸入如下內容:
#set Java Environment
export JAVA_HOME= (你的JDK安裝位置,一般為/usr/lib/jvm/java-6-sun)
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
export PATH="$JAVA_HOME/:$PATH"

這一步的意義是配置環境變數,使你的系統可以找到JDK。
(3)驗證JDK是否安裝成功
輸入命令:
java -version

查看信息:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)

9. 如何在Linux上安裝與配置Hadoop

一、安裝hadoop

1 因為hadoop是基於java的,所以要保證hadoop能找到在本地系統中大路徑,即正確設置java的環境變數。
詳細請看:linux 安裝配置jdk

2 到官網:http://www.apache.org/dyn/closer.cgi/hadoop/common/ 下載hadoop,
這里我選擇hadoop1.0.4

3 解壓到 /usr/local
tar -xvf hadoop-1.0.4.tar.gz

4 設置hadoop環境變數,為了使環境變數永久有效並對所有用戶有效,我們將下面兩句添加到/etc/profile

export HADOOP_HOME=/usr/local/hadoop-1.0.4
export PATH=$PATH:$HADOOP_HOME/bin

5 驗證hadoop是否可以運行
hadoop version

ok, 安裝成功!(?不算安裝吧,哈哈)

閱讀全文

與linuxhadoop搭建相關的資料

熱點內容
軟通動力程序員節2021 瀏覽:845
安卓系統如何卸載安裝包 瀏覽:870
簡訊刪除助手文件夾 瀏覽:688
java辦公自動化 瀏覽:340
php中超鏈接 瀏覽:253
linux默認路由設置 瀏覽:36
linux如何掛載iso 瀏覽:432
vs程序換文件夾後不能編譯 瀏覽:557
安卓源碼編譯輸入腳本沒反應 瀏覽:47
phpmysql自增 瀏覽:167
把ppt保存為pdf 瀏覽:533
汽車密封件加密配件 瀏覽:887
黑馬程序員15天基礎班 瀏覽:560
java調整格式 瀏覽:521
香港雲伺服器租用價 瀏覽:78
linuxsublime3 瀏覽:560
imac混合硬碟命令 瀏覽:278
沈陽用什麼app租房車 瀏覽:857
00後高中生都用什麼app 瀏覽:239
戴爾塔式伺服器怎麼打開獨立顯卡 瀏覽:808