1、环境解释
系统:centos 6.5 64bit
本次实验包括:1个Master,3个Salve,节点之间局域网连接,可以相互ping通,
节点IP地址分布如下:
192.168.8.141 HD2
192.168.8.142 HD2
192.168.8.143 HD3
192.168.8.144 HD4
修改主机名、修改IP地址,这里不做简述。
2、修改/etc/hosts
在/etc/hosts 下添加如下
cat >>/etc/hosts<<EOF
192.168.8.141HD1
192.168.8.142HD2
192.168.8.143HD3
192.168.8.144HD4
EOF
3、软件下载2.7所需软件
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
JDK版本:jdk-7u40-linux-x64.gz
2)Hadoop软件
下载地址:http://hadoop.apache.org/common/releases.html
Hadoop版本:hadoop-2.7.1.tar.gz
软件下载好。上传到HD1 的/soft下
4、ssh互信设置
1)创建用记
useradd hadoop
2)在每台主机上以hadoop用户执行
mkdir~/.ssh
chmod 700~/.ssh
ssh-keygen -t rsa
3).在主节点以上root用户执行以下操作
ssh HD1 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
ssh HD2 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
ssh HD3 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
ssh HD4 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
chmod 600~/.ssh/authorized_keys
4)复制到每台主机
scp ~/.ssh/authorized_keys HD2:/usr/hadoop/.ssh/authorized_keys
scp ~/.ssh/authorized_keys HD3:/usr/hadoop/.ssh/authorized_keys
scp ~/.ssh/authorized_keys HD4:/usr/hadoop/.ssh/authorized_keys
5)测试
ssh HD1 date
ssh HD2 date
ssh HD3 date
ssh HD4 date
如果不用密码直接登陆就代表已经成功
5、安装Java
在每一台主机上都安装
1)、以root用户执行
mkdir /usr/java
cd /soft/
gunzip jdk-7u40-linux-x64
tar -xvf jdk-7u40-linux-x64
mv jdk1.7.0_40 /usr/java/.
2)、配置环境变量
在/etc/profile结尾处加如下
cat>>/etc/profile<<EOF
------------------------------------------------------------------------
# set java environment
export JAVA_HOME=/usr/java/jdk1.7.0_71/
exportJRE_HOME=$ JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
EOF
--------------------------------------------------------------------------
3)、生效变量
source /etc/profile
4)、验证安装
java -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build24.0-b56, mixed mode)
6、安装hadoop准备工作
将下载好的软件上传至/soft
cd /soft
gunzip hadoop-1.2.1.tar.gz
tar -xvf hadoop-1.2.1.tar
将解压好的目录移动到/usr下,并重命名为hadoop
mv hadoop-1.2.1 /usr/hadoop
cd /usr/hadoop
mkdir -p /usr/hadoop/source
mkdir -p /usr/hadoop/tools
创建所需目录
mkdir -p /hadoop/hdfs
mkdir -p /hadoop/tmp
mkdir -p /hadoop/log
mkdir -p /usr/java
安装JDK
在以上 连接 下 载linux 64 下的 jdk 的安装文件: jdk-7u4-linux-x64.bin
1 ,将下 载好的jdk-6u32-linux-x64.bin 通 过 SSH 上 传到/usr/java 下
scp -r ./jdk-6u32-linux-x64.binroot@hadoop1:/usr/java
2 , 进入JDK 安装目 录 cd /usr/java 并且 执行chmod +x jdk-7u4-linux-x64.bin
3 , 执行./jdk-7u4-linux-x64.bin
4 ,配置 环境变量,执行 cd /etc 命令后 执行vi profile ,在行末尾添加
export JAVA_HOME=/usr/java/jdk1.7.0_71
exportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
5 , 执行chmod +x profile 将其 变成可执行文件
6 , 执行source profile 使其配置立即生效
source /etc/profile
7 , 执行java -version 查看是否安装成功
修改/etc/profile下的hadoop环境量变
export HADOOP_DEV_HOME=/usr/hadoop
export PATH=$PATH:$HADOOP_DEV_HOME/bin
export PATH=$PATH:$HADOOP_DEV_HOME/sbin
exportHADOOP_MAPARED_HOME=${HADOOP_DEV_HOME}
exportHADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
export YARN_HOME=${HADOOP_DEV_HOME}
exportHADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
exportHDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
exportYARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
7、配置hadoop
4台节点均配置java-home
1)、配置/usr/hadoop/etc/hadoop/hadoop-env.sh
在文件的末尾添加下面内容。
# set java environment
export JAVA_HOME=/usr/java/jdk1.7.0_71
mkdir –p /usr/hadoop/tmp
mkdir –p /usr/hadoop/hdfs
mkdir –p /usr/hadoop/hdfs/data
mkdir –p /usr/hadoop/hdfs/name
配置/usr/hadoop/etc/hadoop目录下的core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.8.141:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/hadoop/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
</configuration>
配置/usr/hadoop/etc/hadoop目录下的hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.8.141:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
配置/usr/hadoop/etc/hadoop目录下的mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.8.141:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.8.141:19888</value>
</property>
</configuration>
配置/usr/hadoop/etc/hadoop目录下的yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.8.141:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.8.141:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.8.141:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.8.141:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.8.141:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>768</value>
</property>
</configuration>
配置/usr/hadoop/etc/hadoop目录下hadoop-env.sh、yarn-env.sh的JAVA_HOME,
不设置的话,启动不了,export JAVA_HOME=/usr/java/jdk1.7.0_71
配置/usr/hadoop/etc/hadoop目录下的slaves,
删除默认的localhost,增加2个从节点,
192.168.8.142
192.168.8.143
192.168.8.144
同步配置
将配置好的Hadoop复制到各个节点对应位置上,通过scp传送,
scp -r /usr/haddop HD2:/usr/.
scp -r /usr/haddop HD3:/usr/.
scp -r /usr/haddop HD4:/usr/.
7、启动hadoop
在Master服务器启动hadoop,从节点会自动启动,进入/usr/hadoop/hadoop-2.7.0目录
(1)初始化,输入命令,bin/hdfs namenode -format
(2)全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh
(3)停止的话,输入命令,sbin/stop-all.sh
(4)输入命令,jps,可以看到相关信息
8、测试
Web访问,要先开放端口或者直接关闭防火墙
(1) service iptables stop
(2)浏览器打开http://192.168.8.141:8088/
(3)浏览器打开http://192.168.8.141:50070/
Master验证:hadoop dfsadmin -report