您好,登錄后才能下訂單哦!
本篇內容主要講解“Hadoop2.X的環(huán)境怎么配置”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Hadoop2.X的環(huán)境怎么配置”吧!
進入 Linux 系統(tǒng)查看本機的主機名。通過 hostname 命令查看。
[root@localhost ~]# hostname
localhost.localdomain
如果此時需要修改主機名則可以按照如下的方式進行修改
范例一:臨時修改主機名稱為Hadoop01 hostname hadoop01 重啟之后失效
范例二:永久修改主機名稱為Hadoop01
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop01
在修改完主機名稱之后,需要編輯/etc/hosts 文件需要把主機名稱與IP地址進行映射
vi /etc/hosts
在該文件下添加如下內容
192.168.1.128 hadoop01 #
地址是自己主機名稱的ip
1)service iptables stop 關閉防火墻
2)chkconfig iptables off 永久關閉防火墻啟動
3)chkconfig iptables --list 查看防火墻開機啟動狀態(tài)
1)創(chuàng)建安裝包的保存目錄,以及安裝目錄
mkdir -p /opt/software 保存軟件的安裝包
mkdir -p /opt/app 軟件的安裝路徑
1)創(chuàng)建Hadoop用戶,以后的操作都是在hadoop用戶下完成的
useradd hadoop 創(chuàng)建hadoop用戶
passwd hadoop 為hadoop用戶設置密碼
2)為hadoop用戶賦予sudo權限
在root用戶下,執(zhí)行visudo命令編輯如下內容
Allow root to run any commands anywhere root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL 為hadoop用戶設置sudo權限
Same thing without a password %wheel ALL=(ALL) NOPASSWD: ALL hadoop ALL=(ALL) NOPASSWD: ALL. 為hadoop用戶設置免密碼sudo權限
首先先把jdk的安裝包上傳到software 文件夾下,之后對其安裝
1)解壓 sudo tar -zvxf jdk-8u181-linux-x64.tar.gz
2)配置JDK環(huán)境變量
首先獲取JDK的安裝路徑
[hadoop@hadoop01 jdk1.8.0_181]$ pwd
/opt/soft/jdk1.8.0_181
接下來打開 /etc/profile 文件進行環(huán)境變量的設置
vi /etc/profile
在 profie 文件末尾添加 jdk 路徑:
#JAVA_HOME
export JAVA_HOME=/data/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
保存后推出 :wq
完成以上的操作之后,配置文件并不能立即生效,需要使用到如下命令,使配置文件立即生效
[hadoop@hadoop01 jdk1.8.0_181]$ source /etc/profile
之后測試JDK環(huán)境變量是否配置成功,使用如下命令輸出JDK的版本信息
[hadoop@hadoop01 jdk1.8.0_181]$ java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
如果能看到如上的信息,說明JDK的環(huán)境變量已經配置成功
1)進入到軟件包的安裝路徑下:
[hadoop@hadoop01 /]$ cd /opt/soft/
對hadoop安裝包進行解壓
[hadoop@hadoop01 soft]$ sudo tar -zvxf hadoop-2.7.2.tar.gz
解壓成功之后,hadoop的安裝目錄結構如下:
bin:Hadoop最基本的管理腳本和使用腳本所在目錄,這些腳本是sbin目錄下管理腳本的基礎實現,用戶可以直接使用這些腳本管理和使用hadoop
etc:Hadoop配置文件所在目錄,包括core-site.xml, hdfs-site.xml, mapred-site.xml等從hadoop1.0繼承而來的配置文件和yarn-site.xml等hadoop 2.0新增的配置文件
include:對外提供的編程酷頭文件(具體動態(tài)庫和靜態(tài)庫在lib目錄中),這些頭文件均是用c++定義的,通常用于c++程序訪問hdfs或者編寫mapreduce程序
lib:該目錄包含了Hadoop對外提供的的編程動態(tài)庫和靜態(tài)庫,與include目錄中的頭文件結合使用。
libexec:各個服務對應的shell配置文件所在目錄,可用于配置日志輸出目錄,啟動參數(比如JVM參數)等基本信息。
sbin:Hadoop管理腳本所在目錄,主要包含HDFS和YARN中各類服務的啟動/關閉腳本
share:Hadoop各個模塊編譯后的jar包所在目錄
2) 配置hadoop環(huán)境
hadoop需要我們配置的相關文件都存放在$HADOOP_HOME/etc/hadoop目錄下面,首先進入到該目錄
[hadoop@hadoop01 hadoop]$ cd etc/hadoop/
進入到該目錄之后使用ls 命令查看該目錄下的文件信息
-rw-r--r--. 1 root root 4436 May 22 2017 capacity-scheduler.xml
-rw-r--r--. 1 root root 1335 May 22 2017 configuration.xsl
-rw-r--r--. 1 root root 318 May 22 2017 container-executor.cfg
-rw-r--r--. 1 root root 774 May 22 2017 core-site.xml
-rw-r--r--. 1 root root 3670 May 22 2017 hadoop-env.cmd
-rw-r--r--. 1 root root 4224 May 22 2017 hadoop-env.sh
-rw-r--r--. 1 root root 2598 May 22 2017 hadoop-metrics2.properties
-rw-r--r--. 1 root root 2490 May 22 2017 hadoop-metrics.properties
-rw-r--r--. 1 root root 9683 May 22 2017 hadoop-policy.xml
-rw-r--r--. 1 root root 775 May 22 2017 hdfs-site.xml
-rw-r--r--. 1 root root 1449 May 22 2017 httpfs-env.sh
-rw-r--r--. 1 root root 1657 May 22 2017 httpfs-log4j.properties
-rw-r--r--. 1 root root 21 May 22 2017 httpfs-signature.secret
-rw-r--r--. 1 root root 620 May 22 2017 httpfs-site.xml
-rw-r--r--. 1 root root 3518 May 22 2017 kms-acls.xml
-rw-r--r--. 1 root root 1527 May 22 2017 kms-env.sh
-rw-r--r--. 1 root root 1631 May 22 2017 kms-log4j.properties
-rw-r--r--. 1 root root 5511 May 22 2017 kms-site.xml
-rw-r--r--. 1 root root 11237 May 22 2017 log4j.properties
-rw-r--r--. 1 root root 951 May 22 2017 mapred-env.cmd
-rw-r--r--. 1 root root 1383 May 22 2017 mapred-env.sh
-rw-r--r--. 1 root root 4113 May 22 2017 mapred-queues.xml.template
-rw-r--r--. 1 root root 758 May 22 2017 mapred-site.xml.template
-rw-r--r--. 1 root root 10 May 22 2017 slaves
-rw-r--r--. 1 root root 2316 May 22 2017 ssl-client.xml.example
-rw-r--r--. 1 root root 2268 May 22 2017 ssl-server.xml.example
-rw-r--r--. 1 root root 2250 May 22 2017 yarn-env.cmd
-rw-r--r--. 1 root root 4567 May 22 2017 yarn-env.sh
-rw-r--r--. 1 root root 690 May 22 2017 yarn-site.xml
我們首先可以發(fā)現,這些文件目前的權限都是基于root用戶的,但是我們現在使用的是hadoop用戶,hadoop用戶并沒有這些文件的權限,所以首先需要修改權限
使用chown 命令修改用戶與用戶組權限
sudo chown -R hadoop:hadoop /opt/soft/hadoop-2.7.2/
修改完成之后再次使用ls命令查看文件,查看是否修改成功 [hadoop@hadoop01 hadoop]$ ll
-rw-r--r--. 1 hadoop hadoop 4436 May 22 2017 capacity-scheduler.xml
-rw-r--r--. 1 hadoop hadoop 1335 May 22 2017 configuration.xsl
-rw-r--r--. 1 hadoop hadoop 318 May 22 2017 container-executor.cfg
-rw-r--r--. 1 hadoop hadoop 774 May 22 2017 core-site.xml
-rw-r--r--. 1 hadoop hadoop 3670 May 22 2017 hadoop-env.cmd
-rw-r--r--. 1 hadoop hadoop 4224 May 22 2017 hadoop-env.sh
-rw-r--r--. 1 hadoop hadoop 2598 May 22 2017 hadoop-metrics2.properties
-rw-r--r--. 1 hadoop hadoop 2490 May 22 2017 hadoop-metrics.properties
-rw-r--r--. 1 hadoop hadoop 9683 May 22 2017 hadoop-policy.xml
-rw-r--r--. 1 hadoop hadoop 775 May 22 2017 hdfs-site.xml
-rw-r--r--. 1 hadoop hadoop 1449 May 22 2017 httpfs-env.sh
-rw-r--r--. 1 hadoop hadoop 1657 May 22 2017 httpfs-log4j.properties
-rw-r--r--. 1 hadoop hadoop 21 May 22 2017 httpfs-signature.secret
-rw-r--r--. 1 hadoop hadoop 620 May 22 2017 httpfs-site.xml
-rw-r--r--. 1 hadoop hadoop 3518 May 22 2017 kms-acls.xml
-rw-r--r--. 1 hadoop hadoop 1527 May 22 2017 kms-env.sh
-rw-r--r--. 1 hadoop hadoop 1631 May 22 2017 kms-log4j.properties
-rw-r--r--. 1 hadoop hadoop 5511 May 22 2017 kms-site.xml
-rw-r--r--. 1 hadoop hadoop 11237 May 22 2017 log4j.properties
-rw-r--r--. 1 hadoop hadoop 951 May 22 2017 mapred-env.cmd
-rw-r--r--. 1 hadoop hadoop 1383 May 22 2017 mapred-env.sh
-rw-r--r--. 1 hadoop hadoop 4113 May 22 2017 mapred-queues.xml.template
-rw-r--r--. 1 hadoop hadoop 758 May 22 2017 mapred-site.xml.template
-rw-r--r--. 1 hadoop hadoop 10 May 22 2017 slaves
-rw-r--r--. 1 hadoop hadoop 2316 May 22 2017 ssl-client.xml.example
-rw-r--r--. 1 hadoop hadoop 2268 May 22 2017 ssl-server.xml.example
-rw-r--r--. 1 hadoop hadoop 2250 May 22 2017 yarn-env.cmd
-rw-r--r--. 1 hadoop hadoop 4567 May 22 2017 yarn-env.sh
-rw-r--r--. 1 hadoop hadoop 690 May 22 2017 yarn-site.xml
通過再次查看我們發(fā)現,現在的權限已經全部修改為hadoop ,這樣我們就可以在hadoop用戶下對這些文件進行操作了
完成了以上的配置之后,我們接下來首先需要配置如下文件
hadoop-env.sh: 用于hadoop的環(huán)境變量配置文件
#The java implementation to use.
export JAVA_HOME=/opt/soft/jdk1.8.0_181
在該配置文件中,找到如上內容,并且修改JAVA_HOME 為自己的JDK路徑 配置完成之后,可以在hadoop根路徑下,輸入如下命令
bin/hadoop
Usage: hadoop [--config confdir] [COMMAND | CLASSNAME]
CLASSNAME run the class named CLASSNAME
or
where COMMAND is one of:
fs run a generic filesystem user client
version print the version
jar <jar> run a jar file
note: please use "yarn jar" to launch
YARN applications, not this command.
checknative [-a|-h] check native hadoop and compression libraries availability
distcp <srcurl> <desturl> copy file or directories recursively
archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive
classpath prints the class path needed to get the
credential interact with credential providers
Hadoop jar and the required libraries
daemonlog get/set the log level for each daemon
trace view and modify Hadoop tracing settings
Most commands print help when invoked w/o parameters.
如果能看到如上的信息,說明基本的運行環(huán)境已經搭建完成了
Hadoop的運行模式,分為以下幾種:
1) 本地模式(默認模式)
不需要啟用單獨進程,直接可以運行,測試和開發(fā)時使用。
2)偽分布模式
等同于完全分布式,只有一個節(jié)點。
3)完全分布式模式
多個節(jié)點一起運行。
對于這個案例來說,主要的作用就是,在一堆文件中與規(guī)定的正則表達式進行匹配,把匹配成功的單詞出現的次數,進行統(tǒng)計
$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
$ cat output/*
以上為官網上給出的案例代碼
從以上的案例代碼可以得出,首先需要創(chuàng)建一個目錄,用于存放需要統(tǒng)計的文件,而對于統(tǒng)計結果的保存目錄則不用以前創(chuàng)建,注意:Hadoop中輸出結果的目錄是不能提前存在的
范例:運行grep案例
1)在hadoop根目錄下創(chuàng)建一個文件夾input
[hadoop@hadoop01 hadoop-2.7.2]$ mkdir input
2) 將hadoop的xml配置文件復制到input
[hadoop@hadoop01 hadoop-2.7.2]$ cp etc/hadoop/*.xml input/
3) 執(zhí)行share目錄下的mapreduce程序
[hadoop@hadoop01 hadoop-2.7.2]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
4) 查看輸出結果
[hadoop@hadoop01 hadoop-2.7.2]$ cat output/*
1 dfsadmin
1) 在hadoop根目錄中創(chuàng)建用于保存統(tǒng)計文件的wcinput目錄
[hadoop@hadoop01 hadoop-2.7.2]$ mkdir wcinput
2) 在 wcinput 文件下創(chuàng)建一個 wordcount.txt 文件
[hadoop@hadoop01 wcinput]$ vi worldcount.txt
hello java world input
hadoop hive zookeeper java
world input hello hadoop
hbase zookeeper sqoop
3) 執(zhí)行wordcount案例程序
[hadoop@hadoop01 hadoop-2.7.2]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput
4) 查看結果
[hadoop@hadoop01 hadoop-2.7.2]$ cat wcoutput/part-r-00000
hadoop 2
hbase 1
hello 2
hive 1
input 2
java 2
sqoop 1
world 2
zookeeper 2
通過以上的方式,就可以完成Hadoop的最基本的環(huán)境搭建,以及運行Hadoop的一些案例
到此,相信大家對“Hadoop2.X的環(huán)境怎么配置”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。