1. 程式人生 > >Hadoop、Slurm平臺詳細安裝配置步驟

Hadoop、Slurm平臺詳細安裝配置步驟

大資料Hadoop、Slurm平臺

安 裝 配 置 手 冊

河北科技大學理學院

王子元

2018年6月

緒論

本人本科畢業設計選的是《數學系大資料環境建設》課題,實驗叢集採用四臺惠普工作站做為節點伺服器,採用一臺虛擬機器和3臺真機作為實驗環境,下文的整個配置記錄全部真實有效,雖說這只是我的本科畢業設計的附件,但沒有半點水分。系統完全按照刀片式伺服器叢集來部署,更加真實的模擬了華為刀鋒伺服器叢集的執行環境。另外有兩個主要的創新之處:一、配置了時間伺服器,使叢集對時精準到0.05秒,精確度遠遠高於叢集要求的時間誤差3秒。二、製作了一個基於Python的自動化指令碼,將絕大多數的叢集操作命令集合在其中,實現半自動化叢集管理操作,極大地降低的普通使用者對叢集操作學習的成本。 感謝周長傑老師的提供的參考依據,感謝李國剛老師、閻晨光老師的對硬體裝置的支援,為我實驗的順利進行保駕護航,感謝白曉剛學長對我Slurm過程的幫助。我的本科畢業設計,雖然最後僅以4分之差沒有拿到優秀,但是在公開答辯時,我得到了答辯組所有老師的認可,能夠做到這樣我也算滿足了,這三個月的努力沒白費。本人作為數學系資訊與計算科學專業的學生,我感覺目前自己對整個計算機生態的理解並不比計算機系的差,而我個人認為未來的計算機發展方向是人工智慧、機器學習,所以我又選擇的了攻讀數學系的研究生,我相信未來會在數學和計算機這個交叉方向取得一些成績。

目錄

1 HDFSWeb管地址

http://192.168.1.201:50070/

2 MapReduceWeb管理地址

http://192.168.1.201:8088/

3 HBaseWeb管理地址

http://192.168.1.201:16010/

4 HiveWeb管理地址

http://192.168.1.201:9999/hwi/

Linux

一 常用命令

which java    which檢視檔案所在位置

which javac   

rm -rf /usr/bin/java  rm-rf 強制刪除

rm -rf /usr/bin/javac

ln -s $JAVA_HOME/bin/javac /usr/bin/java    連結位置

ln -s $JAVA_HOME/bin/javac /usr/bin/javac

netstat -an | grep 10000  

ps -aux | grep 'metastore'

ifconfig      檢視ip

hostname

service iptables stop

chkconfig iptables off

service network restart  重啟網絡卡

source /etc/profile

vi

scp

cd

ll

ls

reboot

poweroff

二 作業系統安裝配置

1 規劃IP地址:

Router 192.168.1.1

Linux

master   192.168.1.200

slave01  192.168.1.201

slave02  192.168.1.202

slave03  192.168.1.203

2.製作U盤啟動盤

2.1通過軟碟通製作好U盤啟動工具

準備 U盤(8G)、rhel-server-7.0-x86_64-dvd.iso、UltraISO軟碟通軟體

2.2 在電腦上安裝上UltraISO軟碟通軟體

2.3 將準備好的U盤插入電腦,雙擊UltraISo圖示,選擇繼續試用

2.4 選擇檔案--開啟

2.5 啟動--寫入映像..

2.6 選擇自己U盤,點選 寫入 (在寫入之前,系統先格式化U盤,請提前做好備份),等待一段時間(等待時間由電腦配置決定)

2.linux 7.0 安裝步驟

2.1選擇介面第一個(Install Red Hat Enterprise Linux 7.0)開始安裝

2.2 選擇中文和簡體中文(中國),點選繼續

2.3.1 選擇軟體選擇,選擇左側帶GUI的伺服器。右側為系統自帶的的環境附加選項,若有需要,可以自行選擇。之後,點選完成

