Hadoop 3.1.1偽分散式模式安裝
阿新 • • 發佈:2018-12-26
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>
配置檔案mapred-site.xml
- 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
end