Hadoop2.6.0集群搭建
环境:
Linux系统 Ubuntu12.0.4LTS (每个系统的用户名一定要一样)
JDK jdk-7u17-linux-i586.tar.gz
(jdk下载地址:(本页最后一个是历史版本下载)http://www.oracle.com/technetwork/java/javase/downloads/index.html)
hadoop2.6 hadoop-2.6.0.tar.gz
(Hadoop下载地址:http://apache.fayea.com/hadoop/common/)
Eclipse的Hadoop插件: hadoop-eclipse-plugin-2.6.0.jar
(此插件官网已经不提供了,请自行下载)
Eclipse(Linux): eclipse-jee-mars-R-linux-gtk-x86_64.tar.gz
(官网下载地址http://www.eclipse.org/downloads/?osType=linux)
步骤:
1 安装jdk, JDk的安装路径,我直接解压到/opt/jdk这个目录下:
2 配置环境变量:(命令行前边最好加上sudo,这样可以直接保存)
export JAVA_HOME=***(jdk的安装目录)
export JRE_HOME=(jdk的安装目录)/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export path=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
3 environment的配置:
export JAVA_HOME=***(jdk的安装目录)
export JRE_HOME=(jdk的安装目录)/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
4 于Ubuntu中一般安装有默认的JDK,如openjdk,所以,为了使默认使用的是我们安装的jdk,还要进行如下工作。 sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.7.0_17/bin/java(注jdk的安装目录下的) 300
sudo update-alternatives --install /usr/bin/javac javac/opt/jdk/jdk1.7.0_17/bin/javac(注jdk的安装目录下的) 300
5 在终端输入java –version / javac测试安装JDK是否成功;(权限问题: chmod +x /usr/bin/javac)
6 安装SSH服务,命令如下:
sudo apt-get install sshopenssh-server
安装完毕查看ssh命令:
ps –e|grep ssh
重启ssh命令:
sudo /etc/init.d/ssh restart
7 实现ssh无密码登录命令:ssh-keygen -t rsa(一直按enter键即可)
进入安装目录(上图中有你的安装目录):
刚开始可能没有authorized_keys和known_hosts文件,需要执行该命令;
将产生的公钥加入到该文件中,可以打开看id_rsa.pub文件:
有关ssh公钥与密钥的具体问题可以百度;执行如下命令将authorized_keys文件分发给其他节点;scp authorized_keys **:/home/Hadoop/.ssh
注意每个节点都需要生成公钥,然后将三个节点的公钥合并在一个文件中,三个节点的authorized_keys(权限值一定是600)必须一致。如下图所示:注意文件的权限修改有可能导致ssh无密码登录配置失效,此处修改文件需要慎重;配置完成后就可实现无密码登陆;如下图所示:
8 Hadoop2.6安装
进入到hadoop安装包的下载目录,解压安装包到你所需要安装的目录。
解压过后你会看到/usr/local目录下多了个hadoop-2.6.0,为了后面的操作方便,我们将其重命名为hadoop。
把hadoop目录的的权限进行修改(sudo chown –R hadoop:hadoop hadoop)。
修改后可以看到hadoop目录的属主属组都是hadoop。
配置hadoop的环境变量
加入:
export HADOOP_HOME=/usr/local/hadoop
///export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin:$HADOOP_HOME/bin:/$HADOOP_HOME/sbin(最好放在你的jdk的后面)
使环境变量立即生效:
设置hadoop-env.sh中Java的环境变量。
打开相应路径下面的hadoop-env.sh文件
加入:
配置伪分布,主要配置的有三个文件,分别为core-site.xml、hdfs-site.xml和yarn-site.xml。
打开core-site.xml:
加入:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
打开hdfs-site.xml:
加入:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/dfs/data</value>
</property>
</configuration>
打开yarn-site.xml:
加入:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
建立需要的文件夹(也可以省略这步,系统会自动创建,但个人认为应该有自己建立的意识)。
进入安装目录下/usr/local/hadoop下创建tmp文件夹,以及dfs/name和dfs/data。
在首次使用之前格式化Hadoop将要用到的HDFS文件系统,就像我们装系统要格式化文件系统一样。
注意:格式化有没有报错,看到报错就进行相应修改。
启动HDFS的必要组件。
查看HDFS相关进程是否在运行。
启动YARN的组件。
查看hadoop相关进程是否在运行。
当然,第9步和第10步可以用start-all.sh来启动这些组件,但这样就看不到两个阶段的启动情况,一旦出错就不那么好找。如果看到这6个进程,基本上就说明已搭建好了。
通过浏览器(输入http://localhost:50070)查看网页
通过浏览器(输入http://localhost:8088)查看网页