2.3.2點選安裝位置,選擇硬碟,點選完成。然後會彈出對話方塊,點選回收空間——全部刪除——回收空間

2.3.3點選網路和主機名,輸入主機名(如master,slave01,slave02,slave03)點選完成;第二步,

配置網路

選擇自動連線、允許所有使用者使用

選擇IPV4設定

方法選擇手動

新增網絡卡並配置:地址192.168.1.xxx 掩碼255.255.255.0 閘道器192.168.1.1

DNS 192.168.1.1,114.114.114.114

應用

3.3點選網路和主機名,輸入主機名(如master,slave01,slave02,slave03)點選完成。

3.4點選開始安裝,選擇root密碼,輸入hadoop

3.5安裝完成後重啟,選擇為許可資訊,同意許可協議,完成,點選完成配置

3.6點選前進

3.7輸入hadoop密碼,進入介面化linux系統,等待彈出對話方塊,點選前進——前進——點選 Start using Red Hat Enterprise Linux Server 此時安裝完成。

4 配置終端快捷方式

  選擇應用程式—系統工具—設定—鍵盤—快捷鍵—自定義快捷鍵,點選“+”號,名字:terminal

命令:gonme-terminal ,應用。點選terminal,按ctrl+t,關掉視窗。自己鍵盤輸入:ctrl+t,彈出命令視窗,設定完成

6 配置Red Hat 7.0防火牆(需要切換到root帳戶)

檢視防火牆狀態 systemctl status firewalld

關閉防火牆 systemctl stop firewalld

永久關閉防火牆 systemctl disable firewalld

7 檢查網路互通是否正常

ping 192.168.1.1

ping 192.168.1.20x

8 檢視Red Hat系列的系統版本

cat /etc/redhat-release

9 配置Red Hat hosts (需要切換到root帳戶)

vim /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.200 master

192.168.1.201 slave01

192.168.1.202 slave02

192.168.1.203 slave03

用ping命令檢查主機名通訊是否正常(e.g. ping master)

三 配置  ssh 互信

1 生成金鑰 ·····

ssh1-keygen

一路回車

2 把公鑰發給所有機器

ssh-copy-id master

ssh-copy-id slave01

中間要輸入yes和密碼hadoop

3 用ssh命令檢查是否互信成功

ssh master

ssh slave01

不要求輸入密碼則成功

4 備註:

生成的金鑰在/home/hadoop/.ssh中,其中.ssh是隱藏的

authorized_keys為已經互信的機器公鑰資訊

四 安裝xShellxFtp

1 在windows下安裝,選擇免費版本

在session管理視窗中,建立一個與linux主機同名的連結名,並配置主機IP

連線,輸入使用者名稱並儲存,輸入密碼並儲存,生成驗證資訊並儲存

此時已經連線到Linux主機,可以用命令列操作我們安裝好的CentOS了

2 安裝 xFtp

在windows下安裝,選擇免費版本

不需要啟動,我們使用時在xShell中用右數第八個圖示啟動,不需要使用者名稱密碼

五 安裝配置 Redhat JDK

1在hadoop使用者的根目錄(/home/hadooop)建立資料夾app

2 從xShell啟動xFtp

3 從windows本地上傳jdk-8u121-linux-x64.tar.gz到app下

4 解壓jdk-8u65-linux-x64.tar.g到app下

cd app

tar –zxvf jdk-8u65-linux-x64.tar.gz

cd ~

5配置環境變數(需要切換到root帳戶)

5.1 gedit /etc/profile

5.2在最後增加兩行

JAVA_HOME=/home/hadoop/app/jdk1.8.0_121

export PATH=$PATH:$JAVA_HOME/bin

6 把修改的環境變數生效

source /etc/profile

7 檢測並配置jdk

