linux如何配置hadoop
㈠ 怎樣在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)
㈡ Linux伺服器上搭建hadoop
用不同的賬號,當然可以。
我用相同的賬號,搭建了兩套環境,只要安裝hadoop的目錄不再同一個目錄下就可以。然後就是注意你的/etc/profile盡量不要配置HADOOP_HOME的值,只配置JDK就可以了,不然可能會用沖突,不知道該去找哪個hadoop home 了。
㈢ 如何在Linux上安裝與配置Hadoop-IT168 技術開發專區
Hadoop-env.sh: export JAVA_HOME=「你的JDK安裝地址」 指定JDK的安裝位置: conf/core-site.xml: fs.default.name hdfs://localhost:9000 這是Hadoop核心的配置文件,這里配置的是HDFS的地址和埠號。 conf/hdfs-site.xml: dfs.replication 1