centos7安装hadoop集群(hadoop2.6.1),详细教程
1.我搭建的是三台centos7的环境 首先准备三个centos7(文中出现的所有的链接都是我自己的)
centos7下载地址(也可以上官网自行下载):https://pan.baidu.com/s/1Y_EVLDuLwpKv2hU3HSiPDA 提取码:05mi
2.安装完成后需要修改ip,都改为静态的ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33(有可能不是ifcfg-ens33,自行判断),以下是我的配置,你们可以参考下
需要修改的配置 : BOOTPROTO="dhcp"
修改为 BOOTPROTO="static"
需要添加的属性:
ONBOOT=yes #开机自动启用网络连接
IPADDR=192.168.111.10 # 静态ip地址
NETMASK=255.255.255.0 #设置子网掩码
GATEWAY=192.168.111.2 #设置网关 (网关查看步骤,vmware workstation==》编辑==》虚拟网络编辑器==》点VMnet8模式==》NAT设置==》网关IP)
DNS1=119.29.29.29 #设置主DNS
DNS2=210.2.4.8 #设置备DNS
三台虚拟机都需要配置 我的三台机器是
master:192.168.111.10 master
slave1:192.168.111.11 slave1
slave2:192.168.111.12 slave2
设置完毕重启网卡systemctl restart network
curl www.baidu.com 返回正常即可
3.修改hostname
https://www.cnblogs.com/zhangjiahao/p/10990093.html
4.安装java环境(jdk)
https://www.cnblogs.com/zhangjiahao/p/8551362.html
5.配置多个虚拟机互信(免密登录)
https://www.cnblogs.com/zhangjiahao/p/10989245.html
6.安装配置hadoop
(1)下载
链接:https://pan.baidu.com/s/1m0IXN1up0nk2rxDUMgEC-g
提取码:mhxa
(2)上传解压
rz 选择你的文件进行上传
tar -zxvf 刚才上传的包进行解压
(3)配置
打开hadoop下的etc/hadoop
修改slaves文件 将里面的localhost修改为slave1,slave2 (修改成你的子节点名称即可)
找到hadoop-env.sh和yarn-env.sh 在里面添加JAVA_HOME=/usr/local/src/java1.8.0_172(你的jdk安装路径)
编辑core-site.xml:
<configuration> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value>
<description>HDFS的URI</description> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/src/hadoop-2.6.1/tmp</value>
<description>节点上本地的hadoop临时文件夹</description> </property> </configuration>
编辑hdfs-site.xml:
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:9091</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/src/hadoop-2.6.1/dfs/name</value>
<description>namenode上存储hdfs名字空间元数据 </description> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/src/hadoop-2.6.1/dfs/data</value>
<description>datanode上数据块的物理存储位置</description> </property> <property> <name>dfs.replication</name> <value>1</value>
<description>副本个数,默认是3,应小于datanode机器数量</description> </property> </configuration>
输入 cp mapred-site.xml.template mapred-site.xml 将mapred-site.xml.template文件复制到当前目录,并重命名为mapred-site.xml
编辑mapred-site.xml:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value>
<description>指定mapreduce使用yarn框架</description> </property> </configuration>
编辑yarn-site.xml:
<!--hadoop2.6.1配置-->
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
<!--hadoop2.7.3配置-->
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
<description>指定resourcemanager所在的hostname</description>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>
NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序
</description>
</property>
</configuration>
7.将hadoop配置分发到各个节点
scp -r hadoop2.6.1 root@slave1:/usr/local/src
scp -r hadoop2.6.1 root@slave2:/usr/local/src
8.新增hadoop环境变量,将配置分发到各个节点
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.6.1/(你的hadoop路径)
export PATH=${HADOOP_HOME}/bin:$PATH
scp -r /etc/profile root@slave1:/etc
scp -r /etc/profile root@slave2:/etc
9.配置生效
10.在主节点初始化集群
cd/hadoop2.6.1/
./bin/hadoop namenode -format
11.启动集群(./start-all.sh也行)
./start-dfs.sh ./start-yarn.sh
12.输入jps命令查看集群是是否全部启动
13.验证是否成功
创建一个txt touch 1.txt
给1.txt输入字 echo 123456 > 1.txt
查看内容 cat 1.txt
上传1.txt: hadoop fs -put 1.txt /
hadoop fs -ls input / 如果显示如下就说明上传成功:
Found 1 items *****你的文件信息