Hadoop集群搭建(完全分布式)
一.准备Linux阶段
1.安装VMware WorkStation软件
百度找资源,获得激活序列号,否则只能使用30天。
2.在虚拟机上安装Linux操作系统
我这里安装的是CentOS 6.5,按步骤设置成功。
问题:打开是我遇到了Intel-VT-x处于关闭状态,这是我们需要进入电脑Bios主界面configuration>>intelvirtual technology>>enabled
3.准备3个虚拟节点
完成1.2步已经有一个节点,这时候我们按此步骤再创建2个节点,(克隆也行)。
问题:这里我选择的是创建节点,三台都没有显示ip地址,这时候在每台命令行中:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT改成yes
4.安装一个远程链接 X Shell5
进入官网下载免费的版本,选择学校与家庭使用的版本,填写邮箱确定,这时邮箱会收到一个下载地址,打开下载地址下载安装登录,登录名字与密码收到的邮箱文件里有。链接创建的三个虚拟节点。
5.修改IP
vi /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.186.131"
NETMASK="255.255.255.0"
GATEWAY="192.168.186.1"
6.修改主机名和IP的映射关系
192.168.186.131 node1
192.168.186.132 node2
192.168.186.133 node3
7.关闭防火墙
查看防火墙状态: service iptables status
关闭防火墙: service iptables stop
查看防火墙开机启动状态: chkconfig iptables - -list
关闭防火墙开机启动:chkconfig iptables off
二.安装JDK
上传jdk,新建文件夹mkdir /usr/java
解压jdk: tar -zxvf jdk-8u151-linux-x64.tar -C usr/java
将java添加到环境变量中: vi /etc/profile
export JAVA_HOME=/usr/java/jdk-7u_65-i585
export PATH=$PATH:$JAVA_HOME/bin
刷新配置: source /etc/profile
三:安装hadoop
1.上传hadoop-2.6.4.tar,新建文件夹:mkdir apps
解压: tar -zxvf hadoop-2.6.4.tar
2.配置hadoop文件
(1)vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_151
(2)vi core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property> <!-- 指定HADOOP所使用的文件系统schema(URI),
HDFS的老大(NameNode)的地址 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hdpdata</value>
</property> <!-- 指定hadoop运行时产生文件的存储目录 -->
(3)vi hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property> <!-- 指定HDFS副本的数量 -->
(4)mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value> <!-- 指定mr运行在yarn上 -->
</property>
(5)vi yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value> <!-- 指定YARN的老大(ResourceManager)的
地址 -->
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> <!-- reducer获取数据的方式 -->
</property>
3.将hadoop添加到环境变量
vi /etc/proflie
export JAVA_HOME=/usr/java/jdk1.8.0_151
export HADOOP_HOME=/itcast/hadoop-2.6.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
4.格式化namenode(是对namenode进行初始化)
hadoop namenode -format (hdfs namenode -format )
5.启动hadoop
先启动HDFS
cd /usr/local/sbin/sbin/ 进入sbin
start-dfs.sh
再启动YARN
start-yarn.sh
6.验证是否启动成功
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
http://192.168.186.131:50070 (HDFS管理界面)
http://192.168.186.131:8088 (MR管理界面)
四.配置ssh免密登陆
1. /sbin vi slaves
将localhost改为: node2
node3
2. /hadoop ssh-keygen(四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3