Hadoop安裝部署過程

Hadoop安裝部署過程

------------

1、配置hosts

------------

#在文件末添加

vim /etc/hosts

...

192.169.1.1 hadoop1

...

192.168.43.128 hadoop1

---------------

2、實現(xiàn)本地免密

---------------

#生成秘鑰對(根據(jù)提示回車)

ssh-keygen

#將公鑰拷貝到免密節(jié)點

ssh-copy-id hadoop1

#驗證(ssh連接如果沒提示輸入密碼,則免密成功)

ssh hadoop1

如果提示22;則需要安裝ssh客戶端

apt install openssh-server

如果提示登陸被拒絕,則需要修改配置文件為yes

vim /etc/ssh/sshd_config

重啟ssh服務(wù)

service ssh restart

-----------------

3、解壓相關(guān)軟件包

-----------------

cd /opt

tar -zxvf jdk1.8.0_111.tar.gz

tar -zxvf hadoop-2.7.3.tar.gz

---------------

4、增加環(huán)境變量

---------------

#在文件末尾添加

vim /etc/profile

...

export JAVA_HOME=/opt/jdk1.8.0_111

export HADOOP_HOME=/opt/hadoop-2.7.3

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

#使添加環(huán)境變量生效

source /etc/profile

#驗證

java -version

hadoop version

-------------

5、配置hadoop

-------------

cd hadoop-2.7.3/etc/hadoop

vim hadoop-env.sh

export JAVA_HOME=/opt/jdk1.8.0_111

將 slave 的主機名寫入到該文件(這里是單節(jié)點偽分布式所以只需要加入本機host)

vim slaves

hadoop1

vim core-site.xml

...

<configuration>

? <property>

? ? <name>fs.defaultFS</name>

? ? <value>hdfs://hadoop1:9000</value>

? </property>

 <!-- 指定hadoop運行時產(chǎn)生文件的存儲目錄 -->

? <property>

? ? <name>hadoop.tmp.dir</name>

? ? <value>file:/usr/local/hadoop/tmp</value>

? ? <description>Abase for other temporary directories.</description>

? </property>

</configuration>

vim hdfs-site.xml

...

<configuration>

? <property>

? ? <name>dfs.namenode.http-address</name>

? ? ? <value>hadoop1:50070</value>

? </property>

? <property>

? ? <name>dfs.namenode.secondary.http-address</name>

? ? ? <value>hadoop1:50090</value>

? </property>

? <!-- 指定HDFS副本的數(shù)量 -->

? <property>

? ? <name>dfs.replication</name>

? ? ? <value>1</value>

? </property>

? <property>

? ? <name>dfs.namenode.name.dir</name>

? ? ? <value>file:/usr/local/hadoop/tmp/dfs/name</value>

? </property>

? <property>

? ? <name>dfs.datanode.data.dir</name>

? ? ? <value>file:/usr/local/hadoop/tmp/dfs/data</value>

? </property>

</configuration>

cp mapred-site.xml.template mapred-site.xml

vim mapred-site.xml

...

<!-- 指定mr運行在yarn上 -->

<configuration>

? <property>

? ? <name>mapreduce.framework.name</name>

? ? <value>yarn</value>

? </property>

? <property>

? ? <name>mapreduce.jobhistory.address</name>

? ? <value>hadoop1:10020</value>

? </property>

? <property>

? ? <name>mapreduce.jobhistory.webapp.address</name>

? ? <value>hadoop1:19888</value>

? </property>

</configuration>

vim yarn-site.xml

...

<configuration>

? <property>

? ? <name>yarn.resoursemanager.hostname</name>

? ? <value>hadoop1</value>

? </property>

<!-- reducer獲取數(shù)據(jù)的方式 -->

? <property>

? ? <name>yarn.nodemanager.aux-services</name>

? ? <value>mapreduce_shuffle</value>

? </property>

</configuration>

-------------

6、啟動hadoop

-------------

#注意:

如果以前啟動過hadoop,再次格式化,需要將

/usr/local/hadoop/tmp

/usr/local/hadoop/tmp/dfs/name

刪除掉,也可以直接刪除

/usr/local/hadoop 這個目錄,刪除命令為:

rm -rf /usr/local/hadoop/

#首次啟動需要先在master節(jié)點(這里的hadoop1)上執(zhí)行namenode的格式化操作,成功的話,會看到 "successfully formatted"和"Exitting with status 0"的提示,若為"Exitting with status 1"則是出錯。

hdfs namenode -format

#完成 Hadoop 格式化后,在namenode節(jié)點上啟動Hadoop各個服務(wù),使用jps命令驗證相關(guān)服務(wù)是否運行起來。

start-dfs.sh

jps

**************

58993 NameNode

59601 Jps

59459 SecondaryNameNode

59304 DataNode

**************

start-yarn.sh

jps

**************

58993 NameNode

59649 ResourceManager

59459 SecondaryNameNode

60070 Jps

59767 NodeManager

59304 DataNode

**************

mr-jobhistory-daemon.sh start historyserver

jps

**************

58993 NameNode

59649 ResourceManager

60147 Jps

59459 SecondaryNameNode

59767 NodeManager

59304 DataNode

60108 JobHistoryServer

**************

-------------

7、驗證hadoop

-------------

#另外還需要在Master節(jié)點(hadoop1)上通過命令

#查看DataNode是否正常啟動,如果Live datanode不為0,則說明集群啟動成功

HDFS管理界面(NameNode結(jié)點) http://hadoop1:50070

(SecondaryNameNode)? ? ? ? htpp://hadoop1:50090

MapReduce管理界面? ? ? ? ? http://hadoop1:8088

/opt/hadoop-2.7.3/logs/mapred-root-historyserver-hadoop3.out

------------------

hadoop平臺性能調(diào)優(yōu)

------------------

vim yarn-site.xml

...

? <property>

? ? <name>yarn.scheduler.maximum-allocation-mb</name>

? ? <value>1024</value>

? </property>

...

vim mapred-site.xml

...

? <property>

? ? <name>mapreduce.map.memory.mb</name>

? ? <value>2048</value>

? </property>

? <property>

? ? <name>mapreduce.map.java.opts</name>

? ? <value>-Xmx768m</value>

? </property>

? <property>

? ? <name>mapreduce.reduce.memory.mb</name>

? ? <value>2048</value>

? </property>

? <property>

? ? <name>mapreduce.reduce.java.opts</name>

? ? <value>–Xmx1536m</value>

? </property>

...

-------

8、實例

-------

#查看幫助命令

hdfs dfs -help

#創(chuàng)建一個數(shù)據(jù)導(dǎo)入文件夾

hdfs dfs -mkdir -p /data/input

-p:可以創(chuàng)建多級目錄

#在本地創(chuàng)建兩個文本,并加入有規(guī)律內(nèi)容

echo "hello world">test1.txt

echo "hello hadoop">test2.txt

#將文件上傳至hdfs上

hdfs dfs -put ./*.txt /data/input

#查看hdfs上的文件

hdfs dfs -ls /data/input/

#運行wordcunt(grep)方法進行計算

hadoop jar /opt/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /data/input/ output

#hadoop jar /opt/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep /data/input/ output 'hello'

#查看運行結(jié)果

hdfs dfs? -cat output/*

#將結(jié)果取回本地

hdfs dfs -get output ./output

#刪除hdfs上的文件或文件夾

hdfs dfs -rm -r output

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容