7.1 檢測jdk版本,應該為java  version "1.8.0_121",javac  1.8.0_121

java –version

javac –version

7.2 檢查jdk位置,應該為~/app/jdk1.8.0_121/bin/java,~/app/jdk1.8.0_121/bin/javac

which java

which javac

7.3 如果不正確,則刪除原有的java/javac,連結新的

rm -rf /usr/bin/java

rm -rf /usr/bin/javac

ln –s  $JAVA_HOME/bin/java  /usr/bin/java

ln –s  $JAVA_HOME/bin/javac  /usr/bin/javac

Eclipse安裝配置

1 在windows下解壓eclipse-jee-mars-2-win32-x86_64.zip

2 配置workspace

七 常用配置檔案位置

1 主機名

/etc/sysconfig/network

2 主機IP配置資訊

/etc/sysconfig/network-scripts/ifcfg-eth0

3 環境變數配置資訊

/etc/profile

4 靜態路由配置資訊

/etc/hosts

HDFS

一 安裝配置

1.1 從xShell啟動xFtp

1.2 從windows本地上傳hadoop-2.6.0.tar.gz到app下

1.3 解壓hadoop-2.6.0.tar.gz到app下

cd app

tar –zxvf hadoop-2.6.0.tar.gz

cd ~

1.4修改配置檔案app/hadoop-2.6.0/etc/hadoop/hadoop-env.sh,

找到

export JAVA_HOME=${JAVA_HOME}

替換為

export JAVA_HOME=/home/hadoop/app/jdk1.8.0_121

1.5修改配置檔案app/hadoop-2.6.0/etc/hadoop/core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

<property>

<name>io.file.buffer.size</name>

<value>131072</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop/appdata/hadoop/tmp</value>

</property>

</configuration>

1.6修改配置檔案hadoop-2.6.0/etc/hadoop/hdfs-site.xml

<configuration>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>master:9001</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>/home/hadoop/appdata/hadoop/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/home/hadoop/appdata/hadoop/dfs/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

</configuration>

1.7 修改修改配置檔案hadoop-2.6.0/etc/hadoop/mapred-site.xml

1.7.1複製mapred-site.xml.template,更名為mapred-site.xml

1.7.2 配置

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>master:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>master:19888</value>

</property>

</configuration>

1.8修改配置檔案hadoop-2.6.0/etc/hadoop/yarn-site.xml

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>master:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>master:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>master:8035</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>master:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>master:8088</value>

</property>

</configuration>

1.9修改配置檔案hadoop-2.6.0/etc/hadoop/slaves

slave01

slave02

slave03

1.10 如果叢集中其他機器沒有配置,可以直接複製

scp –r app/hadoop-2.6.0 slave01:~/app/

HDFS 系統操作

2.1 格式化

~/app/hadoop-2.6.0/bin/hdfs namenode –format

注意:格式化只能操作一次並且在主節點格式化,如果需要再次格式化,需要把appdata/hadoop目錄清空或者直接刪除所有節點的appdata檔案

2.2 啟動

~/app/hadoop-2.6.0/sbin/start-all.sh

2.3 檢視是否啟動正確

2.3.1 檢視日至輸出

2.3.2 檢視程序jps

2.3.2.1 master節點

NameNode

SecondaryNameNode

ResourceManager

2.3.2.2 datanode節點

DataNode

NodeManager

2.4 停止

app/hadoop-2.6.0/sbin/stop-all.sh

2.5 複製

scp –r ~/app/hadoop-2.6.0 slave01:~/app/

HDFS Shell操作

3.1建立目錄

3.1.1建立單級目錄

bin/hadoop dfs -mkdir /abc

3.1.2 建立多級目錄

bin/hadoop dfs -mkdir -p /a/b/c

3.2檢視目錄的內容

bin/hadoop dfs -ls /

3.3上傳檔案,從linux系統把檔案上傳到HDFS

