摘要:如果沒有可以動動您靈活的手指,在搜索欄敲下如何安裝環境不開玩笑了,這個比較常見。參考資料官網偽分布式教程免密登錄教程介紹
引語:
????最近想接觸一些大數據相關的技術,所以有了這篇文章,其實就是記錄一下自己學習hadoop的過程,如果文章中有啥寫的不對的地方,還望指正(有java開發經驗,但是是大數據小白一只,各位大神輕噴.)
我先是在網上搜索了一波大數據應該要學些什么技術,基本上不約而同的都是指向了hadoop.
????摘自維基百科:Apache Hadoop鏈接地址.看完維基百科描述,我們大概知道了hadoop是一個分布式的大數據框架,在深入一些我們會知道
它是由很多個組件組成的(比如核心的HDFS,Hadoop Distributed File System,Mapreduce框架,還有很多Hive,HBase等等)。所以hadoop其實也是代指hadoop的一套的生態系統。光說不練假把式,好的我們來看看怎么安裝,搭建hadoop的環境呢?
????這里其實有個前提,默認各位大佬的機器上已經安裝好了linux和java環境。如果沒有可以動動您靈活的手指,在搜索欄敲下“如何安裝linux/java環境”,不開玩笑了,這個比較常見。
hadoop安裝官網上說是有三種方式:
1.單機模式安裝
2.偽分布式安裝
3.全分布式安裝(真.分布式)
我這里使用的是偽分布式,有人要問為啥不用真.分布式呢?
第一是初學者學會了偽分布式,基本上全分布式也是不會有大問題的,只是機器多了;
第二是因為貧窮,
在云服務器上搭建的,全分布式要搞好幾臺。2333~ 開個玩笑啦,主要是懶~
去官網下載就可以了,官網鏈接。
點擊source,然后在跳轉的頁面中下載hadoop-3.1.2-src.tar.gz。
tar -zxvf hadoop-3.1.2-src.tar.gz
然后進入到 hadoop-3.1.2中,目錄是這樣
bin和sbin是可執行腳本的目錄,etc是放hadoop配置文件的目錄。
(1).首先先配置hadoop的環境文件hadoop-env.sh,進入到hadoop-3.1.2/etc/hadoop目錄下,編輯 hadoop-env.sh文件
然后搜索JAVA_HOME,會發現兩處,但是可以通過閱讀英文注釋得知是哪一個
# Technically, the only required environment variable is JAVA_HOME. # All others are optional. However, the defaults are probably not # preferred. Many sites configure these options outside of Hadoop, # such as in /etc/profile.d # The java implementation to use. By default, this environment # variable is REQUIRED on ALL platforms except OS X!
在這下面添加export JAVA_HOME=“機器上的jdk地址”
在環境變量中添加hadoop的配置,vim /etc/profile,添加hadoop_home
export HADOOP_HOME=/home/hadoop/hadoop-3.1.2 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
(2).在配置hadoop的核心配置文件core-site.xml,這里配置的是hdfs的NameNode地址和數據存儲目錄路徑
在
這個是hdfs的地址hadoop存儲數據路徑 fs.defaultFS hdfs://wxwwt-hadoop:9000 hadoop.tmp.dir /home/hadoop/hadoop-3.1.2/data
wxwwt-hadoop這個是自己隨便取得名字,記得在etc/hosts中配置一下,映射到本地127.0.0.1
(3).配置mapred-site.xml,從名字上就能看出來是和MapReduce相關的。指定一下調度系統的配置
mapreduce.framework.name yarn
(4).配置yarn-site.xml
指定ResouceManager的地址 指定MapReduce的方式 yarn.resourcemanager.hostname wxwwt-hadoop yarn.nodemanager.aux-services mapreduce_shuffle
到這里已經上hadoop的配置文件是弄完了
3.格式化文件系統hdfs namenode -format
如果能看到類似下面的信息,說明格式化成功了
Storage directory /home/hadoop/hadoop-3.1.2/data/dfs/name has been successfully formatted.4.運行hadoop,start-dfs.sh
不過在運行之前,先得說一句如果之前一直使用的root用戶的話,這里運行會報錯。因為會因為是root用戶,hadoop不建議使用root用戶。會報出
ERROR: Attempting to operate on hdfs namenode as root ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation. Starting datanodes ERROR: Attempting to operate on hdfs datanode as root ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
類似的錯誤。
(1).如果想用root用戶繼續執行的話,得在啟動腳本start-dfs.sh中添加
HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
并且要設置root的免密登錄。
步驟:
$ ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys
(2).如果要使用其他用戶的話,先得將hadoop的目錄權限給這個用戶添加下
比如:我要使用wxwwt用戶來操作
useradd wxwwt passwd wxwwt chown -R wxwwt:wxwwt /home/hadoop-3.1.2 su wxwwt
設置用用戶名密碼,將hadoop目錄權限給wxwwt,然后切換用戶。再設置免密登錄
ssh-keygen -t rsa ssh-copy-id localhost
然后在運行hadoop。
start-hdfs.sh執行完,看下jps如果出現了NameNode,SecondaryNameNode,DataNode的進程就是HDFS啟動成功了
5.啟動yarn,start-yarn.sh。啟動完后再看下jps,如圖出現了ResourceManager,NodeManager就大功告成。
1.hadoop的一些簡單概念,它也是一個大的生態系統;
2.hadoop安裝分三種模式,單機,偽分布式,全分布式;文中介紹的是偽分布式,就是在一臺機器上弄的;
3.安裝中主要就是按教程添加配置,但是其中還是有坑的,記住啟動的時候root的坑,和免密登錄。
1.https://hadoop.apache.org/doc...(官網偽分布式教程)
2.https://blog.csdn.net/solarac...(免密登錄教程)
3.https://blog.csdn.net/whq1278...
4.https://www.ibm.com/developer...(yarn介紹)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75637.html
摘要:引語這幾周事情比較多,兩周沒寫博客了,這周總算把的實例給運行起來,然后跑了一下官方的例子用于統計文件中單詞出現的次數。接下來是我成功運行實例的記錄。 引語: 這幾周事情比較多,兩周沒寫博客了,這周總算把hadoop的實例給運行起來,然后跑了一下官方的wordcount例子(用于統計文件中單詞出現的次數)。接下來是我成功運行實例的記錄。運行的前提是安裝配置好hadoop(可以參考我上一篇...
閱讀 1607·2021-11-23 09:51
閱讀 1177·2019-08-30 13:57
閱讀 2256·2019-08-29 13:12
閱讀 2011·2019-08-26 13:57
閱讀 1193·2019-08-26 11:32
閱讀 978·2019-08-23 15:08
閱讀 699·2019-08-23 14:42
閱讀 3079·2019-08-23 11:41