hadoop僞分佈式部署
hadoop安裝
1,jdk安裝
2,下載安裝包解壓
3,配置環境變量hadoop
HADOOP_HOME
PATH
4,配置hadoop
1,standalonne | local
沒有守護進程,所有程序運行在同一個jvm,利於test和debug
2,distributed mode //僞分佈式
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
步驟一:在官網下載hadoop的安裝包,直接下載二進制的包。
http://hadoop.apache.org/releases.html
步驟二:安裝jdk,並配置環境變量
1,上傳jdk到服務器
2,解壓jdk
#創建文件夾
1
mkdir /usr/java
#解壓
1
tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/
3,將java添加到環境變量中
1
vim /etc/profile
#在文件最後添加
1
export JAVA_HOME=/usr/java/jdk1.7.0_55
2
export PATH= JAVA_HOME/bin
#刷新配置
1
source /etc/profile
步驟三:Hadoop的配置和安裝
1,上傳安裝包到/optw文件夾
2,解壓安裝包
1
tar -zxvf hadoop-2.8.2.tar.gz
3,配置hadoop-env.sh
1
cd /opt/hadoop-2.8.2/etc/hadoop
2
vim hadoop-env.sh
修改配置文件
1
找到:export JAVA_HOME=$JAVA_HOME行,將它註釋掉,用下面的行替代:
2
export JAVA_HOME=/usr/java/jdk1.7.0_65
4,配置core-site.xml
1
2
3
fs.defaultFS
4
hdfs://docker83:9000
5
6
7
8
hadoop.tmp.dir
9
/home/hadoop/hadoop-2.8.2/tmp
10
5,配置hdfs-site.xml
1
2
3
dfs.replication
4
1
5
注:配置到此時,分佈式文件系統已經可以啓動進行讀寫了。
6,配置mapred-site.xml
1
mv mapred-site.xml.template mapred-site.xml
2
vim mapred-site.xml
1
2
3
mapreduce.framework.name
4
yarn
5
7,配置yarn-site.xml
1
vim yarn-site.xml
1
2
3
yarn.resourcemanager.hostname
4
docker83
5
6
7
8
yarn.nodemanager.aux-services
9
mapreduce_shuffle
10
8,修改環境變量etc/profile
1
vim /etc/proflie
2
source /etc/profile
3
4
export HADOOP_HOME=/opt/hadoop-2.8.2
5
export PATH= JAVA_HOME/bin: HADOOP_HOME/sbin
9,格式化
1
cd $HADOOP_HOME/sbin
2
hdfs namenode -format(或者hadoop namenode -format)
10,啓動和停止hadoop
1
cd $HADOOP_HOME/sbin
2
先啓動HDFS
3
start-dfs.sh
4
再啓動yarn
5
start-yarn.sh
6
停止所有
7
stop-all.sh
11,訪問驗證
http://192.168.8.83:50070
http://192.168.8.83:8088/cluster
12,測試
測試hdfs
–上傳文件
1
hadoop fs -put /opt/soft/jdk.tar.gz hdfs://ip:9000/jdk
–下載文件
1
hadoop fs -get hdfs://ip:9000/jdk /home/jdk
測試yarn mapreduce
1
hadoop jar hadoop-mapreduce-examples.jar wordcount
2
hadoop fs -put word.txt hdfs://ip:9000/word.txt
3
hadoop jar hadoop-mapreduce-examples.jar wordcount hdfs://ip:9000/word.txt hdfs://ip:9000/out.txt
4
hadoop fs -ls /
13,免密登陸
在執行啓動腳本的時候,系統會提示要輸入密碼驗證,它其實是一個遠程登錄啓動腳本的機制。
通過SSH遠程到你配置的節點上去啓動進程。即便你的節點是在本地,它也是一樣的方式。
因此當節點N多的時候,要N次以上輸入密碼驗證。爲了解決這個問題,可以配置SSH免登錄,
配置如下:
#生成ssh免登陸密鑰
#進入到我的home目錄
1
cd ~/.ssh
2
ssh-keygen -t rsa (四個回車)
執行完這個命令後,會生成兩個文件id_rsa(私鑰)、id_rsa.pub(公鑰)
將公鑰拷貝到要免密登陸的目標機器上
1
ssh-copy-id localhost
SSH工作原理和機制圖