bin/hadoop dfs -put etc/hadoop/core-site.xml /

3.4 下載檔案,從HDFS把檔案下載到linux系統

bin/hadoop dfs -get /core-site.xml .

3.5 檢視HDFS檔案內容

bin/hadoop dfs -cat /core-site.xml

3.6 刪除HDFS上的檔案或目錄

3.6.1 刪除空的目錄

bin/hadoop dfs -rmdir /a/b/c

3.6.2 刪除檔案

bin/hadoop dfs -rm /core-site.xml

3.6.3 遞迴刪除目錄(刪除非空目錄)

bin/hadoop dfs -rm -r /a

3.7 安全模式

bin/hdfs dfsadmin -safemode

hdfs dfsadmin [-safemode enter | leave | get | wait]

3.8檢查整個檔案系統的健康狀況

bin/hdfs fsck /

Usage: fsck <path> [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]

<path> 檢查這個目錄中的檔案是否完整

-move 破損的檔案移至/lost+found目錄

-delete 刪除破損的檔案

-openforwrite 列印正在開啟寫操作的檔案

-files 列印正在check的檔名

-blocks 列印block報告 (需要和-files引數一起使用)

-locations 列印每個block的位置資訊(需要和-files引數一起使用)

-racks 列印位置資訊的網路拓撲圖 (需要和-files引數一起使用)

WEB操作

4.1 HDFS的Web管理地址

http://192.168.1.201:50070/

4.2 叢集狀態

4.3 叢集DataNode狀態

4.3 叢集檔案瀏覽

4.4 叢集檔案屬性

API操作

5.1 啟動eclipse

windows下雙擊eclipse圖示

5.2 建立工程(testHadoop)

File->new-java project

5.3 在testHadoop工程下建立資料夾lib

5.4 匯入hadoop hdfs api訪問需要的jar包

5.4.1 windows本地winrar解壓hadoop-2.6.0.tar.gz

5.4.2 複製hadoop-2.6.0\hadoop-2.6.0\share\hadoop\common\*.jar,貼上到lib

5.4.3 複製hadoop-2.6.0\hadoop-2.6.0\share\hadoop\common\lib\*.jar,貼上到lib

5.4.4 複製hadoop-2.6.0\hadoop-2.6.0\share\hadoop\common\sources\*.jar,貼上到lib

5.4.5 複製hadoop-2.6.0\hadoop-2.6.0\share\hadoop\hdfs\*.jar,貼上到lib

5.4.6 複製hadoop-2.6.0\hadoop-2.6.0\share\hadoop\hdfs\lib\*.jar,貼上到lib

5.4.7 複製hadoop-2.6.0\hadoop-2.6.0\share\hadoop\hdfs\sources\*.jar,貼上到lib

5.4.8 複製hadoop-2.6.0\hadoop-2.6.0\share\hadoop\mapreduce\*.jar,貼上到lib

5.4.9 複製hadoop-2.6.0\hadoop-2.6.0\share\hadoop\mapreduce\lib\*.jar,貼上到lib

5.4.10 複製hadoop-2.6.0\hadoop-2.6.0\share\hadoop\mapreduce\sources\*.jar,貼上到lib

5.4.11 複製hadoop-2.6.0\hadoop-2.6.0\share\hadoop\yarn\*.jar,貼上到lib

5.4.12 複製hadoop-2.6.0\ hadoop-2.6.0\share\hadoop\yarn\lib\*.jar,貼上到lib

5.4.13 複製hadoop-2.6.0\hadoop-2.6.0\share\hadoop\yarn\sources\*.jar,貼上到lib

5.5 選擇lib下的所有 .jar檔案,右擊滑鼠選擇build path->add to build path,會在工程下自動生成Referenced Libraries

5.6 寫API讀寫程式

5.6.1 在src上右擊滑鼠->new->Package,輸入包名testHDFS

