HADOOP 集群搭建
需要系统环境:linux、VMware、jdk、hadoop在Windows下安装VMware 、在VMware下安装虚拟机
下边主要是最需要注意的地方的关键操作步骤
一、运行一个虚拟环境 CentOS 6.5
二、安装前基本配置
网络有三种模式:桥接模式、NAT模式、仅主机模式
如果电脑经常换不同的工作环境:指网线的改变不建议用桥接模式
NAT 模式 :推荐使用NAT模式,可以联网,虚拟机连接外网非常方便、诸如百度等
1、修改主机的名字
1、首先获取主机名:输入命令:hostname 获取主机名2、然后进入/etc/sysconfig下的network文件下 在提示符下输入vi /etc/sysconfig/network,
vim /etc/sysconfig/network
3、然后将HOSTNAME后面的值改为想要设置的主机名
NETWORKING=yes
HOSTNAME=master
4、更改/etc下的hosts文件,在提示符下输入vi /etc/hosts,然后将主机名改为想要设置的主机名。
#修改主机名和IP的映射关系
vim /etc/hosts
192.168.48.10 master
5、在提示符下输入reboot命令,重新启动服务器。
2、修改主机IP
vim /etc/sysconfig/network-scrips/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.48.10" ###(主机IP)
NETMASK="255.255.255.0" ###
GATEWAY="192.168.48.2" ###(主机分配的IP)
DSN1=8.8.8.8 ###
3、关闭防火墙
#查看防火墙状态service iptables status
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off
安装JDK
1、 将JDK 上穿的虚拟机
#解压JDK#创建文件夹
mkdir /usr/java
将jdk-7u55-linux-i586.tar.gz移动到 /usr/java下
#解压
tar -zxvf jdk-7u55-linux-i586.tar.gz
2、将java添加到环境变量中
vim /etc/profile#在文件最后添加
export JAVA_HOME=/usr/java/jdk1.7.0_55
export PATH=$PATH:$JAVA_HOME/bin
#刷新配置
source /etc/profile
HADOOP 安装配置
在/usr下创建hadoop目录
安装hadoop2.4.1
注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
伪分布式需要修改5个配置文件
一、hadoop 2.4.1 下的目录
drwxr-xr-x. 2 67974 users 4096 Jun 21 2014 bin
drwxr-xr-x. 3 67974 users 4096 Jun 21 2014 etc
drwxr-xr-x. 2 67974 users 4096 Jun 21 2014 include
drwxr-xr-x. 3 67974 users 4096 Jun 21 2014 lib
drwxr-xr-x. 2 67974 users 4096 Jun 21 2014 libexec
-rw-r--r--. 1 67974 users 15458 Jun 21 2014 LICENSE.txt
-rw-r--r--. 1 67974 users 101 Jun 21 2014 NOTICE.txt
-rw-r--r--. 1 67974 users 1366 Jun 21 2014 README.txt
drwxr-xr-x. 2 67974 users 4096 Jun 21 2014 sbin
drwxr-xr-x. 4 67974 users 4096 Jun 21 2014 share
drwxr-xr-x. 2 root root 4096 Mar 9 20:12 tmp
bin:一些可执行系统操作命令
sbin:是系统服务的一些管理命令(启动或者停止服务等)
etc:是hadoop一些配置文件的目录
include 和 lib 还有 libexec是跟本地平台有关的工具(c语言有关的)
share:hadoop 主题功能的家包
二、配置hadoop相关配置文件
第一个:hadoop-env.sh
vim hadoop-env.sh
#第27行
export JAVA_HOME=/usr/java/jdk1.7.0_65
第二个:core-site.xml::<!-- 制定HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/hadoop-2.4.1/tmp</value>
</property>
第三个:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
第五个:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
第六个:修改slaves
vim slaves
#将子节点主机名添加文件中
slave1
slave2
第七个:新增masters文件
vim masters
master
#将master添加到该文件中
三、将hadoop添加到环境变量
vim /etc/proflie
export JAVA_HOME=/usr/java/jdk1.7.0_65
export HADOOP_HOME=/usr/hadoop/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
将虚拟机挂起
找到虚拟镜像安装的位置复制两份作为子节点
在VMware下打开备份的虚拟机(等于把master克隆一下)
打开子节点查看虚拟机IP并修改主机名和添加映射关系
一、修改主机名
vim /etc/sysconfig/networkNETWORKING=yes
HOSTNAME=slave1 ###(第二台子节点为slave2)
二、修改IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE="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.48.11 ###
NETMASK="255.255.255.0" ###
GATEWAY="192.168.48.2 ###
DSN1=8.8.8.8
三、修改主机名和映射关系(三台都修改)
vim /etc/hosts192.168.48.10 master
192.168.48.11 slave1
192.168.48.12 salve2
三、虚拟机-->右下角的位置设置网络连接-->把网络配置器删除了重新添加一个——>确定。
(第二台子节点一样)
四、重启Linux
reboot
五、验证一下是否都能上网
curl www.baidu.com
ping www.baidu.com
配置ssh免登陆
#生成ssh免登陆密钥ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件
cd .ssh/
ll
id_rsa(私钥)、id_rsa.pub(公钥)
#将公钥拷贝给authorized_keys
cat id_rsa.pub >> authorized_keys (生成authorized_keys)
chomd 600 authorized_keys
验证免密登录
ssh master
可以登录后将slave1和slave2生成的公钥复制到master的authorized_keys
然后再将 master下的authorized_keys拷贝到slave1和slave2上
ssh-copy-id localhost (主机名)
格式化namenode(是对namenode进行初始化)
hdfs namenode -format (hadoop namenode -format)3.4启动hadoop
(可以使用start-all.sh)
sbin/start-dfs.sh
再启动YARN
sbin/start-yarn.sh
3.5验证是否启动成功
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
http://192.168.8.118:50070 (HDFS管理界面)
http://192.168.8.118:8088 (MR管理界面)
到此就完成了hadoop的集群搭建