導航:首頁 > 程序命令 > hadoop解壓命令

hadoop解壓命令

發布時間:2022-08-30 16:55:49

『壹』 如何在Centos6.5下部署hadoop2.2單機偽分布式

hadoop2.x的穩定版本,已經發布多時了,散仙一直都用的hadoop1.x的版本,最近有項目用到hadoop2.x,
所以就開始折騰hadoop2.x了,在hadoop2.x的版本里,目前最新版本已經到hadoop2.4了,但散仙在這里用的是
hadoop2.2.0的版本,為什麼用它? 因為這是一個穩定的版本,所以相對來說,問題比較少。

散仙在上篇博客,已經講了如何在編譯hadoop2.2.0的64位的版本,如果有不清楚怎麼編譯,可以參考散仙上篇博文,在這里就不涉及了。

下面,散仙以表格的形式描述下偽分布式安裝

系統環境如下:

序號
名稱
描述

1
系統環境
Centos6.5

2
java環境
JDK1.7

3
Haoop版本
hadoop2.2.0

安裝步驟如下:

序號
步驟

1
解壓hadoop,並配置環境變數

2
使用which hadoop命令,測試是否成功

3
配置core-site.xml

4
配置hdfs-site.xml

5
配置yarn-site.xml(非必須,使用默認也可)

6
配置mapred-site.xml

7
配置mapred-env.sh裡面的JAVA路徑

8
如上的配置完成後,需要新建幾個文件夾,來提供HDFS的格式化底層一個是hadoop的tmp文件夾,另外的是namenode和datanode的文件夾,來分別存儲各自的信息

9
上面一切完成後,即可執行hadoop namenode -format 進行格式化

10
然後啟動偽分布式集群,執行命令sbin/start-all.sh 最後使用JPS查看JAVA進程

11
配置本機的hosts文件,映射主機名信息

下面來詳細說下,各個步驟的具體操作:

在這之前,最好配置好本機的SSH無密碼登陸操作,避免hadoop進程之間通信時,需要驗證。

下面是各個xml文件的配置

<!-- core-site.xml配置 -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.46.28:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/tmp</value>
</property>

</configuration>

<!-- hdfs-site.xml配置 -->

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<property>
<name>dfs.namenode.name.dir</name>
<value>/root/hadoop/nddir</value>
</property>

<property>
<name>dfs.datanode.data.dir</name>
<value>/root/hadoop/dddir</value>
</property>

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

</configuration>

<!-- yarn-site.xml 不用配置,使用默認屬性即可 -->
<configuration>

</configuration>

<!-- mapred-site.xml的配置 -->
<configuration>
<property>
<name>maprece.cluster.temp.dir</name>
<value></value>
<description>No description</description>
<final>true</final>
</property>

<property>
<name>maprece.cluster.local.dir</name>
<value></value>
<description>No description</description>
<final>true</final>
</property>
</configuration>

mapred-env.sh裡面的配置

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding right ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

export JAVA_HOME=/usr/local/jdk

export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000

export HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA

#export HADOOP_JOB_HISTORYSERVER_OPTS=
#export HADOOP_MAPRED_LOG_DIR="" # Where log files are stored. $HADOOP_MAPRED_HOME/logs by default.
#export HADOOP_JHS_LOGGER=INFO,RFA # Hadoop JobSummary logger.
#export HADOOP_MAPRED_PID_DIR= # The pid files are stored. /tmp by default.
#export HADOOP_MAPRED_IDENT_STRING= #A string representing this instance of hadoop. $USER by default
#export HADOOP_MAPRED_NICENESS= #The scheling priority for daemons. Defaults to 0.

然後,建對應的幾個文件夾即可,路徑都在hadoop2.2的根目錄下即可,

然後執行格式化命令bin/hadoop namenode -format即可;

最後使用jps命令,查看進程,如果有以下幾個進程名稱,就代表部署偽分布式成功

4887 NodeManager
4796 ResourceManager
4661 SecondaryNameNode
4524 DataNode
4418 NameNode
6122 Jps

然後,訪問界面埠,注意與之前的配置文件里一致,namenode的埠號仍為50070,原來1.x的50030埠,已經沒有了,可以訪問8088的yarn的埠,來查看,具體的截圖如下:

OK,此時,我們已經成功的完成偽分布式的部署,下一步我們要做的,就是跑一個經典的MR程序Hellow World,來測試我們的集群了。

『貳』 hadoop基本操作

啟動HDFS

通過可視化界面查看HDFS的運行情況

使用方法:

如果是文件,則按照如下格式返迴文件信息:
文件名 <副本數> 文件大小 修改日期 修改時間 許可權 用戶ID 組ID
如果是目錄,則返回它直接子文件的一個列表,就像在Unix中一樣。目錄返回列表的信息如下:
目錄名 <dir> 修改日期 修改時間 許可權 用戶ID 組ID
示例:

返回值:
成功返回0,失敗返回-1

使用方法:

將文件從源路徑移動到目標路徑。這個命令允許有多個源路徑,此時目標路徑必須是一個目錄。不允許在不同的文件系統間移動文件。
示例:

返回值:

成功返回0,失敗返回-1。

使用方法:

