Hadoop 详细安装配置指南
1. 安装虚拟机和Linux。我们集群中准备3台机器:
192.168.1.16 Master
192.168.1.17Slave1
192.168.1.18 Slave2
可参考 http://blog.youkuaiyun.com/yg_it/article/details/25472523
2. 网络配置
2.1 修改hostname
a): 执行命令 hostname 查看机器名称。
b): 如需修改,使用vi编辑器 vi /etc/sysconfig/network 修改其中的HOSTNAME 属性为Master。
c): 执行hostname Master ,在当前环境中立即生效。
d): 执行命令hostname 验证设置结果。
2.2 配置IP 和 hostname 绑定。
a): 编辑文件“vi /etc/hosts” ,增加ip与hostname的映射信息。
192.168.1.16 Master
192.168.1.17Slave1
192.168.1.18 Slave2
b): 执行ping master 验证是否映射成功。
2.3 关闭防火墙。
a): 执行命令 service iptables stop 关闭防火墙。
b): 执行命令 service iptables status 查看防火墙是否正在运行。
c): 执行命令 chkconfig iptables off 关闭防火墙自动运行。
3. 配置ssh免密码登陆
3.1 执行命令ssh-keygen -t rsa -P ''产生公钥私钥文件,产生的文件位于~/.ssh目录下。
3.2 执行命令ssh-copy-id -i master复制公钥文件到master节点的authorized_keys中。
ssh-copy-id -i slave1 复制公钥文件到slave1节点的authorized_keys中。
ssh-copy-id -i slave2 复制公钥文件到slave2节点的authorized_keys中。
3.3 执行命令 ssh master ,验证免密码登陆。
4. 安装JDK
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
下载 jdk-7u60-linux-x64.tar.gz
安装好的CentOS会自带OpenJdk,我们先卸载掉OpenJdk,在安装Oracle的JDK。
4.1 执行命令 rpm -qa | grep java 查看jdk。
4.2 分别执行以下命令,卸载OpenJdk。
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64rpm -e --nodeps tzdata-java-2013g-1.el6.noarch
4.3 在"/usr"下创建"java"文件夹,将jdk上传到“/usr/java/”目录下,执行命令 tar –zxvf jdk-7u60-linux-x64.tar.gz 解压缩,产生文件夹 jdk1.7.0_60 。
4.4 设置Java环境变量
a): 编辑文件 vi /etc/profile 在尾部添加
export JAVA_HOME=/usr/java/jdk1.7.0_60
export PATH=$PATH:$JAVA_HOME/bin
b): 执行命令 source /etc/profile使其立即生效
c): 使用命令 java –version ,如果看到如图所示,则JDK安装成功。
d): 同理,安装Slave1节点和Slave2节点上的JDK。
5. 安装Hadoop
下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-1.2.1/
下载hadoop-1.2.1.tar.gz
5.1 在master节点上传hadoop-1.2.1.tar.gz 到/home/hadoop下。
5.2 执行命令 tar -zxvf ~/home/hadoop/hadoop-1.2.1.tar.gz 进行解压缩,产生文件夹hadoop-1.2.1。
5.3 设置环境变量
a): 编辑文件 vi /etc/profile 在尾部添加
export HADOOP_HOME=/home/hadoop/hadoop-1.2.1
export PATH=$PATH:$HADOOP _HOME/bin
b): 执行命令 source /etc/profile使其立即生效
5.4 配置文件hadoop-env.sh, 增加内容如下
export JAVA_HOME=/usr/java/jdk1.7.0_60
5.5 配置文件core-site.xml,增加内容如下
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://Master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-1.2.1/tmp</value>
</property>
</configuration>
注意:请先在 /home/hadoop/hadoop-1.2.1/ 目录下建立 tmp 文件夹,不然会报tmp 目录找不到。
5.6 配置文件hdfs-site.xml,增加内容如下
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
注意:dfs.replication是数据副本数量,默认为3,slave少于3台就会报错,这里我们有2个slave就设置为2.
5.7 配置文件 mapred-site.xml,增加内容如下
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>http://Master:9001</value>
</property>
</configuration>
5.8 配置文件masters,删除localhost 增加内容如下
Master
4.9 配置文件slaves,删除localhost 增加内容如下
Slave1
Slave2
5.10 把master上的hadoop-1.2.1复制到其他节点,执行命令
scp -r ~/hadoop-1.2.1 slave1:~/
scp -r ~/hadoop-1.2.1 slave2:~/
5.11 设置其他节点上hadoop的环境变量。(参照5.3)
5.12 在master节点执行命令hadoop namenode -format 进行格式化
5.13 在master节点执行命令start-all.sh 启动集群,并验证集群
查看Slave1 和Slave2进程
网页查看集群
http://master:50070
http://master:50030
OK,Hadoop1.2.1集群安装成功!