Hadoop 3.1.1僞分布式模式安裝
更多資源
github:
https://github.com/opensourceteams/hadoop-java-maven-3.1.1視訊
- Hadoop 3.1.1僞分布式模式安裝(bilibili視訊) : https://www.bilibili.com/video/av38149957/
- Hadoop 3.1.1僞分布式模式安裝(youtube視訊) : https://youtu.be/plVkuyJSNF8
前置條件
- jdk.1.8.0_191 已安裝
- linux 系統(本文選用的centos 7 系統已完裝好)
技能标簽
- 學會安裝Hadoop3.1.1版本的僞分布式模式
- 可以進行Hadoop技術開發(包括HDFS,MapReduce等)
- HDFS啟動停止指令,yarn啟動停止指令
- 官網自帶WorldCount示例運作
- 進行管理界面管理NamenNode管理和ResourceManager管理
- 對Hadoop叢集環境操作(一台機器也可以做叢集,隻是節點隻有一個,很多功能都可以操作)
安裝步驟
安裝ssh
- 一般安裝系統後都已自帶ssh服務,就可以跳過,直接在終端執行ssh指令,有這個指令就可以
- 如果沒有需要安裝如下服務
yum install ssh
yum install pdsh
下載下傳Hadoop安裝包
- 官網下載下傳位址: https://hadoop.apache.org/releases.html
- 本文下載下傳版本: hadoop-3.1.1.tar.gz
- http://apache.01link.hk/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
- 解壓壓縮包
tar -zxvf /hadoop-3.1.1.tar.gz -C /opt/module/bigdata
配置
hadoop-env.sh
- 編輯etc/hadoop/hadoop-env.sh
- 調置JAVA_HOME環境變量
# set to the root of your Java installation
export JAVA_HOME=/opt/module/jdk/jdk1.8.0_191
執行指令 Hadoop
- 确認hadoop指令是否可以正常執行
- 檢視目前版本指令
bin/hadoop version
獨立模式
- 本地模式
執行官方自帶示例
mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar grep input output 'dfs[a-z.]+'
$ cat output/*
僞分布式模式
配置環境變量
- 配置在本地使用者下 ~/.bashrc
export HADOOP_HOME=/opt/module/bigdata/hadoop-3.1.1
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
配置core-site.xml
- 配置檔案 etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
配置hdfs-site.xml
- etc/hadoop/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
配置 ssh免密登入
- 驗證是否已經配置 ssh
ssh localhost
- 如果需要輸入密碼驗證,則執行以下
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
- 也可以執行以下
ssh-keygen
ssh-copy-id 遠端ip位址
格式化namenode
bin/hdfs namenode -format
啟動namenode和datanode
sbin/start-dfs.sh
- 可配置日志輸出目錄
$HADOOP_LOG_DIR directory (defaults to $HADOOP_HOME/logs).
通路namenode
- NameNode - http://localhost:9870/
HDFS上建立目錄
bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>
上傳本機檔案到HDFS上
bin/hdfs dfs -mkdir input
$ bin/hdfs dfs -put etc/hadoop/*.xml input
運作示例
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar grep input output 'dfs[a-z.]+'
檢視示例輸出結果(先下到本地再看)
bin/hdfs dfs -get output output
$ cat output/*
檢視HDFS上的檔案内容
bin/hdfs dfs -cat output/*
停止namemode和datanode
sbin/stop-dfs.sh
hadoop-daemon.sh指令
hdfs --daemon start namenode
hdfs --daemon start datanode
hdfs --daemon stop namenode
hdfs --daemon stop datanode
HDFS指令操作
- 在HDFS上建立目錄
hdfs dfs -mkdir -p /home/liuwen/data
- 上傳本地檔案到HDFS
hdfs dfs -put /opt/temp/a.txt /home/liuwen/data
- 檢視HDFS檔案
hdfs dfs -text /home/liuwen/data/a.txt
YARN 配置僞分布式模式
配置檔案mapred-site.xml
- etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>
- etc/hadoop/yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
啟動YARN
- 啟動 ResourceManager daemon 和 NodeManager daemon
sbin/start-yarn.sh
通路資料總管
- ResourceManager: http://localhost:8088/
停止YARN
- 停止 ResourceManager daemon 和 NodeManager daemon
sbin/stop-yarn.sh
WorldCount官網示例運作
- 配置環境變量直接運作 hadoop指令
- worldcount标簽,examples自帶運作對應的程式
- 輸入資料源
- 輸出資料源
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar wordcount /opt/data/a.txt /opt/temp/output/output_2
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicWZwpmLmFTYmF2M0UzMidzMjljNiJGZ4EjZxATNjVWZzI2NkF2MxUDNjFWNh9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.jpeg)
end