ubuntu12.04 64bit安装hadoop2.2.0的方法
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安装包
下载地址:http://apache.dataguru.cn/hadoop/common/hadoop-2.2.0/hadoop-2.2.0.tar.gz
2.3 解压安装包
$tar -xzvf hadoop-2.2.0.tar.gz $cd hadoop-2.2.02.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/profile2.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