從本地文件系統中復制單個或多個源路徑到目標文件系統。也支持從標准輸入中讀取輸入寫入目標文件系統。

返回值:

成功返回0,失敗返回-1。

使用方法:

刪除指定的文件。只刪除非空目錄和文件。請參考rmr命令了解遞歸刪除。
示例:

返回值:

成功返回0,失敗返回-1。

分布式文件系統的設計思路:

添加環境變數

保存退出後, 讓.bash_profile立即生效

進入到解壓後的hadoop目錄 修改配置文件

集群

『叄』 如何在centos7上配置hadoop

1
解壓hadoop,並配置環境變數
2
使用which
hadoop命令,測試是否成功
3
配置core-site.xml
4
配置hdfs-site.xml
5
配置yarn-site.xml(非必須,使用默認也可)
6
配置mapred-site.xml
7
配置mapred-env.sh裡面的JAVA路徑
8
如上的配置完成後,需要新建幾個文件夾,來提供HDFS的格式化底層一個是hadoop的tmp文件夾,另外的是namenode和datanode的文件夾,來分別存儲各自的信息
9
上面一切完成後,即可執行hadoop
namenode
-format
進行格式化
10
然後啟動偽分布式集群,執行命令sbin/start-all.sh
最後使用JPS查看JAVA進程
11
配置本機的hosts文件,映射主機名信息
下面來詳細說下,各個步驟的具體操作:
在這之前,最好配置好本機的SSH無密碼登陸操作,避免hadoop進程之間通信時,需要驗證。
下面是各個xml文件的配置
<!--
core-site.xml配置
-->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.46.28:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/tmp</value>
</property>
</configuration>
<!--
hdfs-site.xml配置
-->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/root/hadoop/nddir</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/root/hadoop/dddir</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>

『肆』 如何在ubuntu14.04配置分布式hadoop

我的環境是:Ubuntu14.04+Hadoop2.6.0+JDK1.8.0_25
官網2.6.0的安裝教程:http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/SingleCluster.html
為了方面配置,我在每台機器上都使用了hadoop用戶來操作,這樣做的確夠方便。
結點信息:(分布式集群架構:master為主節點,其餘為從節點)

機器名

IP

作用

master

122.205.135.254

NameNode and JobTracker

slave1

122.205.135.212

DataNode and TaskTracker

1.JDK的安裝
首先Hadoop運行需要Java的支持,所以必須在集群中所有的節點安裝JDK,
jdk1.8.0_25的詳細安裝見我的另一篇文章:http://www.linuxidc.com/Linux/2015-01/112030.htm 注意:最好將集群中的JDK都安裝在同一目錄下,便於配置。實踐中,筆者一般將JDK安裝在/usr/java這個目錄,但並不是必須的。
2.配置hosts文件
修改集群中所有機器的/etc/hosts,打開該文件的命令如下:
sudo gedit /etc/hosts
添加:
122.205.135.254 master
122.205.135.212 slave1
如圖所示:

注意:這里的master、slave1、slave2等等,指的是機器的機器名(使用命令hostname可以查看本機的機器名),切記,如果不是機器名的話會出問題的,並且集群中所有結點的機器名都應該不一樣。
3.SSH無密碼登錄
Hadoop主從節點無密碼登錄的安裝配置詳細見我的另一篇章:點擊打開鏈接
4.Hadoop的安裝與配置
(1).下載解壓Hadoop穩定版
我用的是hadoop-2.6.0,下載地址:http://mirrors.hust.e.cn/apache/hadoop/common/stable/
將下載後的Hadoop 拷貝到hadoop目錄下,解壓到master伺服器的/hadoop目錄下(配置好master結點後再將其復制到其它的伺服器上,一般來說,群集中所有的hadoop都安裝在同一目錄下):
解壓命令如下:
tar xzfv hadoop-2.6.0.tar.gz
(2).配置Hadoop
1.修改hadoop-2.6.0/etc/hadoop/hadoop-env.sh,添加JDK支持:
export JAVA_HOME=/usr/java/jdk1.8.0_25
如果不知道你的JDK目錄,使用命令echo $JAVA_HOME查看。
2.修改hadoop-2.6.0/etc/hadoop/core-site.xml
注意:必須加在<configuration></configuration>節點內
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.6.0/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
3.修改hadoop-2.6.0/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/hadoop-2.6.0/dfs/name</value>
<description>Path on the local filesystem where the NameNode stores the namespace and transactions logs persistently.</description>
</property>

<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/hadoop-2.6.0/dfs/data</value>
<description>Comma separated list of paths on the local filesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
4.修改hadoop-2.6.0/etc/hadoop/mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
<description>Host or IP and port of JobTracker.</description>
</property>
5. 修改hadoop-2.6.0/etc/hadoop/masters
列出所有的master節點:
master
6.修改hadoop-2.6.0/etc/hadoop/slaves
這個是所有datanode的機器,例如:
slave1
slave2
slave3
slave4
7.將master結點上配置好的hadoop文件夾拷貝到所有的slave結點上
以slave1為例:命令如下:
scp -r ~/hadoop-2.6.0 hadoop@slave1:~/
安裝完成後,我們要格式化HDFS然後啟動集群所有節點。
5.啟動Hadoop
1.格式化HDFS文件系統的namenode
(這里要進入hadoop-2.6.0目錄來格式化好些):
cd hadoop-2.6.0 //進入hadoop-2.6.0目錄
bin/hdfs namenode -format //格式化
2.啟動Hadoop集群
啟動hdrs命令如下:
sbin/start-dfs.sh //開啟進程

