天天看點

Hadoop 3.1.1僞分布式模式安裝Hadoop 3.1.1僞分布式模式安裝

Hadoop 3.1.1僞分布式模式安裝

更多資源

github:

https://github.com/opensourceteams/hadoop-java-maven-3.1.1

視訊

前置條件

  • 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安裝包

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

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           

通路資料總管

停止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

           
Hadoop 3.1.1僞分布式模式安裝Hadoop 3.1.1僞分布式模式安裝

end