5.6.2 在testHDFS上右擊滑鼠->new->Class,輸入類名TestHDFSAPI,選擇 public static void main(String[] args),完成。

5.6.3 編寫讀檔案程式

import java.io.IOException;

import java.io.InputStream;

import java.net.URI;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileStatus;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.junit.Test;

public class TestHDFSAPI {

public static void main(String[] args){

Configuration conf=new Configuration();

try {

URI uri=new URI("hdfs://192.168.1.201:9000");

FileSystem fs= FileSystem.get(uri,conf);

InputStream inputStream=fs.open(new Path("/core-site.xml"));

int i;

while((i=inputStream.read())!=-1)

{

System.out.print((char)i);

}

fs.close();

}

catch (Exception e) {

e.printStackTrace();

}

}

}

5.6.4 編寫上傳檔案程式

Configuration conf=new Configuration();

try {

URI uri=new URI("hdfs://192.168.1.201:9000");

FileSystem fs= FileSystem.get(uri,conf);

Path src=new Path("d:/logwzy.txt");

Path dest=new Path("/");

fs.copyFromLocalFile(false, true,src,dest);

fs.close();

}

catch (Exception e) {

e.printStackTrace();

}

5.6.5 編寫瀏覽HDFS根目錄程式

Configuration conf=new Configuration();

try {

URI uri=new URI("hdfs://192.168.1.201:9000");

FileSystem fs= FileSystem.get(uri,conf);

FileStatus[] fileStatus=fs.listStatus(new Path("/"));

for(int i=0;i<fileStatus.length;i++)

{

FileStatus status=fileStatus[i];

System.out.println("檔名稱:"+status.getPath());

System.out.println("複製因子:"+status.getReplication());

System.out.println("檔案長度:"+status.getLen());

System.out.println("--------------------------");

}

fs.close();

}

catch (Exception e) {

e.printStackTrace();

}

5.7 執行程式

滑鼠右擊TestHDFSAPI類程式碼空白處,Run As->Java Application

MapReduce Web管理

1.1 mapreduce的Web管理地址

http://192.168.1.201:8088/

1.2 mapreduce的Web管理介面

1.2.1叢集資訊

1.2.2 節點資訊

1.2.3 所有任務

1.2.4 已提交任務

1.2.5 已接受任務

1.2.6 正在執行的任務

1.2.7 已結束的任務

1.2.8 失敗的任務

MapReduce程式開發準備工作

2.1 執行環境準備

2.1.1 windows本地winrar解壓hadoop-2.6.0.tar.gz

2.1.2 設定HADOOP_HOME環境變數,為剛才的解壓目錄

2.1.3 把winutils.exe檔案放到%HADOOP_HOME%的bin目錄中

2.1.4 把hadoop.dll檔案放到c:/windows/System32目錄下,否則會報錯

2.1.5 解壓hadoop-2.6.0\share\hadoop\common\sources\hadoop-common-2.6.0-sources.jar檔案,在解壓後的檔案中找到org\apache\hadoop\io\nativeio\NativeIO.java檔案,把它複製到對應的eclipse的testHadoop  project中src的資料夾下,NativeIO.java檔案還要在原來的包名下(即project工程下,檔案路徑應為src\org\apache\hadoop\io\nativeio.java)

2.1.6 修改NativeIO.java檔案的557行,替換為return true;

2.1.7 用管理員身份啟動eclipse,修改錯誤級別

滑鼠右擊專案->Properties->Java Compiler->Errors/Warnings,勾選Enable project specific settings,把Deprecated and restricted API下的Forbidden reference的值設定為Warning

2.2本地模式 處理的檔案和運算都在本地執行

2.2.1 準備資料

在d盤建立檔案佳testhadoop,在testhadoop下建立input,在input下建立檔案test.txt,並寫入如下內容

good good study

day day up

2.2.2 配置執行引數

2.2.2.1滑鼠右擊WCRunner類程式碼空白處->Run As->Run Configurations