『伍』 大數據:Hadoop入門

什麼是大數據:
(1.)大數據是指在一定時間內無法用常規軟體對其內容進行抓取,管理和處理的數據集合,簡而言之就是數據量非常大,大到無法用常規工具進行處理,如關系型資料庫,數據倉庫等。這里「大」是一個什麼量級呢?如在阿里巴巴每天處理數據達到20PB(即20971520GB).
2.大數據的特點:
(1.)體量巨大。按目前的發展趨勢來看,大數據的體量已經到達PB級甚至EB級。
(2.)大數據的數據類型多樣,以非結構化數據為主,如網路雜志,音頻,視屏,圖片,地理位置信息,交易數據,社交數據等。
(3.)價值密度低。有價值的數據僅佔到總數據的一小部分。比如一段視屏中,僅有幾秒的信息是有價值的。
(4.)產生和要求處理速度快。這是大數據區與傳統數據挖掘最顯著的特徵。
3.除此之外還有其他處理系統可以處理大數據。
Hadoop (開源)
Spark(開源)
Storm(開源)
MongoDB(開源)
IBM PureDate(商用)
Oracle Exadata(商用)
SAP Hana(商用)
Teradata AsterData(商用)
EMC GreenPlum(商用)
HP Vertica(商用)
註:這里我們只介紹Hadoop。
二:Hadoop體系結構
Hadoop來源:
Hadoop源於Google在2003到2004年公布的關於GFS(Google File System),MapRece和BigTable的三篇論文,創始人Doug Cutting。Hadoop現在是Apache基金會頂級項目,「
Hadoop」一個虛構的名字。由Doug Cutting的孩子為其黃色玩具大象所命名。
Hadoop的核心:
(1.)HDFS和MapRece是Hadoop的兩大核心。通過HDFS來實現對分布式儲存的底層支持,達到高速並行讀寫與大容量的儲存擴展。
(2.)通過MapRece實現對分布式任務進行處理程序支持,保證高速分區處理數據。
3.Hadoop子項目:
(1.)HDFS:分布式文件系統,整個Hadoop體系的基石。
(2.)MapRece/YARN:並行編程模型。YARN是第二代的MapRece框架,從Hadoop 0.23.01版本後,MapRece被重構,通常也稱為MapRece V2,老MapRece也稱為 MapRece V1。
(3.)Hive:建立在Hadoop上的數據倉庫,提供類似SQL語音的查詢方式,查詢Hadoop中的數據,
(5.)HBase:全稱Hadoop Database,Hadoop的分布式的,面向列的資料庫,來源於Google的關於BigTable的論文,主要用於隨機訪問,實時讀寫的大數據。
(6.)ZooKeeper:是一個為分布式應用所設計的協調服務,主要為用戶提供同步,配置管理,分組和命名等服務,減輕分布式應用程序所承擔的協調任務。
還有其它特別多其它項目這里不做一一解釋了。
三:安裝Hadoop運行環境
用戶創建:
(1.)創建Hadoop用戶組,輸入命令:
groupadd hadoop
(2.)創建hser用戶,輸入命令:
useradd –p hadoop hser
(3.)設置hser的密碼,輸入命令:
passwd hser
按提示輸入兩次密碼
(4.)為hser用戶添加許可權,輸入命令:
#修改許可權
chmod 777 /etc/sudoers
#編輯sudoers
Gedit /etc/sudoers
#還原默認許可權
chmod 440 /etc/sudoers
先修改sudoers 文件許可權,並在文本編輯窗口中查找到行「root ALL=(ALL)」,緊跟後面更新加行「hser ALL=(ALL) ALL」,將hser添加到sudoers。添加完成後切記還原默認許可權,否則系統將不允許使用sudo命令。
(5.)設置好後重啟虛擬機,輸入命令:
Sudo reboot
重啟後切換到hser用戶登錄
安裝JDK
(1.)下載jdk-7u67-linux-x64.rpm,並進入下載目錄。
(2.)運行安裝命令:
Sudo rpm –ivh jdk-7u67-linux-x64.rpm
完成後查看安裝路徑,輸入命令:
Rpm –qa jdk –l
記住該路徑,
(3.)配置環境變數,輸入命令:
Sudo gedit /etc/profile
打開profile文件在文件最下面加入如下內容
export JAVA_HOME=/usr/java/jdk.7.0.67
export CLASSPATH=$ JAVA_HOME/lib:$ CLASSPATH
export PATH=$ JAVA_HOME/bin:$PATH
保存後關閉文件,然後輸入命令使環境變數生效:
Source /etc/profile
(4.)驗證JDK,輸入命令:
Java –version
若出現正確的版本則安裝成功。
配置本機SSH免密碼登錄:
(1.)使用ssh-keygen 生成私鑰與公鑰文件,輸入命令:
ssh-keygen –t rsa
(2.)私鑰留在本機,公鑰發給其它主機(現在是localhost)。輸入命令:
ssh--id localhost
(3.)使用公鑰來登錄輸入命令:
ssh localhost
配置其它主機SSH免密登錄
(1.)克隆兩次。在VMware左側欄中選中虛擬機右擊,在彈出的快捷鍵菜單中選中管理---克隆命令。在克隆類型時選中「創建完整克隆」,單擊「下一步」,按鈕直到完成。
(2.)分別啟動並進入三台虛擬機,使用ifconfig查詢個主機IP地址。
(3.)修改每台主機的hostname及hosts文件。
步驟1:修改hostname,分別在各主機中輸入命令。
Sudo gedit /etc/sysconfig/network
步驟2:修改hosts文件:
sudo gedit /etc/hosts
步驟3:修改三台虛擬機的IP
第一台對應node1虛擬機的IP:192.168.1.130
第二台對應node2虛擬機的IP:192.168.1.131
第三台對應node3虛擬機的IP:192.168.1.132
(4.)由於已經在node1上生成過密鑰對,所有現在只要在node1上輸入命令:
ssh--id node2
ssh--id node3
這樣就可以將node1的公鑰發布到node2,node3。
(5.)測試SSH,在node1上輸入命令:
ssh node2
#退出登錄
exit
ssh node3
exit
四:Hadoop完全分布式安裝
1. Hadoop有三種運行方式:
(1.)單機模式:無須配置,Hadoop被視為一個非分布式模式運行的獨立Java進程
(2.)偽分布式:只有一個節點的集群,這個節點即是Master(主節點,主伺服器)也是Slave(從節點,從伺服器),可在此單節點上以不同的java進程模擬分布式中的各類節點
(3.)完全分布式:對於Hadoop,不同的系統會有不同的節點劃分方式。
2.安裝Hadoop
(1.)獲取Hadoop壓縮包hadoop-2.6.0.tar.gz,下載後可以使用VMWare Tools通過共享文件夾,或者使用Xftp工具傳到node1。進入node1 將壓縮包解壓到/home/hser目錄下,輸入命令: #進入HOME目錄即:「/home/hser」
cd ~
tar –zxvf hadoop-2.6.0.tar.gz
(2.)重命名hadoop輸入命令:
mv hadoop-2.6.0 hadoop
(3.)配置Hadoop環境變數,輸入命令:
Sudo gedit /etc/profile
將以下腳本加到profile內:
#hadoop
export HADOOP_HOME=/home/hser/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
保存關閉,最後輸入命令使配置生效
source /etc/profile
註:node2,和node3都要按照以上配置進行配置。
3.配置Hadoop
(1.)hadoop-env.sh文件用於指定JDK路徑。輸入命令:
[hser@node1 ~]$ cd ~/hadoop/etc/hadoop
[hser@node1 hadoop]$ gedit hadoop-env.sh
然後增加如下內容指定jDK路徑。
export JAVA_HOME=/usr/java/jdk1.7.0_67
(2.)打開指定JDK路徑,輸入命令:
export JAVA_HOME=/usr/java/jdk1.7.0_67
(4.)core-site.xml:該文件是Hadoop全局配置,打開並在元素中增加配置屬性如下:

