hadoop偽分散式環境如何搭建
04-05
> 主要分享在centos的環境下搭建hadoop的偽分散式環境。 # 前期準備 centos虛擬機環境 hadoop安裝軟體 # 環境配置
推薦閱讀:
## 創建hadoop用戶
``` sudo useradd -m hadoop -s /bin/bash sudo passwd hadoop sudo adduser hadoop sudo #為 hadoop 用戶增加管理員許可權,方便部署 ``` ## 配置網路連接 ### 虛擬機選擇host-only模式 ![](http://img.blog.csdn.net/20161006204026173) ![](http://img.blog.csdn.net/20161006204207546)> 驗證:宿主機能夠ping通虛擬機,虛擬機ping不通主機,只能ping通192.168.83.1(說明:如果ping不通,請不必主機的防火牆)。
### 主機名和網路連接 可以使用centos7中的**nmtui**文本工具來設置主機名和網路連接。 > 驗證 ``` hostnamectl status ``` ![](http://img.blog.csdn.net/20161006204643020) ``` ip addr```
![](http://img.blog.csdn.net/20161006204743536) ### ip與hostname綁定 ``` vi /etc/hosts ip 主機名 ``` > 驗證 ``` ping 主機名```
![](http://img.blog.csdn.net/20161006205005411) ### 關閉防火牆 > CentOS 7.0默認使用的是firewall作為防火牆,並且自動運行。 ``` systemctl start firewalld.service#啟動firewall systemctl stop firewalld.service#停止firewall systemctl disable firewalld.service#禁止firewall開機啟動 ``` > 驗證```
systemctl status firewalld.service ``` ## ssh免密碼登陸 ``` ssh-keygen -t rsa #生成密鑰 ``` ![](http://img.blog.csdn.net/20161006205840101) ``` cp id_rsa.pub authorized_keys```
![](http://img.blog.csdn.net/20161006205937884) > 驗證 ``` ssh localhost ``` ## 安裝jdk 利用rpm安裝;先檢驗系統原版本:java -version;進一步查看JDK信息:rpm -qa | grep java; 卸載OpenJDK,執行以下操作: ```rpm -e --nodeps tzdata-java-2014i-1.el7.noarch
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64 ``` 安裝命令(JDK默認安裝在/usr/java中,如果要安裝到/usr/local/,請到該目錄下執行此命令,本例採用默認安裝方式): ``` rpm -ivh jdk-8u25-linux-x64.rpm cd /usr/java ls ```> 驗證
``` java -version ``` ![](http://img.blog.csdn.net/20161006210654248) ## 安裝hadoop ``` cp /home/hadoop/Downloads/hadoop-2.7.1.tar.gz /usr/local/ tar zxvf hadoop-2.7.1.tar.gz chmod -R 777 hadoop-2.7.1 #更改hadoop-2.7.1文件夾許可權```
### 修改配置文件 > etc/hadoop/hadoop-env.sh ``` # The java implementation to use. #export JAVA_HOME=${JAVA_HOME} export JAVA_HOME=/usr/java/jdk1.8.0_60 ``` > etc/hadoop/yarn-env.sh ``` #export JAVA_HOME=/home/y/libexec/jdk1.7.0/ export JAVA_HOME=/usr/java/jdk1.8.0_60 ``` > etc/hadoop/core-site.xml 添加如下內容: ``` hadoop.tmp.dir file:/user/local/hadoop-2.7.1/tmp namenode上本地的hadoop臨時文件夾 fs.defaultFS hdfs://localhost:9000 HDFS的URI,文件系統://namenode標識:埠號 ``` > etc/hadoop/hdfs-site.xml 添加如下內容: ``` dfs.replication 1 副本個數,配置默認是3,應小於datanode機器數量 dfs.namenode.name.dir file:/user/local/hadoop-2.7.1/tmp/dfs/name namenode上存儲hdfs名字空間元數據 dfs.datanode.data.dir file:/user/local/hadoop-2.7.1/tmp/dfs/data datanode上數據塊的物理存儲位置 ``` > 補充:由於系統重啟後,找不到namenode進程,這是因為系統在重啟後被刪除,所以加入下面配置* > etc/hadoop/mapred-site.xml > 將mapred-site.xml.templat重命名成mapred-site.xml,添加: ``` mapreduce.framework.name yarn ``` > 解釋:相比於Hadoop1.0,用戶無需再配置mapred.job.tracker,這是因為JobTracker已變成客戶端的一個庫,他可能被隨機調度到任何一個slave上,也就是它的位置是動態生成的。需要注意的是,在該配置文件中需用mapreduce.framework.name指定採用的框架名稱,默認是將作業提交到MRv1的JobTracker端。* > etc/hadoop/yarn-site.xml 添加如下內容: ``` yarn.nodemanager.aux-services mapreduce_shuffle ``` > 解釋:為了能夠運行MapReduce程序,需要讓各個NodeManager在啟動時載入shuffle server,shuffle server實際上是Jetty/Netty Server,Reduce Task通過該server從各個NodeManager上遠程拷貝Map Task產生的中間結果。上面增加的兩個配置均用於指定shuffle serve。如果YARN集群有多個節點,你還要配置yarn.resourcemanager.address等參數* ## 配置環境變數 ``` #> vi /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_60 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export HADOOP_HOME=/usr/local/hadoop-2.7.1 export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH #> source /etc/profile ``` > 驗證 ``` java -version hadoop version ``` ![](http://img.blog.csdn.net/20161006224630401) ## hadoop啟動 > 格式化namenode ``` hdfs namenode –format ``` > 啟動namenode 和 datanode 守護進程 ``` start-dfs.sh ``` > 啟動resourcemanager 和 nodemanager 守護進程 ``` start-yarn.sh ``` > 驗證 ``` jps ``` ![](http://img.blog.csdn.net/20161006225108669) ## 查看集群信息 ``` http://192.168.83.100:8088 ``` ![](http://img.blog.csdn.net/20161006225308108) ## 查看dfs信息 ``` http://localhost:50070 ``` ![](http://img.blog.csdn.net/20161006225427241)推薦閱讀:
※VPC網路環境連接OSS地址失敗,腫么辦?
※從0到數千萬日活,靠什麼?音樂+社交
※2018最新千鋒教育Linux雲計算架構師+Python運維開發課程學習路線圖
※對象存儲OSS控制台—圖片處理