2.2.2.2 選擇Arguments頁

2.2.2.3 在Program arguments中寫入執行引數

d:/testhadoop/input d:/testhadoop/output

2.2.3 執行

滑鼠右擊WCRunner類程式碼空白處->Run As->Java Application

2.3半本地模式 處理的檔案在HDFS,運算在本地進行

2.3.1 準備資料

2.3.1.1 在linux /home/hadoop/testhadoop下建立test檔案,內容如下

good good study

day day up

2.3.1.2 在叢集上建立資料夾/testhadoop/input

bin/hadoop dfs -mkdir -p /testhadoop/input

2.3.1.2 把test檔案上傳到/testhadoop/input中

bin/hadoop dfs -put /home/hadoop/testhadoop/test / testhadoop/input

2.3.2 配置執行引數

2.3.2.1滑鼠右擊WCRunner類程式碼空白處->Run As->Run Configurations

2.3.2.2 選擇Arguments頁

2.3.2.3 在Program arguments中寫入執行引數

hdfs://master:9000/input hdfs://master:9000/output

2.3.2.4 在VM arguments中寫入執行引數

-DHADOOP_USER_NAME=hadoop

2.3.3 執行

滑鼠右擊WCRunner類程式碼空白處->Run As->Java Application

2.4叢集模式 jar形式執行,在linux中提交

2.4.1 準備資料

2.4.1.1 在linux /home/hadoop/testhadoop下建立test檔案,內容如下

good good study

day day up

2.4.1.2 在叢集上建立資料夾/testhadoop/input

bin/hadoop dfs -mkdir -p /testhadoop/input

2.4.1.2 把test檔案上傳到/testhadoop/input中

bin/hadoop dfs -put /home/hadoop/testhadoop/test / testhadoop/input

2.4.2 匯出jar包wc.jar

2.4.3 把wc.jar傳到linux的/home/hadoop/testhadoop下

2.4.4 執行

bin/hadoop jar ~/testhadoop/wc.jar testMR.WCRunner /testhadoop/input /testhadoop/

output

注意:輸出目錄必須是不存在的

MapReduce程式開發

3.1 分詞統計wordcount

3.1.1 新建testMR包

在src上右擊滑鼠->new->Package,輸入包名testMR

3.1.2 新建WCMapper類,並編寫程式碼

3.1.2.1 在testMR上右擊滑鼠->new->Class,輸入類名WCMapper,不選擇 public static void main(String[] args),完成。

3.1.2.2 程式碼

import java.io.IOException;

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Mapper;

public class WCMapper extends Mapper<LongWritable, Text, Text, LongWritable> {

@Override

protected void map(LongWritable key, Text value,

org.apache.hadoop.mapreduce.Mapper.Context context)

throws IOException, InterruptedException {

String line = value.toString();

String words[] = line.split(" ");

for(String word:words)

context.write(new Text(word), new LongWritable(1));

}

}

3.1.3 新建WCReducer類,並編寫程式碼

3.1.3.1 在testMR上右擊滑鼠->new->Class,輸入類名WCReducer,不選擇 public static void main(String[] args),完成。

3.1.3.2 程式碼

import java.io.IOException;

import org.apache.hadoop.mapreduce.Reducer;

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

public class WCReducer extends Reducer<Text, LongWritable, Text, LongWritable>{

@Override

protected void reduce(Text key, Iterable<LongWritable> values,

Reducer<Text, LongWritable, Text, LongWritable>.Context context)throws IOException, InterruptedException {

long sum=0;

for(LongWritable value:values)

sum+=value.get();

context.write(key, new LongWritable(sum));

}

}

3.1.4 新建WCRunner類,並編寫程式碼

3.1.4.1 在testMR上右擊滑鼠->new->Class,輸入類名WCRunner,選擇 public static void main(String[] args),完成。