fs.defaultFs hdfs://node1:9000 hadoop.tmp.dir file:/home/hser/hadoop/tmp 這里給出了兩個常用的配置屬性,fs.defaultFS表示客戶端連接HDFS時,默認路徑前綴,9000是HDFS工作的埠。Hadoop.tmp.dir如不指定會保存到系統的默認臨時文件目錄/tmp中。 (5.)hdfs-site.xml:該文件是hdfs的配置。打開並在元素中增加配置屬性。 (6.)mapred-site.xml:該文件是MapRece的配置,可從模板文件mapred-site.xml.template中復制打開並在元素中增加配置。 (7.)yarn-site.xml:如果在mapred-site.xml配置了使用YARN框架,那麼YARN框架就使用此文件中的配置,打開並在元素中增加配置屬性。 (8.)復制這七個命令到node2,node3。輸入命令如下: scp –r /home/hser/hadoop/etc/hadoop/ hser@node2:/home/hser/hadoop/etc/ scp –r /home/hser/hadoop/etc/hadoop/ hser@node3:/home/hser/hadoop/etc/ 4.驗證: 下面驗證hadoop是否正確 (1.)在Master主機(node1)上格式化NameNode。輸入命令: [hser@node1 ~]$ cd ~/hadoop [hser@node1 hadoop]$ bin/hdfs namenode –format (2)關閉node1,node2 ,node3,系統防火牆並重啟虛擬機。輸入命令: service iptables stop sudo chkconfig iptables off reboot (3.)輸入以下啟動HDFS: [hser@node1 ~]$ cd ~/hadoop (4.)啟動所有 [hser@node1 hadoop]$ sbin/start-all.sh (5.)查看集群狀態: [hser@node1 hadoop]$ bin/hdfs dfsadmin –report (6.)在瀏覽器中查看hdfs運行狀態,網址:http://node1:50070 (7.)停止Hadoop。輸入命令: [hser@node1 hadoop]$ sbin/stop-all.sh 五:Hadoop相關的shell操作 (1.)在操作系統中/home/hser/file目錄下創建file1.txt,file2.txt可使用圖形界面創建。 file1.txt輸入內容: Hello World hi HADOOP file2.txt輸入內容 Hello World hi CHIAN (2.)啟動hdfs後創建目錄/input2 [hser@node1 hadoop]$ bin/hadoop fs –mkdir /input2 (3.)將file1.txt.file2.txt保存到hdfs中: [hser@node1 hadoop]$ bin/hadoop fs –put -/file/file*.txt /input2/ (4.)[hser@node1 hadoop]$ bin/hadoop fs –ls /input2

