我們知道 Hadoop 是處理還量數(shù)據(jù)的
1. 存儲
分布式文件系統(tǒng) HDFS:Hadoop distributed file system
2. 運算
MapReduce,map() + reduce
獨立模式
- 獨立模式?jīng)]有守護程序運行盛龄,當(dāng)我們在安裝Hadoop后,它就已經(jīng)是獨立模式了
jps
退子,查看當(dāng)前運行的 java 進程螟碎,Hadoop 是由 java 語言編寫,所有程序運行在一個 JVM 中磅轻,適合在開發(fā)期間運行 MapReduce 程序,源于他的易于測試和調(diào)試逐虚。hadoop fs -ls /
聋溜,Hadoop 文件系統(tǒng)中查看根目錄下,實際上就是本地的根目錄叭爱。
獨立模式
偽分布式模式
- 修改配置文件撮躁,進入到Hadoop安裝目錄的配置目錄下
/usr/soft/hadoop-2.8.1/etc
,拷貝一份命名為 hadoop_pseudo 如圖:
hadoop_pseudo
- core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost/</value>
</property>
</configuration>
- hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
- yarn-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
- maprd-site.xml(沒有提供可以新建一個)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
# 上述為最簡單配置买雾,每次重啟機器后hdfs中的文件都會清空把曼,添加配置
# core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://s0/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/ubuntu/filesystem/tmp</value>
<description> temporary directories.</description>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/ubuntu/filesystem/name</value>
<description>where on the local filesystem the DFS name node should store the name table</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/ubuntu/filesystem/data</value>
<description>where on the local filesystem an DFS data node should store its blocks.</description>
</property>
</configuration>
Hadoop 實際上并沒有區(qū)分偽分布式和完全分布式模式,它只是在這一系列集群主機之上啟動守護進程凝果,每個主機之間通過 SSH 通信祝迂,并且啟動守護進程
ssh
SSH 登錄遠程主機睦尽,無口令提示
上圖是 Ubuntu 安裝完自帶的 ssh 它沒有服務(wù)器版是不行的器净,需要安裝
ps -Af|grep sshd #檢查是否啟動了sshd進程
sudo apt-get install ssh
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
生成 ssh 密鑰
將公鑰的內(nèi)容重定向到 authorized_keys
cat id_rsa.pub >> authorized_keys
這時候連
ssh localhost
,會警告 localhost 已經(jīng)唄永久的添加到識別的主機,如圖:ssh localhost.png
- 輸入
exit
退出当凡,后面再連接則不需要密碼山害,(如果是centos系統(tǒng),可能還會需要密碼沿量,修改authorized_keys權(quán)限為644即可)浪慌,如圖:
exit
- 這時候查看 .ssh 目錄會發(fā)現(xiàn)多了一個 known_hosts 文件
known_hosts
- 這時候再輸入
ssh localhost
連接,就不會再提示要輸入密碼了朴则。如圖:ssh localhost
格式化名稱節(jié)點
hadoop namenode -format
权纤,如下圖所示格式化完成:格式化名稱節(jié)點
啟動守護進程
start-dfs.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo
啟動 dfs
start-yarn.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo
啟動 yarn
通過 jps 查看守護進程:
jps
hdfs dfs -lsr / #查看分布式文件系統(tǒng)
hdfs dfs -mkdir -p /user/ubuntu/hadoop #創(chuàng)建目錄
hdfs dfs -ls / #查看根目錄下文件及目錄
hdfs dfs -ls -R / #遞歸查看根目錄下文件及目錄
也可以通過 webui查看
# hadoop的端口
50070 //namenode http port
50075 //datanode http port
50090 //2namenode http port
8020 //namenode rpc port
50010 //datanode rpc port
http:localhost:50070
50070
http://localhost:8088
8088
停止守護進程
stop-yarn.sh
停止節(jié)點管理器
stop-dfs.sh
停止dfsstop
- 也可以通過一個命令,
start-all.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo
start-all.sh
- 然后導(dǎo)出環(huán)境變量
export HADOOP_CONF_DIR=$HADOOP_INSTALL/etc/hadoop_pseudo
乌妒,如圖:導(dǎo)出環(huán)境變量
- 用 Hadoop 文件系統(tǒng)創(chuàng)建 /user 目錄
創(chuàng)建 /user
- 完全分布式模式
完全分布模式和偽分布模式是沒有區(qū)分的汹想,區(qū)別就是為分布式只有一個節(jié)點,主要相對于獨立模式有守護進程
# hadoop四大模塊
common
hdfs //namenode + datanode + secondarynamenode
mapred
yarn //resourcemanager + nodemanager
# 啟動腳本
1.start-all.sh //啟動所有進程
2.stop-all.sh //停止所有進程
3.start-dfs.sh
NN
DN
2NN
4.start-yarn.sh
RM
NM