Linux环境Hadoop完全分布模式安装详解
完全分布模式:正常的Hadoop集群,由多个各司其职的节点构成。
安装环境
操作平台:VM
操作系统:CentOS6.4(关闭防火墙)
软件版本:Hadoop-0.20.2、JDK7
集群架构:3个节点--一个Mater,二个Slave。
准备工作
JDK安装与配置
详情请见:http://www.cnblogs.com/zhangwenjing/p/3580726.html
安装步骤
一、配置hosts文件
修改所有节点的/ect/hosts,使彼此之间都能把主机名解析为ip.
vi /ect/hosts
192.168.1.53 master
192.168.1.113 node1
192.168.1.145 node2
二、建立hadoop运行账号
在所有的节点创建hadoop运行账号
groupadd hadoop
useradd -g hadoop grid
id grid
passwd grid
三、配置ssh免密码连接
在三个节点中,均以grid用户登录,在grid用户的主目录下进行操作:
ssh-keygen -t rsa -P ""
cd ~.ssh
ls
完成以上步骤,把各个节点的authorized_keys的内容互相拷贝加入到对方的此文件中,我们这里采取的措施是:然后就可以免密码彼此ssh连入
以master为例:
cat /home/grid/.ssh/id_rsa.pub >> /home/grid/.ssh/authorized_keys
ssh node1 cat /grid/hadoop/.ssh/id_rsa.pub >> /home/grid/.ssh/authorized_keys
ssh node2 cat /home/grid/.ssh/id_rsa.pub >> /home/grid/.ssh/authorized_keys
四、Hadoop安装
1、Hadoop下载与安装
解压缩:tar -zxvf hadoop-0.20.2.tar.gz
重命名:mv hadoop-0.20.2 hadoop
#vi ect/profile
HADOOP_PREFIX=/home/grid/hadoop
PATH=$HADOOP_PREFIX/bin:$PATH
export HADOOP_PREFIX PATH
执行环境配置:source /etc/profile
验证:hadoop -version
(注意:三台服务器Hadoop安装目录要保持一致。)
2、Hadoop配置
Hadoop配置在~/hadoop/conf下,作如下修改:
hadoop-env.sh
export JAVA_HOME=/usr/local/java/jdk1.7.0_51(JDK安装目录)
修改内存大小:export HADOOP_CLIENT_OPTS="-Xmx512m $HADOOP_CLIENT_OPTS"
core-site.xml,做如下配置:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
hdfs-site.xml,做如下配置:
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
mapred-site.xml,做如下配置:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>
masters,做如下配置:
namenode节点主机名或IP,如果有多个,则用回车分隔
vi masters
master
slaves,做如下配置:
datanode节点主机名或IP,如果有多个,则用回车分隔
vi slaves
node1
node2
3、复制hadoop到各节点
scp -r 原文件目录 目标文件目录
4、在NameNode节点格式化HDFS
在Hadoop安装目录下运行:bin/hadoop namenode –format
5、在NameNode启动Hadoop
在Hadoop安装目录下运行:bin/start-all.sh
6、在各个节点检查进程是否启动,执行如下命令
jps
五、实例运行
切换到安装目录,建立要上传到hadoop的两个文件 test1.txt、test2.txt
mkdir input
cd input
echo "hello world" > test1.txt
echo "hello hadoop" > test2.txt
运行hadoop自带的wordcount实例可以统计一批文本文件中单词出现的次数
bin/hadoop jar hadoop-0.20.2-examples.jar wordcount input output
查看结果:
cat output/*
六、通过web检查Hadoop
通过浏览器监控jobstracker:http://192.168.1.53:50030
通过浏览器监控集群:http://192.168.1.53:50070
附:
如何添加节点?(准备工作JDK安装和配置)
①配置host文件
②建立hadoop运行账号
③设置ssh免密码进出该节点
④在新的节点安装好hadoop(安装目录和其他节点保持一致)
⑤把namenode的有关配置文件复制到该节点
⑥修改所有节点masters和slaves文件,增加该节点
⑦单独启动该节点上的datanode和tasktracker(hadoop-daemon.sh start datanode/tasktracker)
⑧运行start-balancer.sh进行数据负载均衡