『陸』 搭建hadoop集群,常用配置文件是什麼,以及配置哪些屬性

一. 簡介

參考了網上許多教程,最終把hadoop在ubuntu14.04中安裝配置成功。下面就把詳細的安裝步驟敘述一下。我所使用的環境:兩台ubuntu 14.04 64位的台式機,hadoop選擇2.7.1版本。(前邊主要介紹單機版的配置,集群版是在單機版的基礎上,主要是配置文件有所不同,後邊會有詳細說明)

二. 准備工作

2.1 創建用戶

創建用戶,並為其添加root許可權,經過親自驗證下面這種方法比較好。

1 sudo adser hadoop2 sudo vim /etc/sudoers3 # 修改內容如下:4 root ALL = (ALL)ALL5 hadoop ALL = (ALL)ALL

給hadoop用戶創建目錄,並添加到sudo用戶組中,命令如下:

1 sudo chown hadoop /home/hadoop2 # 添加到sudo用戶組3 sudo adser hadoop sudo

最後注銷當前用戶,使用新創建的hadoop用戶登陸。

2.2安裝ssh服務

ubuntu中默認是沒有裝ssh server的(只有ssh client),所以先運行以下命令安裝openssh-server。安裝過程輕松加愉快~

sudo apt-get install ssh openssh-server

2.3 配置ssh無密碼登陸

直接上代碼:執行完下邊的代碼就可以直接登陸了(可以運行ssh localhost進行驗證)

1 cd ~/.ssh# 如果找不到這個文件夾,先執行一下 "ssh localhost"2 ssh-keygen -t rsa3 cp id_rsa.pub authorized_keys

注意:

這里實現的是無密登陸自己,只適用與hadoop單機環境。如果配置Hadoop集群設置Master與Slave的SSH無密登陸可

三. 安裝過程

3.1 下載hadoop安裝包

有兩種下載方式:

1. 直接去官網下載:

2. 使用wget命令下載:

3.2 配置hadoop

1. 解壓下載的hadoop安裝包,並修改配置文件。我的解壓目錄是(/home/hadoop/hadoop-2.7.1),即進入/home/hadoop/文件夾下執行下面的解壓縮命令。

tar -zxvf hadoop-2.7.1.tar.gz

2. 修改配置文件:(hadoop2.7.1/etc/hadoop/)目錄下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml。

(1). core-site.xml 配置:其中的hadoop.tmp.dir的路徑可以根據自己的習慣進行設置。

至此,wordcount demo 運行結束。

六. 總結

配置過程遇到了很多問題,最後都一一解決,收獲很多,特此把這次配置的經驗分享出來,方便想要配置hadoop環境的各位朋友~

