一、安装JDK、配置环境变量
java -version查看是否系统已经安装openJDK,如果安装openJDK,则将其卸载。
[root@Master ~]# java -version java version "1.6.0" OpenJDK Runtime Environment (build 1.6.0-b09) OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
[root@Master ~]# rpm -qa | grep java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5 java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
[root@Master ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5 [root@Master ~]# rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
如此,centos安装时自带的openJDK卸载完成。
将jdk-7u79-linux-x64.tar.gz上传至服务器,tar -xzvf jdk-7u79-linux-x64.tar.gz解压。
[root@Master local]# ls -al|grep jdk drwxr-xr-x. 8 uucp 143 4096 4月 11 2015 jdk1.7.0_79 -rw-r--r--. 1 root root 153512879 8月 26 19:50 jdk-7u79-linux-x64.tar.gz
在/etc/profile 文件底部加上如下几行。
export JAVA_HOME=/usr/local/jdk1.7.0_79 export JRE_HOME=/usr/local/jdk1.7.0_79/jre export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin: export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar
source /etc/profile 使命令生效。java -version出现下面信息说明配置已经生效。
[root@Master local]# java -version java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
二、 配置SSH无密码登陆
首先,执行命令vim /etc/hosts 在文件中添加主机名与IP映射关系,如图:
执行ssh-keygen -t rsa -P '' 命令,中间让输入保存秘钥的文件夹,直接回车。秘钥生成成功会在~/.ssh/目录下生成公钥文件id_rsa和私钥文件id_rsa.pub。
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
验证ssh
[root@Master .ssh]# ssh localhost
Last login: Sat Jan 16 14:12:25 2016 from 192.168.1.112
[root@Master ~]#
不需要输入密码则配置成功。如果不行,可以运行chmod 600 authorized_keys 更改一下authorized_keys权限。
三、配置Hadoop
(1)将 hadoop-2.6.0.tar.gz 上传至服务器,tar -zxvf hadoop-2.6.0.tar.gz 解压。
配置环境变量,vim /etcprofile 加入HADOOP_HOME,更改PATH。
export HADOOP_HOME=/root/hadoop/hadoop-2.6.0
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存退出,source /etc/profile 使之生效。
(2)更改$HADOOP_HOME/etc/hadoop路径下文件。
hadoop-env.sh文件:
# The java implementation to use. # export JAVA_HOME=${JAVA_HOME} export JAVA_HOME=/usr/local/jdk1.7.0_79
mapred-env.sh文件:
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/ export JAVA_HOME=/usr/local/jdk1.7.0_79
yarn-env.sh文件:
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/ export JAVA_HOME=/usr/local/jdk1.7.0_79
core-site.xml文件:
<configuration> <property> <name>fs.default.name</name> <value>hdfs://192.168.1.115:9000</value> <description>HDFS的URI,文件系统://namenode标识:端口号</description> </property> <property> <name>hadoop.tmp.dir</name> <value>/root/hadoop/hadoop-2.6.0/tmp</value> <description>namenode上本地的hadoop临时文件夹</description> </property> </configuration>
hdfs-site.xml文件:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/root/hadoop/hadoop-2.6.0/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/root/hadoop/hadoop-2.6.0/hdfs/data</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>192.168.1.115:50090</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>
mapred-site.xml.template 文件重命名为 mapred-site.xml 文件并编辑:
[root@Master hadoop]# mv mapred-site.xml.template mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>Master.Hadoop:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>Master.Hadoop:19888</value> </property> <property> <name>mapred.job.tracker</name> <value>hdfs://192.168.1.115:9001</value> </property> </configuration>
yarn-site.xml文件:
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.hostname</name> <value>Master.Hadoop</value> </property> <property> <name>yarn.nodemanager.hostname</name> <value>Master.Hadoop</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>Master.Hadoop:8099</value> </property> </configuration>
slaves 文件将localhost改为机器名。
(3)64位系统运行hadoop会报错,因为hadoop native库默认是32位,所以要重新编译hadoop2.6.0源代码,获取64位native库。将%HADOOP_HOME%/lib/native目录下文件全部替换成64位。
四、启动Hadoop
(1)格式namenode:[root@Master bin]# hdfs namenode –format
(2)启动:[root@Master sbin]# start-all.sh ,start-all.sh为全启动。
(3)运行 jps 命令,出现如下说明启动成功。
[root@Master sbin]# jps 30249 NameNode 30523 SecondaryNameNode 30342 DataNode 30668 ResourceManager 30762 NodeManager 32548 Jps