一,服务准备
本案例用Linux虚拟机服务器来搭建HADOOP集群,所用的软件版本:
Vmware 11.0
Contos 6.5 64bit
二,JDK环境安装
上传JDK安装包---》解压(tar -zxvf)到指定目录---》配置环境变量 vi /etc/profile
三,网络环境准备
1,将虚拟机的网络环境设置为NAT
2,修改主机名:vi /etc/sysconfig/network 重启服务器生效
3,修改ip 。若为动态ip(不好,环境配置好后ip会随时发生变化)则可以跳过此步。
两种方式:
第一种:通过Linux图形界面进行修改(强烈推荐)
进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 ->
选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.1.101 子网掩码:255.255.255.0 网关:192.168.1.1 -> apply
第二种:修改配置文件方式(屌丝程序猿专用)
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static" ###
HWADDR="00:0C:29:3C:BF:E7"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
IPADDR="192.168.1.101" ###
NETMASK="255.255.255.0" ###
GATEWAY="192.168.1.1" ###
四,修改主机 名和映射关系
vi /etc/sysconfig/network 修改主机名 重新启动有效
vim /etc/hosts
192.168.184.136 server3
五,关闭防火墙
#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off
六,安装HADOOP-2.4.1
Alt+p出现sftp窗口后put上传---》解压到指定目录---》和配置JDK一样 ,配置HADOOP的环境变量,要配置bin和sbin,改完后source /etc/profile 载入配置 ---》修改配置文件(5个),都在hadoop-2.4.1/etc/hadoop/ 目录下
1,vi hadoop-env.sh 第27行 export JAVA_HOME=/(JDK安装的目录)
2,vi core-site.xml
<!--指定HADOOP所用的文件系统schema(url),HDFS的老大NameNode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://server1:9000</value><!--这样的话不用怕动态ip变换来回改的麻烦,只改IP和主机名映射即可-->
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop-2.6.1/tmp</value>
</property>
3,vi hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>server1:50090</value>
</property>
<!--指定hdfs中namenode的存储位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop-2.6.1/tmp/dfs/name</value>
</property>
<!--指定hdfs中datanode的存储位置-->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop-2.6.1/tmp/dfs/data</value>
</property>
4,vim mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5,vi yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>server1</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
七,HADOOP的启动
1,格式化NameNade hdfs namenode -format (hadoop namenode -format)
2,启动HADOOP start-all.sh
3,验证是否启动成功 使用jps命令验证 正常有6个返回的数据
4,通过浏览器登入管理界面 ,会有NameNode和DtatNode的现实
http://192.168.159.232:50070 (HDFS管理界面)
http://192.168.1.101:8088 (MR管理界面)
5,如果登入失败,不要慌,按照步骤走:关闭防火墙---》删除/hadoop-2.6.0/tmp/dfs/data目录下的登入连接文件---》初始化NameNode---》检查端口是否被占:netstat -tunlp |grep 9000。杀死占用端口的进程:kill 程序序列号。---》检查代码错误---》重新启动
6,配置主从机
vi slaves
主机第一行
server3
server2
server1
八,配置ssh免密登入
#生成ssh免登陆密钥
#进入到我的home目录
cd ~/.ssh
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
ssh-copy-id localhost
如果没有配置ssh登入 在start-all的时候会出现starting datanode 很长一段时间 这里输入密码即可继续运行
启动集群在主机启动