3.1.4.2 程式碼

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Job;

import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;

import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

public class WCRunner {

public static void main(String[] args) {

Configuration conf=new Configuration();

try{

Job job=Job.getInstance(conf);

job.setJobName("zcjJob");

job.setJarByClass(WCRunner.class);

job.setMapperClass(WCMapper.class);

job.setReducerClass(WCReducer.class);

job.setMapOutputKeyClass(Text.class);

job.setMapOutputValueClass(LongWritable.class);

job.setOutputKeyClass(Text.class);

job.setOutputValueClass(LongWritable.class);

FileInputFormat.addInputPath(job, new Path(args[0]));

FileOutputFormat.setOutputPath(job, new Path(args[1]));

job.waitForCompletion(true);

}

catch(Exception e){

e.printStackTrace();

}

}

}

3.2 倒排索引invertindex

3.2.1新建invertindex包

3.2.2 新建map1類,不選擇main方法,並編寫程式碼

import java.io.IOException;

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Mapper;

相關推薦

HadoopSlurm平臺詳細安裝配置步驟

大資料Hadoop、Slurm平臺 安 裝 配 置 手 冊 河北科技大學理學院 王子元 2018年6月 緒論 本人本科畢業設計選的是《數學系大資料環境建設》課題,實驗叢集採用四臺惠普工作站做為節點伺服器,採用一臺虛擬機器和3臺真機作為實驗環境,下文的

NodeJsNPM安裝配置步驟(windows版本)

高效 node 管理 tar 學習 node.js tps .com 系統 Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境。Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。 Node.

hadoop環境安裝配置步驟詳解

hadoop環境安裝配置步驟詳解 在上一篇的分享文章中我是給大家分享了執行部署hadoop的一些安裝準備工作,這篇接上一篇繼續為大家分享一些個人的學習經驗總結。我學習用的是大快發行版DKHadoop,所以所有的經驗分享都是以DKHadoop為基礎,這裡要先說明一下。個人覺得DKHadoop對

vue-cli 3.x安裝配置步驟詳細說明

sso irb event js文件 mon compile cbo 輸出 安裝配置 一、vue-cli 3.x簡單介紹 Vue CLI 是一個基於 Vue.js 進行快速開發的完整系統:是一個類似於 create-react-app 的可以用例命令行快速配置和生成一個

Hadoop分散式叢集安裝配置步驟

之前介紹過Hadoop偽分散式模式的安裝配置步驟,現在記錄一下分散式叢集的安裝配置步驟,本文使用3臺測試伺服器,下面是各伺服器的角色:   - node1:NameNode, DataNode, NodeManager - node2:SecondaryNameNode,

mycat分散式+nginx負載均衡(含mysqljdkphpadminapache安裝配置步驟)整理

Mysql安裝. 解壓MySQL壓縮包    將以下載的MySQL壓縮包解壓到自定義目錄下,我的解壓目錄是:    "D:\Program Files\MySQL\mysql-5.6.13-win32"    將解壓目錄下預設檔案 my-default.ini 拷貝一份,改名

NodeJSNPM安裝配置步驟