(Hadoop集群安裝配置過程基本和單機版是一樣的,主要是在配置文件方面有所區別,以及ssh無密登陸要求master和slave能夠互相無密登陸。

『柒』 怎麼在Centos6.5下部署hadoop2.2單機偽分布式

hadoop2.x的穩定版本,已經發布多時了,散仙一直都用的hadoop1.x的版本,最近有項目用到hadoop2.x,所以就開始折騰hadoop2.x了,在hadoop2.x的版本里,目前最新版本已經到hadoop2.4了,但散仙在這里用的是hadoop2.2.0的版本,為什麼用它? 因為這是一個穩定的版本,所以相對來說,問題比較少。
散仙在上篇博客,已經講了如何在編譯hadoop2.2.0的64位的版本,如果有不清楚怎麼編譯,可以參考散仙上篇博文,在這里就不涉及了。

下面,散仙以表格的形式描述下偽分布式安裝
系統環境如下:

序號 名稱 描述

1 系統環境 Centos6.5

2 JAVA環境 JDK1.7

3 Haoop版本 hadoop2.2.0



安裝步驟如下:

序號 步驟

1 解壓hadoop,並配置環境變數

2 使用which hadoop命令,測試是否成功

3 配置core-site.xml

4 配置hdfs-site.xml

5 配置yarn-site.xml(非必須,使用默認也可)

6 配置mapred-site.xml

7 配置mapred-env.sh裡面的JAVA路徑

8 如上的配置完成後,需要新建幾個文件夾,來提供HDFS的格式化底層一個是hadoop的tmp文件夾,另外的是namenode和datanode的文件夾,來分別存儲各自的信息

9 上面一切完成後,即可執行hadoop namenode -format 進行格式化

10 然後啟動偽分布式集群,執行命令sbin/start-all.sh 最後使用JPS查看JAVA進程

11 配置本機的hosts文件,映射主機名信息



下面來詳細說下,各個步驟的具體操作:
在這之前,最好配置好本機的SSH無密碼登陸操作,避免hadoop進程之間通信時,需要驗證。

下面是各個xml文件的配置

Xml代碼




  • OK,此時,我們已經成功的完成偽分布式的部署,下一步我們要做的,就是跑一個經典的MR程序Hellow World,來測試我們的集群了。
  • 『捌』 winserver 2012 怎麼配置hadoop

    1、安裝JDK1.6或更高版本

    官網下載JDK,安裝時注意,最好不要安裝到帶有空格的路徑名下,例如:Programe Files,否則在配置Hadoop的配置文件時會找不到JDK(按相關說法,配置文件中的路徑加引號即可解決,但我沒測試成功)。

    2、安裝Cygwin

    Cygwin是Windows平台下模擬Unix環境的工具,需要在安裝Cygwin的基礎上安裝Hadoop

    根據操作系統的需要下載32位或64的安裝文件。

    1)、雙擊下載好的安裝文件,點擊下一步,選擇install from internet


    2)、選擇安裝路徑

    3)、選擇local Package Directory

    4)、選擇您的Internet連接方式

    5)、選擇合適的安裝源,點擊下一步

    6)、在Select Packages界面里,Category展開net,選擇如下openssh和openssl兩項

    如果要在Eclipe上編譯Hadoop,需要安裝Category為Base下的sed

    如果想在Cygwin上直接修改hadoop的配置文件,可以安裝Editors下的vim

    7)、點擊「下一步」,等待安裝完成。

    3、配置環境變數

    在「我的電腦」上點擊右鍵,選擇菜單中的「屬性",點擊屬性對話框上的高級頁簽,點擊」環境變數"按鈕,在系統變數列表裡雙擊「Path」變數,在變數值後輸入安裝的Cygwin的bin目錄,例如:D:hadoopcygwin64in

    4、安裝sshd服務

    雙擊桌面上的Cygwin圖標,啟動Cygwin,執行ssh-host-config -y命令

    執行後,會提示輸入密碼,否則會退出該配置,此時輸入密碼和確認密碼,回車。最後出現Host configuration finished.Have fun!表示安裝成功。

    輸入net start sshd,啟動服務。或者在系統的服務里找到並啟動Cygwin sshd服務。

    可能會遇到無法安裝和啟動sshd服務的問題,可參考此連接http://www.cnblogs.com/kinglau/p/3261886.html。

    另外如果是Win8操作系統,啟動Cygwin時,需要以管理員身份運行(右鍵圖標,選擇以管理員身份運行),否則會因為許可權問題,提示「發生系統錯誤5」。

    5、配置SSH免密碼登錄

    執行ssh-keygen命令生成密鑰文件

    如下圖所示,輸入:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa,注意-t -P -f參數區分大小寫。

    ssh-keygen是生成密鑰命令

    -t 表示指定生成的密鑰類型(dsa,rsa)

    -P表示提供的密語

    -f指定生成的密鑰文件。

    注意:~代表當前用戶的文件夾,/home/用戶名

    執行此命令後,在你的Cygwinhome用戶名 路徑下面會生成.ssh文件夾,可以通過命令ls -a /home/用戶名 查看,ssh -version命令查看版本。

    執行完ssh-keygen命令後,再執行下面命令,就可以生成authorized_keys文件了。

    cd~/.ssh/
    cpid_dsa.pubauthorized_keys

    如下圖所示:

    然後執行exit命令,退出Cygwin窗口

    6、再次在桌面上雙擊Cygwin圖標,打開Cygwin窗口,執行ssh localhost命令,第一次執行該命令會有提示,輸入yes後,回車即可。如下圖所示

    7、安裝Hadoop

    把hadoop壓縮包解壓到/home/用戶名 目錄下,文件夾名稱更改為hadoop,可以不修改,但後邊在執行命令時稍顯麻煩。

    (1)單機模式配置方式

    單機模式不需要配置,這種方式下,Hadoop被認為是一個單獨的Java進程,這種方式經常用來調試。

    (2)偽分布模式

    可以把偽分布模式看作是只有一個節點的集群,在這個集群中,這個節點既是Master,也是Slave,既是NameNode,也是DataNode,既是JobTracker,也是TaskTracker。

    這種模式下修改幾個配置文件即可。

    配置hadoop-env.sh,記事本打開改文件,設置JAVA_HOME的值為你的JDK安裝路徑,例如:

    JAVA_HOME="D:hadoopJavajdk1.7.0_25"


    配置core-site.xml

    <?xmlversion="1.0"?>
    <?xml-stylesheettype="text/xsl"href="configuration.xsl"?>
    <!--Putsite-.-->
    <configuration>
    <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
    </property>
    <property>
    <name>mapred.child.tmp</name>
    <value>/home/u/hadoop/tmp</value>
    </property>
    </configuration>

    配置hdfs-site.xml

    <?xmlversion="1.0"?>
    <?xml-stylesheettype="text/xsl"href="configuration.xsl"?>
    <!--Putsite-.-->
    <configuration>
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    </configuration>

    配置mapred-site.xml

    <?xmlversion="1.0"?>
    <?xml-stylesheettype="text/xsl"href="configuration.xsl"?>
    <!--Putsite-.-->
    <configuration>
    <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
    </property>
    <property>
    <name>mapred.child.tmp</name>
    <value>/home/u/hadoop/tmp</value>
    </property>
    </configuration>

    8、啟動Hadoop

    打開Cgywin窗口,執行cd ~/hadoop命令,進入hadoop文件夾,如下圖:

    啟動Hadoop前,需要先格式化Hadoop的文件系統HDFS,執行命令:bin/hadoop namenode -format

    注意namenode要小些,否則如果輸入NameNode,會提示錯誤,找不到或無法載入主類NameNode。執行正確命令後如下圖所示:

    輸入命令 bin/start-all.sh,啟動所有進程,如下圖:

    接下來,驗證是否安裝成功

    打開瀏覽器,分別輸入下列網址,如果能夠正常瀏覽,說明安裝成功。

    localhost:50030,回車打開MapRece的web頁面,如下圖(頁面部分截圖):

    localhost:50070,回車打開HDFS的web頁面,如下圖(頁面部分截圖):

    第一次啟動後,如果都不能瀏覽,或不能瀏覽某一個,退出Cygwin,重新打開Cygwin,執行bin/start-all.sh命令。

    如果只想啟動MapRece,可執行bin/start-mapred.sh命令。

    如果只想啟動HDFS,可執行bin/start-dfs.sh命令。

    『玖』 centos 6.5怎麼搭建hadoop2.7.3

    總體思路,准備主從伺服器,配置主伺服器可以無密碼SSH登錄從伺服器,解壓安裝JDK,解壓安裝Hadoop,配置hdfs、maprece等主從關系。

    1、環境,3台CentOS6.5,64位,Hadoop2.7.3需要64位Linux,操作系統十幾分鍾就可以安裝完成,
    Master 192.168.0.182
    Slave1 192.168.0.183
    Slave2 192.168.0.184

    2、SSH免密碼登錄,因為Hadoop需要通過SSH登錄到各個節點進行操作,我用的是root用戶,每台伺服器都生成公鑰,再合並到authorized_keys
    (1)CentOS默認沒有啟動ssh無密登錄,去掉/etc/ssh/sshd_config其中2行的注釋,每台伺服器都要設置,
    #RSAAuthentication yes
    #PubkeyAuthentication yes
    (2)輸入命令,ssh-keygen -t rsa,生成key,都不輸入密碼,一直回車,/root就會生成.ssh文件夾,每台伺服器都要設置,
    (3)合並公鑰到authorized_keys文件,在Master伺服器,進入/root/.ssh目錄,通過SSH命令合並,
    cat id_rsa.pub>> authorized_keys
    ssh [email protected] cat ~/.ssh/id_rsa.pub>> authorized_keys
    ssh [email protected] cat ~/.ssh/id_rsa.pub>> authorized_keys
    (4)把Master伺服器的authorized_keys、known_hosts復制到Slave伺服器的/root/.ssh目錄
    (5)完成,ssh [email protected]、ssh [email protected]就不需要輸入密碼了

    3、安裝JDK,Hadoop2.7需要JDK7,由於我的CentOS是最小化安裝,所以沒有OpenJDK,直接解壓下載的JDK並配置變數即可
    (1)下載「jdk-7u79-linux-x64.gz」,放到/home/java目錄下
    (2)解壓,輸入命令,tar -zxvf jdk-7u79-linux-x64.gz
    (3)編輯/etc/profile
    export JAVA_HOME=/home/java/jdk1.7.0_79
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin
    (4)使配置生效,輸入命令,source /etc/profile
    (5)輸入命令,java -version,完成

    4、安裝Hadoop2.7,只在Master伺服器解壓,再復制到Slave伺服器
    (1)下載「hadoop-2.7.0.tar.gz」,放到/home/hadoop目錄下
    (2)解壓,輸入命令,tar -xzvf hadoop-2.7.0.tar.gz
    (3)在/home/hadoop目錄下創建數據存放的文件夾,tmp、hdfs、hdfs/data、hdfs/name

    5、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目錄下的core-site.xml
    <configuration>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://192.168.0.182:9000</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/hadoop/tmp</value>
    </property>
    <property>
    <name>io.file.buffer.size</name>
    <value>131702</value>
    </property>
    </configuration>

    6、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目錄下的hdfs-site.xml
    <configuration>
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/hadoop/dfs/name</value>
    </property>
    <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/hadoop/dfs/data</value>
    </property>
    <property>
    <name>dfs.replication</name>
    <value>2</value>
    </property>
    <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>192.168.0.182:9001</value>
    </property>
    <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
    </property>
    </configuration>

    7、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目錄下的mapred-site.xml
    <configuration>
    <property>
    <name>maprece.framework.name</name>
    <value>yarn</value>
    </property>
    <property>
    <name>maprece.jobhistory.address</name>
    <value>192.168.0.182:10020</value>
    </property>
    <property>
    <name>maprece.jobhistory.webapp.address</name>
    <value>192.168.0.182:19888</value>
    </property>
    </configuration>

    8、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目錄下的mapred-site.xml
    <configuration>
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>maprece_shuffle</value>
    </property>
    <property>
    <name>yarn.nodemanager.auxservices.maprece.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
    <name>yarn.resourcemanager.address</name>
    <value>192.168.0.182:8032</value>
    </property>
    <property>
    <name>yarn.resourcemanager.scheler.address</name>
    <value>192.168.0.182:8030</value>
    </property>
    <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>192.168.0.182:8031</value>
    </property>
    <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>192.168.0.182:8033</value>
    </property>
    <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>192.168.0.182:8088</value>
    </property>
    <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>768</value>
    </property>
    </configuration>

    9、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目錄下hadoop-env.sh、yarn-env.sh的JAVA_HOME,不設置的話,啟動不了,
    export JAVA_HOME=/home/java/jdk1.7.0_79

    10、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目錄下的slaves,刪除默認的localhost,增加2個從節點,
    192.168.0.183
    192.168.0.184

    11、將配置好的Hadoop復制到各個節點對應位置上,通過scp傳送,
    scp -r /home/hadoop 192.168.0.183:/home/
    scp -r /home/hadoop 192.168.0.184:/home/

    12、在Master伺服器啟動hadoop,從節點會自動啟動,進入/home/hadoop/hadoop-2.7.0目錄
    (1)初始化,輸入命令,bin/hdfs namenode -format
    注意:執行這步的時候可能會報一個錯誤:
    java.net.UnknownHostException: tiancunPC: tiancunPC: unknown error
    at java.net.InetAddress.getLocalHost(InetAddress.java:1505)
    at org.apache.hadoop.net.DNS.resolveLocalHostname(DNS.java:264)
    at org.apache.hadoop.net.DNS.<clinit>(DNS.java:57)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.newBlockPoolID(NNStorage.java:982)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.newNamespaceInfo(NNStorage.java:591)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:157)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:992)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1434)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1559)
    Caused by: java.net.UnknownHostException: tiancunPC: unknown error
    at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
    at java.net.InetAddress.getLocalHost(InetAddress.java:1500)
    ... 8 more
    16/11/11 19:15:23 WARN net.DNS: Unable to determine address of the host-falling back to "localhost" address
    java.net.UnknownHostException: tiancunPC: tiancunPC: unknown error
    at java.net.InetAddress.getLocalHost(InetAddress.java:1505)
    at org.apache.hadoop.net.DNS.resolveLocalHostIPAddress(DNS.java:287)
    at org.apache.hadoop.net.DNS.<clinit>(DNS.java:58)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.newBlockPoolID(NNStorage.java:982)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.newNamespaceInfo(NNStorage.java:591)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:157)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:992)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1434)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1559)
    Caused by: java.net.UnknownHostException: tiancunPC: unknown error
    at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
    at java.net.InetAddress.getLocalHost(InetAddress.java:1500)
    ... 8 more
    linux中使用hostname查看為:
    [root@tiancunPC hadoop-2.7.3]# hostname
    tiancunPC
    查看/etc/hosts為:
    [root@tiancunPC hadoop-2.7.3]# cat /etc/hosts
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    難怪會映射不到,修改/etc/hosts
    [root@tiancunPC hadoop-2.7.3]# cat /etc/hosts
    127.0.0.1 tiancunPC localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    對應修改另外兩個機器的主機名,在執行那個命令就可以了

    (2)全部啟動sbin/start-all.sh,也可以分開sbin/start-dfs.sh、sbin/start-yarn.sh
    執行sbin/start-all.sh 可能會有錯誤提示:
    maps to localhost(IP), but this does not map back to the address
    解決辦法:

    修改 /etc/ssh/ssh_config
    vim /etc/ssh/ssh_config
    GSSAPIAuthentication no
    這個時候可能還會出現這個錯誤提示:

    hadoop出現namenode running as process 18472. Stop it first.,hadoopnamenode
    解決辦法:重新啟動一下hadoop

    (3)停止的話,輸入命令,sbin/stop-all.sh
    (4)輸入命令,jps,可以看到相關信息

    『拾』 hadoop 解壓安裝成功後怎麼用

    先安裝vim:sudo apt-get install vim
    然後輸入:sudo vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf(vim需安裝)
    在彈出的編輯框里輸入:greeter-show-manual-login=true 保存關閉。
    為了給root設置密碼,在終端中輸入:sudo passwd root。
    關機重啟在多出的登錄框里輸入root 和設置的密碼!

    閱讀全文

    與hadoop解壓命令相關的資料

    熱點內容
    程序員送女友的相冊 瀏覽:251
    壓縮文件怎麼設置打開加密 瀏覽:764
    tracert命令結果詳解 瀏覽:356
    唯賽思通用什麼APP 瀏覽:371
    古玩哪個app好賣 瀏覽:146
    u盤內容全部顯示為壓縮包 瀏覽:517
    編譯固件時使用00優化 瀏覽:356
    速借白條app怎麼樣 瀏覽:756
    用紙張做的解壓東西教程 瀏覽:12
    求圓的周長最快演算法 瀏覽:190
    安卓熱點怎麼減少流量 瀏覽:270
    北京代交社保用什麼app 瀏覽:855
    第一眼解壓視頻 瀏覽:726
    文件夾err是什麼 瀏覽:97
    qt4編程pdf 瀏覽:572
    區域網伺服器下如何連續看照片 瀏覽:254
    經過加密的數字摘要 瀏覽:646
    加密鎖9000變列印機 瀏覽:694
    程序員的職業發展前途 瀏覽:639
    安卓是世界上多少個程序員開發 瀏覽:45