1 安装准备
此集群共三台机器,一台作为master: NameNode/ResouceManager,其余作为slaves: DataNode/NodeManager
三台机器都增加一个用户名,比如:hadoop
1.1 安装jdk
请参考《ubuntu 12.04安装oracle jdk1.7》
1.2 设置集群中每台机器的hostname
$sudo vim /etc/hostname 在此文件中修改自己的hostname,修改好后可以使用以下命令进行查看
$hostname
在集群中的每台机器中修改hosts文件,一般是修改好一个文件后将文件传到其他机器相应的路径下
$sudo vim /etc/hosts
在此文件中加入以下内容,比如
192.168.8.1 master
192.168.8.2 slave1
192.168.8.3 slave2
1.3 安装ssh
直接使用命令进行安装
$sudo apt-get install ssh
2 安装部署
2.1 设置集群ssh无密码登录
$ssh-keygen -t dsa -P '' 在.ssh目录下生成两个文件一个是id_dsa,一个是id_dsa.pub
$cat id_dsa.pub >> authorized_keys 将id_dsa.pub中的内容追加到认证的公钥文件authorized_keys
$cat ~/.ssh/authorized_keys | ssh hadoop@192.168.8.2 "cat - >> ~/.ssh/authorized_keys" 将authorized_keys的内容追加到其他两个机器的authorized_keys中
2.2 下载hadoop2.2.0安装包
下载地址:
2.3 解压安装包
$tar -xzvf hadoop-2.2.0.tar.gz
$cd hadoop-2.2.0
2.4 修改配置文件
2.4.1
$sudo vim /etc/profile
在文件末尾加上以下内容
# Hadoop
export HADOOP_HOME="/home/hadoop/hadoop-2.2.0"
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=${HADOOP_HOME}
export HADOOP_COMMON_HOME=${HADOOP_HOME}
export HADOOP_HDFS_HOME=${HADOOP_HOME}
export YARN_HOME=${HADOOP_HOME}
# Native Path
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
运行以下命令是环境变量生效
sudo source /etc/profile
2.4.2 hadoop-env.sh
$cd ~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh
在文件中加入以下内容
export JAVA_HOME=/usr/local/jdk1.7
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
2.4.3 yarn-env.sh
$cd ~/hadoop-2.2.0/etc/hadoop/yarn-env.sh
在文件中加入以下内容
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
2.4.4 core-site.xml
$cd ~/hadoop-2.2.0/etc/hadoop/core-site.xml
在文件中加入以下内容,临时文件夹需要自己创建。
点击(此处)折叠或打开
-
<property>
-
<name>fs.defaultFS</name>
-
<value>hdfs://192.168.8.1:9000</value>
-
<final>true</final>
-
</property>
-
<property>
-
<name>hadoop.tmp.dir</name>
-
<value>/home/hadoop/hadoop-2.2.0/temp</value>
-
</property>
2.4.5 hdfs-site.xml
$cd ~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml
在文件中加入以下内容,name和data文件夹需要自己创建
-
<property>
-
<name>dfs.namenode.name.dir</name>
-
<value>file:/opt/hadoo/dfs/name</value>
-
<final>true</final>
-
</property>
-
-
<property>
-
<name>dfs.datanode.data.dir</name>
-
<value>file:/opt//hadoop/dfs/data</value>
-
<final>true</final>
-
</property>
-
<property>
-
<name>dfs.replication</name>
-
<value>1</value>
-
</property>
-
-
<property>
-
<name>dfs.permissions</name>
-
<value>false</value>
-
</property>
2.4.6 mapred-site.xml
$cd ~/hadoop-2.2.0/etc/hadoop/mapred-site.xml
在文件中加入以下内容
-
<property>
-
<name>mapreduce.framework.name</name>
-
<value>yarn</value>
-
</property>
-
-
<property>
-
<name>mapred.system.dir</name>
-
<value>file:/opt/hadoop/mapred/system</value>
-
<final>true</final>
-
</property>
-
-
<property>
-
<name>mapred.local.dir</name>
-
<value>file:/opt/hadoop/mapred/local</value>
-
<final>true</final>
-
</property>
2.4.7 yarn-site.xml
$cd ~/hadoop-2.2.0/etc/hadoop/yarn-site.xml
在文件中加入以下内容
-
<property>
-
<name>yarn.resourcemanager.address</name>
-
<value>master:8032</value>
-
</property>
-
-
<property>
-
<name>yarn.resourcemanager.scheduler.address</name>
-
<value>master:8030</value>
-
</property>
-
-
<property>
-
<name>yarn.resourcemanager.resource-tracker.address</name>
-
<value>master:8031</value>
-
</property>
-
-
<property>
-
<name>yarn.resourcemanager.admin.address</name>
-
<value>master:8033</value>
-
</property>
-
-
<property>
-
<name>yarn.resourcemanager.webapp.address</name>
-
<value>master:8088</value>
-
</property>
-
-
<property>
-
<name>yarn.nodemanager.aux-services</name>
-
<value>mapreduce_shuffle</value>
-
</property>
-
-
<property>
-
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
-
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
-
</property>
2.4.8 配置slaves文件
在文件中加入一下内容
slave1
slave2
2.5 将配置好的hadoop文件夹考到其余节点上
$scp -r ~/hadoop-2.2.0 hadoop@192.168.8.2:~/
$scp -r ~/hadoop-2.2.0 hadoop@192.168.8.3:~/
2.6 启动集群
2.6.1 格式化集群
$cd ~/hadoop-2.2.0
$bin/hdfs namenode -format 如果成功启动,那么就可以启动集群完成自己的工作了
2.6.2 启动集群
$cd ~/hadoop-2.2.0/sbin
$./start-dfs.sh
$./start-yarn.sh
启动完成之后可以在master和slave节点查看,启动的进程是否成功,使用一下命令
$jps
在master节点上应该有以下进程:ResourceManager、NameNode、SecondaryNameNode
在slave节点上应该有以下进程:NodeManager、DataNode
阅读(765) | 评论(0) | 转发(0) |