Hadoop local模式部署(單節點)

沒啥事折騰一下裝個單節點的,爲得是方便學習和調試。

0.jdk安裝,很簡單在本博可以找到。

(我直接用root玩了,你也可以不這麼搞)

在終端窗口裏面輸入: sudo  -s.然後輸入普通用戶登陸的密碼,回車即可進入 root用戶權限模式。


然後執行: vim /etc/lightdm/lightdm.conf.

增加 greeter-show-manual-login=true  allow-guest=false  . 修改完的整個配置文件是



[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true #手工輸入登陸系統的用戶名和密碼
allow-guest=false   #不允許guest登錄


1.下載hadoop-2.2.0.tar.gz(從Apache官方可以下載)

Hadoop路徑配置

建議將Hadoop安裝在/opt下,所以將/opt的屬主修改爲實際用戶(本文以kevin用戶爲例):
  1. $sudo chown kevin:kevin /opt  

  2. tar xzvf hadoop-2.2.0.tar.gz  

  3. $ mv hadoop-2.2.0 /opt/hadoop


ssh本地互通

sudo apt-get install openssh-client
sudo apt-get install openssh-server

cd /root
ssh-keygen -t rsa -P ""   (回車)
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys用命令驗證一下是否可以免密碼鏈接localhost

然後執行以下命令:

  1. $ ssh localhost  

全局變量

在/etc/profile的末尾加入:

vim /etc/profile

  1. export HADOOP_HOME=/opt/hadoop  

  2. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin  


確保可以在任意位置執行hadoop命令。

然後將配置文件啓用:

$ source /etc/profile


目錄配置

創建Hadoop的數據存儲目錄,並修改屬主權限(我這用的root可以不需要這寫)


$ sudo mkdir /hadoop
$ sudo chown krvin:kevin /hadoop
$ mkdir /hadoop/dfs
$ mkdir /hadoop/tmp

配置Hadoop

配置hadoop-env.sh

修改hadoop-env.sh文件:

$ cd /opt/hadoop/etc/hadoop
$ vim hadoop-env.sh

將默認的JAVA_HOME修改爲:/opt/jdk1.6.0_35


配置core-site.xml

修改core-site.xml文件:

$cd /opt/hadoop/etc/hadoop
$vim core-site.xml

<configuration>標籤中(即嵌套在該標籤中)加入以下內容:


<property>
 <name>hadoop.tmp.dir</name>
 <value>/hadoop/tmp</value>
 <description>temporary directories.</description>
</property>
<property>
 <name>fs.defaultFS</name>
 <value>hdfs://192.168.1.100:9000</value>
 <description>The name of the defaultfile system. Either the literal string "local" or a host:port forNDFS.
 </description>
 <final>true</final>
</property>

更多配置信息,參考:

http://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-common/core-default.xml


配置hdfs-site.xml

修改hdfs-site.xml

  1. $ vim hdfs-site.xml  


<configuration>標籤中(即嵌套在該標籤中)加入以下內容:

<property>
 <name>dfs.namenode.name.dir</name>
 <value>file:/hadoop/dfs/name</value>
 <description>Determineswhere on the local filesystem the DFS name node should store the name table.</description>
 <final>true</final>
</property>

<property>
 <name>dfs.datanode.data.dir</name>
 <value>file:/hadoop/dfs/data</value>
 <description>Determineswhere on the local filesystem an DFS data node should store its blocks.
 </description>
 <final>true</final>
</property>

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

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

更多hdfs-site.xml的配置信息,參考:

http://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

配置mapred-site.xml

默認不存在此文件,需要創建:

$ cp mapred-site.xml.template mapred-site.xml
$ vim mapred-site.xml

<configuration>標籤中(即嵌套在該標籤中)加入以下內容:

<property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
</property>

<property>
 <name>mapred.system.dir</name>
 <value>file:/hadoop/mapred/system</value>
 <final>true</final>
</property>

<property>
 <name>mapred.local.dir</name>
 <value>file:/hadoop/mapred/local</value>
 <final>true</final>
</property>

配置yarn-site.xml

執行以下命令:

$ vim yarn-site.xml

<configuration>標籤中(即嵌套在該標籤中)加入以下內容:

<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
 <description>shuffle service that needsto be set for Map Reduce to run </description>
</property>

<property>
 <name>yarn.resourcemanager.hostname</name>
 <value>192.168.1.100</value>
 <description>hostanem of RM</description>
</property>

yarn.resourcemanager.hostname配置後,其他端口號將使用默認。詳見:

http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

初始化

格式化NameNode:

  1. $ hdfs namenode -format  



啓動DFS

分別按順序執行以下命令:

  1. $ hadoop-daemon.sh start namenode  

  2. $ hadoop-daemon.sh start datanode  


使用jps查看進程是否啓動

  1. $ jps  


並在以下網頁檢查:

  1. http://localhost:50070/dfshealth.jsp  

啓動Yarn

  1. $ yarn-daemon.sh start resourcemanager  

  2. $ yarn-daemon.sh start nodemanager  

異常處理

如果發生任何啓動異常,關閉進程後,需要清空數據:
  1. $ rm -rf /hadoop/dfs/*  

  2. $ rm -rf /hadoop/tmp/*  

然後重新執行格式化:
  1. $ hdfs namenode -format  



 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章