1、windows下的NodeJS安裝是比較方便的(v0.6.0版本之後,支援windows native),只需要登陸官網(http://nodejs.org/),便可以看到下載頁面。 2、下載完成後雙擊執行進行安裝,安裝過程基本直接“NEXT”就可以了

NodeJSNPM安裝配置步驟(windows7 64位)

2、安裝過程基本直接“NEXT”就可以了。(windows的安裝msi檔案在過程中會直接新增path的系統變數,變數值是你的安裝路徑,例如“C:\Program Files\nodejs”)。 3、安裝完成後可以使用cmd(win+r然後輸入cmd進入)測試下是否安裝成功。方法:在cmd下輸入node

Openfiler安裝配置步驟

openfiler第一步、下載系統Openfiler是開源免費程序可以到http://www.openfiler.com/community/download/下載第二步、安裝步驟選擇linux系統64位安裝步驟配置網卡IP地址登錄地址第三步、添加本地硬盤第四步、配置Openfiler本文出自 “馬廣傑——博

NFS介紹NFS服務端安裝配置NFS配置選項

nfs服務NFS介紹NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件一樣。NFS的數據傳輸基於RPC

Linux環境下Redis安裝配置步驟[轉]

http redis-cli ont == LV 成功 fcm space 執行 在LInux下安裝Redis的步驟如下: 1、首先下載一個Redis安裝包,官網下載地址為:https://redis.io/ 2、在Linux下解壓redis: tar -zxvf re

Hadoop完全分布式安裝配置完整過程

其他 ins $path serve 建立 工作 isp IT 完成後 一. 硬件、軟件準備 1. 硬件設備 為了方便學習Hadoop,我采用了雲服務器來配置Hadoop集群。集群使用三個節點,一個阿裏雲節點、一個騰訊雲節點、一個華為雲節點,其中阿裏雲和騰訊雲都是通過使用

NFS(1)NFS介紹 NFS服務端安裝配置配置選項exportfs命令NFS客戶端問題

NFS服務端安裝配置 NFS介紹NFS服務常常用到,用於在網絡上共享存儲NFS工作原理(在centos版本5及之前的版本,RPC服務叫portmap,之後就叫:rpcbind)NFS服務需要借助RPC協議進行通信。 NFS服務端安裝配置先準

五十四NFS介紹NFS服務端安裝配置NFS配置選項

NFS介紹 NFS服務端安裝配置 NFS配置選項及客戶端掛載 五十四、NFS介紹、NFS服務端安裝配置、NFS配置選項一、NFS介紹NFS是Network File System的縮寫。 NFS最早由sun公司開發,分2,3,4三個版本,2和3由sun起草開發,4.0開始Netapp公司參

十四周一課 NFS介紹NFS服務端安裝配置NFS配置選項

nfsNFS介紹 NFS是Network File System的縮寫 NFS最早由Sun公司開發,分2,3,4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與並主導開發,最新為4.1版本 NFS數據傳輸基於RPC協議,RPC為Remote Procedure Call的簡寫。 NFS應用場

54.NFS介紹NFS服務端安裝配置NFS配置選項

NFS介紹 NFS服務端安裝配置 NFS配置選項 一、NFS介紹 NFS是Network File System的縮寫 NFS最早由Sun公司開發,分2,3,4三個版本,2和3由Sun起草開發,4.0開始 Netapp公司參與並主導開發,最新為4.1版本 NFS數據傳輸基於RPC協議,RPC為

NFS相關NFS服務端安裝配置exportfs命令nfs客戶端的問題

技術分享 創建 NFS客戶端問題 nfs服務 sdi 解釋 ima span 技術 1、NFS (network file system,基於RPC協議) 2、NFS服務端安裝配置安裝服務端:yum install nfs-utils rpcbind -y安裝客戶端:yum

Linux centosVMware NFS介紹NFS服務端安裝配置NFS配置選項

wall min http remote 原理圖 height ble 圖片 enable 一、NFS介紹 NFS是Network File System的縮寫 NFS最早由Sun公司開發,分2,3,4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與並主導開

53次課( NFS介紹 NFS服務端安裝配置NFS配置選項)

bce src abd ble cbc 9.png png ima 3.1 NFS服務搭建與配置 NFS介紹 NFS服務端安裝配置 安裝測試2個操作系統一個服務端一個客戶端,服務端IP為192.168.63.100客戶端192.168.63.101,這兩個系統許安裝

linux下nginxphp和mysql安裝配置

一、安裝nginx 安裝nginx yum install -y epel-release yum install nginx -y 檢視nginx軟體包包括了哪些檔案 rpm -ql nginx 啟動nginx systemctl start nginx 檢視ng