在Docker與Mac IDEA中安裝單機Hadoop環境
首先安裝遠端控制軟體,主要是為了往docker中傳輸檔案,當然使用docker自身的命令也是可以做到的,所以這個遠端控制軟體的安裝不是必須的。我們可以直接使用docker cp命令來進行檔案的拷貝。所以這一步我們可以直接跳過。
安裝Java環境
hadoop是依賴Java的。我們安裝openjdk。我們同時安裝了jdk和jre。
sudo apt-get install openjdk-7-jre openjdk-7-jdk
然後我們找一下他的根目錄用以設定環境變數。這裡我們使用了dpkg -L命令。
[email protected]244ca27dce99:/# dpkg -L openjdk-7-jdk
/.
/usr
/usr/lib
/usr/lib/jvm
/usr/lib/jvm/java-7-openjdk-amd64
/usr/lib/jvm/java-7-openjdk-amd64/lib
/usr/lib/jvm/java-7-openjdk-amd64/lib/ir.idl
/usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar
/usr/lib/jvm/java-7-openjdk-amd64/lib/jconsole.jar
/usr/lib/jvm/java-7-openjdk-amd64/lib/ct.sym
/usr/lib/jvm/java-7-openjdk-amd64/lib/dt.jar
/usr/lib/jvm/java-7 -openjdk-amd64/lib/amd64
/usr/lib/jvm/java-7-openjdk-amd64/lib/amd64/jli
/usr/lib/jvm/java-7-openjdk-amd64/lib/sa-jdi.jar
/usr/lib/jvm/java-7-openjdk-amd64/lib/orb.idl
/usr/lib/jvm/java-7-openjdk-amd64/man
/usr/lib/jvm/java-7-openjdk-amd64/man/man1
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/extcheck.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jhat.1 .gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/native2ascii.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jdb.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jar.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jrunscript.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jinfo.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/wsimport.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jstatd.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/javah.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/idlj.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jarsigner.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/schemagen.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jstack.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/javac.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/javap.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/serialver.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/wsgen.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/apt.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jstat.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jconsole.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jmap.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jsadebugd.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/rmic.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jcmd.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/appletviewer.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/xjc.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/javadoc.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/man1/jps.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/extcheck.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jhat.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/native2ascii.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jdb.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jar.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jrunscript.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jinfo.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/wsimport.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jstatd.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/javah.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/idlj.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jarsigner.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/schemagen.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jstack.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/javac.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/javap.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/serialver.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/wsgen.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/apt.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jstat.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jconsole.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jmap.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jsadebugd.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/rmic.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jcmd.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/appletviewer.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/xjc.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/javadoc.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/man/ja_JP.UTF-8/man1/jps.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/include
/usr/lib/jvm/java-7-openjdk-amd64/include/jni.h
/usr/lib/jvm/java-7-openjdk-amd64/include/jvmti.h
/usr/lib/jvm/java-7-openjdk-amd64/include/classfile_constants.h
/usr/lib/jvm/java-7-openjdk-amd64/include/linux
/usr/lib/jvm/java-7-openjdk-amd64/include/linux/jawt_md.h
/usr/lib/jvm/java-7-openjdk-amd64/include/linux/jni_md.h
/usr/lib/jvm/java-7-openjdk-amd64/include/jawt.h
/usr/lib/jvm/java-7-openjdk-amd64/include/jvmticmlr.h
/usr/lib/jvm/java-7-openjdk-amd64/include/jdwpTransport.h
/usr/lib/jvm/java-7-openjdk-amd64/bin
/usr/lib/jvm/java-7-openjdk-amd64/bin/jps
/usr/lib/jvm/java-7-openjdk-amd64/bin/jstat
/usr/lib/jvm/java-7-openjdk-amd64/bin/xjc
/usr/lib/jvm/java-7-openjdk-amd64/bin/idlj
/usr/lib/jvm/java-7-openjdk-amd64/bin/jsadebugd
/usr/lib/jvm/java-7-openjdk-amd64/bin/jarsigner
/usr/lib/jvm/java-7-openjdk-amd64/bin/appletviewer
/usr/lib/jvm/java-7-openjdk-amd64/bin/jdb
/usr/lib/jvm/java-7-openjdk-amd64/bin/jmap
/usr/lib/jvm/java-7-openjdk-amd64/bin/javap
/usr/lib/jvm/java-7-openjdk-amd64/bin/jcmd
/usr/lib/jvm/java-7-openjdk-amd64/bin/jhat
/usr/lib/jvm/java-7-openjdk-amd64/bin/jrunscript
/usr/lib/jvm/java-7-openjdk-amd64/bin/javah
/usr/lib/jvm/java-7-openjdk-amd64/bin/jinfo
/usr/lib/jvm/java-7-openjdk-amd64/bin/apt
/usr/lib/jvm/java-7-openjdk-amd64/bin/serialver
/usr/lib/jvm/java-7-openjdk-amd64/bin/javac
/usr/lib/jvm/java-7-openjdk-amd64/bin/wsimport
/usr/lib/jvm/java-7-openjdk-amd64/bin/jconsole
/usr/lib/jvm/java-7-openjdk-amd64/bin/jar
/usr/lib/jvm/java-7-openjdk-amd64/bin/rmic
/usr/lib/jvm/java-7-openjdk-amd64/bin/schemagen
/usr/lib/jvm/java-7-openjdk-amd64/bin/wsgen
/usr/lib/jvm/java-7-openjdk-amd64/bin/native2ascii
/usr/lib/jvm/java-7-openjdk-amd64/bin/jstack
/usr/lib/jvm/java-7-openjdk-amd64/bin/jstatd
/usr/lib/jvm/java-7-openjdk-amd64/bin/javadoc
/usr/lib/jvm/java-7-openjdk-amd64/bin/extcheck
/usr/share
/usr/share/doc
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/openjdk-7-jdk
/usr/lib/jvm/java-7-openjdk-amd64/lib/amd64/jli/libjli.so
/usr/lib/jvm/java-7-openjdk-amd64/lib/jexec
/usr/lib/jvm/java-7-openjdk-amd64/include/jawt_md.h
/usr/lib/jvm/java-7-openjdk-amd64/include/jni_md.h
/usr/lib/jvm/java-7-openjdk-amd64/THIRD_PARTY_README
/usr/lib/jvm/java-7-openjdk-amd64/ASSEMBLY_EXCEPTION
/usr/lib/jvm/java-7-openjdk-amd64/src.zip
/usr/share/doc/openjdk-7-jdk
[email protected]244ca27dce99:/#
我們可以看出這個軟體的根目錄就是/usr/lib/jvm/java-7-openjdk-amd64
。我們為這個java環境設計一個環境變數。我們開啟配置檔案~/.bashrc
。然後使用export指令設定java的環境變數,然後進行一下檢驗。
root@244ca27dce99:/# java -version
java version "1.7.0_131"
OpenJDK Runtime Environment (IcedTea 2.6.9) (7u131-2.6.9-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.131-b00, mixed mode)
root@244ca27dce99:/#
安裝hadoop
我們現在下載當前最新版的hadoop,是2.8版本。
我們在本地下載並且解壓,然後使用docker cp命令將這個東西拷貝到hadoop的容器中。
localhost:~ zhendu$ docker cp ~/Downloads/hadoop-2.8.0 hadoop:/
然後我們將這個目錄放到usr/local之下,這個目錄通常都會放著我們在本地安裝的軟體。然後我們改名並且把則個檔案設為可執行的。
我們簡單執行一個hadoop命令,看看行不行。
root@244ca27dce99:/usr/local/hadoop# ./bin/hadoop version
Hadoop 2.8.0
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 91f2b7a13d1e97be65db92ddabc627cc29ac0009
Compiled by jdu on 2017-03-17T04:12Z
Compiled with protoc 2.5.0
From source with checksum 60125541c2b3e266cbf3becc5bda666
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.8.0.jar
root@244ca27dce99:/usr/local/hadoop
hadoop一開始預設就是設計為單機版,現在就可以使用hadoop的介面來開發hadoop程式了。實際上單機版並不是hadoop的唯一單機部署方法。
Hadoop 可以在單節點上以偽分散式的方式執行,Hadoop 程序以分離的 Java 程序來執行,節點既作為 NameNode 也作為 DataNode,同時,讀取的是 HDFS 中的檔案。
當然我們現在就可以執行一些hadoop程式了。
執行hadoop程式
hadoop提供了很多案例程式,我們現在使用一個命令來執行一個樣例程式:grep,先分別設定了input和output路徑,然後就可以進行,樣例程式的運行了。
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'
這個就是我們要執行的東西。
在IDEA中進行hadoop的開發
因為hadoop是完全基於java的,所以我們可以認為這個hadoop可以執行在mac物理機中,所以我門在IDEA中直接部署了hadoop的環境。
主要就是將hadoop的所有java包匯入,然後在編譯引數裡面宣告輸入和輸出檔案。
相關推薦
在Docker與Mac IDEA中安裝單機Hadoop環境
首先安裝遠端控制軟體,主要是為了往docker中傳輸檔案,當然使用docker自身的命令也是可以做到的,所以這個遠端控制軟體的安裝不是必須的。我們可以直接使用docker cp命令來進行檔案的拷貝。所以這一步我們可以直接跳過。 安裝Java環境 ha
Mac系統中安裝virtualenv虛擬環境
總體來說有三個步驟.1.建立工作目錄.python3 -m venv lanyue_env注意:2.安裝virtualenv.pip3 install --user virtualenv2.啟用虛擬環境.source lanyue_env/bin/activate3.如果要停
mac本地安裝單機hadoop--學習筆記
.class eno star mapreduce trac exp dem pac 環境 Mac配置hadoop1.修改 /etc/hosts127.0.0.1 localhost2.下載hadoop2.9.0和jdk並安裝配置相應環境 vim /etc/profile
Maven的安裝與在IDEA中建立Maven工程.
1.Maven. Maven: 用來管理專案的構建 , 報告和文件的軟體專案管理工具. 作用: 對專案的jar包進行統一的管理. maven對工程分模組構建,提高開發效率. 2.Maven的倉庫. 本地倉庫: 相當於快取 , 第一次會把jar包下載到本地
Mac OS 中安裝 autoconf 和 automake
span pan blog rest makefile autoconf clas nal and 你需要安裝很多東西,請按照以下順序安裝: 安裝的版本包也不能錯: curl -O http://mirrors.kernel.org/gnu/m4/m4-1.4.13.ta
在Mac系統中安裝及配置Apache Tomcat
class 安裝 配置 span pat body 網址 cat 驗證 1.下載Tomcat http://tomcat.apache.org/download-80.cgi .tar.gz結尾和zip均可 2:解壓至想要的文件下 3:配置(註:輸入路徑自定) 使用終端
大資料之scala(二) --- 對映,元組,簡單類,內部類,物件Object,Idea中安裝scala外掛,trait特質[介面],包和包的匯入
一、對映<Map> ----------------------------------------------------- 1.建立一個不可變的對映Map<k,v> ==> Map(k -> v) scala> val map
.netcore 與 Docker CentOS下Docker與.netcore(一) 之 安裝 CentOS下Docker與.netcore(二) 之 Dockerfile CentOS下Docker與.netcore(三)之 三劍客之一Docker-Compose CentOS下Docker與.
CentOS下Docker與.netcore(一) 之 安裝 CentOS下Docker與.netcore(二) 之 Dockerfile CentOS下Docker與.netcore(三)之 三劍客之一Docker-Compose CentOS下Docker與.netcore(四)之 三劍客之一Doc
docker的mac和linux安裝
下載地址:https://download.docker.com/mac/stable/Docker.dmg 下載地址:https://download.docker.com/mac/beta/Docker.dmg 以上為兩個不同的版本 下載安裝之後即可使用 下載安
IDEA中安裝activiti並使用
1、IDEA中本身不帶activiti,需要自己安裝下載。 開啟IDEA中File列表下的Settings 輸入actiBPM,然後點選下面的Search...搜尋 點選Install 下載 下載結束後應用儲存,然後重啟IDEA 建立個資料夾 右鍵ne
Idea 安裝以及破解 ,以及在Idea中搭建PHP開發環境
4. php.ini 中增加一下: zend_extension=php_xdebug-2.6.1-7.1.dll [Xdebug] zend_extension_ts=php_xdebug-2.6.1-7.1.dll ;xdebug.remote_host=
LabelImg在Docker on Mac上成功安裝
LabelImg作為圖片標註工具,是在進行圖片識別和視訊分類等機器學習任務的訓練集準備,不可少的工具,官網地址:https://github.com/tzutalin/labelImg 現在心情久久不能平靜,終於在Docker(Docker on mac)的容器中,成功跑起
intellij idea中安裝、配置mybatis外掛Free Mybatis plugin
場景:使用intellij idea開發,持久層dao使用了mybatis,經常需要編輯mybatis的××Mapper.java和××Mapper.xml,因為是接口裡一個方法對應xml裡的一個SQL的id,當需要找找個方法時候得拷貝找個方法名,然後在對應檔案中ctrl
mac IDEA中,推送本地專案到git時出現:Push to xxxx/master was rejected
在mac IDEA中,推送本地專案到git時出現: Push rejected: Push to xxxx/master was rejected 1輸入:git pull xxxx master –
IDEA中安裝lombok外掛
一、File ---> settings... 二、Plugins ---> Browse repositories... 三、搜尋 lombok ,點選 Lombok Plu
在IDEA中安裝lombok
lombok為什麼要使用lombok經常開發Java服務端的小夥伴應該對bean不陌生,多數情況下都需要getter、setter、toString 等方法,儘管IDE工具都會幫我們生成。但是你會發現一個問題,如果bean的屬性發生了變化,你需要重新生成。而使用了lombok
lombok在idea中安裝以及使用
一、lombok簡介 一個標準的java bean需要有getter和setter方法,有時候些程式碼很冗餘,而lombok可以簡化我們的程式碼,在原始碼中沒有getter和setter方法,但是在編譯生成的位元組碼檔案中有getter 和setter方法,這只是lombo
【Docker】在IDEA中實現一鍵部署到伺服器(附ssl連線加密)
近年來微服務可謂是火遍大江南北,隨著業務的拆分和高可用和叢集,服務變得越來越多,不再像原來的單體應用架構那樣,部署只需要執行一條nohup java -jar xx.jar &就可以完成部署,如果在微服務裡還是用這種方式完成部署的話那就太low太耗時間了,Dock
IDEA中安裝MyBatis Plugins(Mybatis-Generator)外掛及破解方法
IDEA中安裝MyBatis Plugins(Mybatis-Generator)外掛及破解方法 1.首先在File——Settings——輸入Plugins,選擇Browse repositories,搜尋mybatis,選擇mybatis-plugins,點選安裝(由於我的已經安裝過,所以沒
在Mac系統中安裝配置Tomcat及和Eclipse 配置
第一步:下載Tomcat 直接下載如下選中即可: 第二步: 下載完成後 ,把解壓的資料夾放到一個目錄下 /Users/lang/下 1.開啟你的終端:然後輸入 pico .bash_profile 回車 pico 和.ba