沒啥事折騰一下裝個單節點的,爲得是方便學習和調試。
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路徑配置
$sudo chown kevin:kevin /opt
tar xzvf hadoop-2.2.0.tar.gz
$ 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
然後執行以下命令:
$ ssh localhost
全局變量
在/etc/profile的末尾加入:
vim /etc/profile
export HADOOP_HOME=/opt/hadoop
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
$ 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
$ 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:
$ hdfs namenode -format
啓動DFS
$ hadoop-daemon.sh start namenode
$ hadoop-daemon.sh start datanode
使用jps查看進程是否啓動
$ jps
並在以下網頁檢查:
http://localhost:50070/dfshealth.jsp
啓動Yarn
$ yarn-daemon.sh start resourcemanager
$ yarn-daemon.sh start nodemanager
異常處理
$ rm -rf /hadoop/dfs/*
$ rm -rf /hadoop/tmp/*
$ hdfs namenode -format