Hadoop教程-全分布搭建
1. 集群规划
Master slave1 slave2 NameNode DataNode DataNode jps jps jps DataNode NodeManager NodeManager NodeManager ResourceManager SecondaryNameNode
2. 前置环境配置
2.1 编辑网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth33
具体配置如下
TYPE=Ethernet BOOTPROTO=static IPADDR=xxx.xxx.xxx.xxx NETMASK=255.255.255.0 DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME=ens33 UUID=9e407345-679e-4b89-8264-7fde2f6c86c9 DEVICE=ens33 ONBOOT=yes
重启网络服务
service network restart
2.2 关闭Linux***
查看***状态: #firewall-cmd --state 执行关闭命令: #systemctl stop firewalld.service 再次执行查看***命令: # firewalld-cmd --state 执行开机禁用***自启命令 : #systemctl disable firewalld.service
2.3 修改主机名
三台分别修改主机名
vi /etc/hostname
将localhost分别改为
master ,slave1,slave2(重启后有效)
配置主机映射文件
vi /etc/hosts xxx.xxx.xxx.xxx master xxx.xxx.xxx.xxx slave1 xxx.xxx.xxx.xxx slave2
2.4 配置免密钥登录
三台机器都需执行
ssh-keygen –t rsa (三次回车) 进入.ssh目录 ssh-copy-id master ssh-copy-id slave1 ssh-copy-id slave
3. jdk安装
3.1 解压jdk并配置环境变量
解压jdk到当前目录
tar -zxvf /opt/data/jdk-7u80-linux-x64.tar.gz -C /usr/local/software
进入/usr/local/software目录修改文件名
mv jdk1.7.0_80/ jdk
编辑配置文件,配置环境变量
vi /etc/profile // set java environment export JAVA_HOME /usr/local/software/jdk export PATH=$JAVA_HOME/bin:$PATH 保存退出
生成配置文件 #
source /etc/profile
查看版本
java -version
4. hadoop安装
4.1 解压并配置hadoop环境
执行以下命令解压Hadoop安装包
tar -zxf /opt/data/hadoop-2.6.4.tar.gz –C /usr/local/software/
改名
mv /usr/local/software/hadoop-2.6.4 /usr/local/software/hadoop
增加hadoop环境变量
编辑 /etc/profile文件,添加以下内容:
vi /etc/profile export HADOOP_HOME /usr/local/software/hadoop/ export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
生成配置文件
source /etc/profile
4.2 创建相关目录
创建相关目录
mkdir /var/hadoop mkdir /var/hadoop/namenode mkdir /var/hadoop/disk1 mkdir /var/hadoop/disk2 mkdir /var/hadoop/tmp mkdir /var/hadoop/logs
修改相关目录权限
chmod 777 /var/hadoop chmod 777 /var/hadoop/namenode chmod 777 /var/hadoop/disk1 chmod 777 /var/hadoop/disk2 chmod 777 /var/hadoop/tmp chmod 777 /var/hadoop/logs
5. Hadoop配置
5.1 修改hadoop-env.sh文件
JAVA_HOME=/usr/local/software/jdk
5.2 修改core-site.sh文件
<property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/var/hadoop/tmp</value> </property>
5.3 修改hdfs-site.sh文件
<property> <name>dfs.namenode.name.dir</name> <value>/var/hadoop/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/var/hadoop/disk1,/var/hadoop/disk2</value> </property>
5.4 修改mapred-site.sh文件
mv mapred-site.xml.template mapred-site.xml <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
5.5 修改yarn-site.sh文件
<property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> //nodemanager上运行的附属服务 <value>mapreduce_shuffle</value> // 配置成mapreduce_shuffle才可运行MR程序 </property>
5.6 修改slave文件
master slave1 slave2
6. 配置子节点
6.1 将hadoop和创建的相关目录复制到其它节点
scp –r /usr/local/software/hadoop slave1:/usr/local/software/ scp –r /usr/local/software/hadoop slave2:/usr/local/software/ scp –r /var/hadoop slave1:/var/ scp –r /var/hadoop slave2:/var/
6.2 修改子节点数据块文件
将两个子节点中disk1、disk1分别修改为disk3、disk4,disk5、disk6,同时对应的hdfs-site.sh文件中内容也做相应修改。
7. 启动hadoop集群
7.1 格式化namenode
hdfs namenode -format
7.2 启动hadoop
start-all.sh
查看进程
Master slave1 slave2 NameNode DataNode DataNode jps jps jps DataNode NodeManager NodeManager NodeManager ResourceManager SecondaryNameNode