Hadoop学习——Hadoop集群搭建笔记
来源:互联网 发布:天互数据备案 编辑:程序博客网 时间:2024/06/02 01:32
生而有涯而学无涯
最近使用VMWare搭建了一个虚拟的Hadoop集群环境,搭建的过程中参考了很多网上大神的资料,在这里记录下本人实践的全过程,用于以后的查询参考使用,参考的资料会在文末贴出对应的链接。
集群配置详情
其中,master为name node和job tracker结点,slaveN为data node和task tracker
集群机器安装步骤
1.配置虚拟网络
在这里主要是配置虚拟集群的网段及网关。
2.创建虚拟机
网上关于安装虚拟机的教程有很多,按照教程安装即可。我在安装的过程中选择内存1G,1个处理器,20G磁盘,NAT网络方式,使用root登录,没有创建其他用户。
3.配置网络
3.1关闭SELINUX:
vi /etc/selinux/configSELINUX=disabled:wq
3.2关闭防火墙:CentOS默认使用firewall作为防火墙。
systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动firewall-cmd --state #查看默认防火墙状态
3.3修改IP地址为静态地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33(ens33--是虚拟机上的网卡名称)
我的master机器上的配置如下,需要注意的是,HWADDR是网卡的MAC地址,DEVICE是网卡的名字,可以使用命令ip addr
查看具体信息。
3.4修改主机名称 vi /etc/sysconfig/network
3.5修改master机器上hosts映射 vi /etc/hosts
最后最重要的:service network restart
4.安装Xshell访问虚拟机
注意:目前已经把虚拟机的网络设置成了静态ip,除非再配置实现静态IP上网,否则是不能使用该配置的开发机访问网络的,因为后续还要在虚拟机上安装java,hadoop。不能访问网络也不能安装vim(Centos上默认安装的是Vi) ,也不能安装linux和windows互传文件的命令lrzsz。
在安装完Xshell后配置虚拟机的IP和用户名以及密码,就可以通过Xshell连接虚拟机。如果要实现windows和linux传输文件,Xshell中需要安装软件xftp。
传输文件的时候点击图片中的按钮,就可以拖动文件实现文件在windows和linux之间的传输了。
集群开发环境安装步骤
1.JDK环境安装
具体安装参考网络上的教程。
修改环境变量:
vi ~/.bash_profile 最后添加export JAVA_HOME=/usr/java/jdk1.8.0_144export PATH=$PATH:$JAVA_HOME/bin:wq
保存退出后,执行source ~/.bash_profile
使配置生效
2.HADOOP环境安装
本人选择安装的Hadoop版本为hadoop-2.6.5.tar.gz。
2.1 添加环境变量 vi /usr/hadoop-2.6.5/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_144
然后添加环境变量vi ~/.bash_profile
export JAVA_HOME=/usr/java/jdk1.8.0_144export HADOOP_HOME=/usr/hadoop-2.6.5export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
执行source ~/.bash_profile
使配置生效
2.2 Hadoop配置,配置文件目录:/usr/hadoop-2.6.5/etc/hadoop core-site.xml
<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!-- Put site-specific property overrides in this file. --><configuration> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property> <property> <name>Hadoop.tmp.dir</name> <value>/tmp/hadoop-root</value> </property></configuration>
hdfs-site.xml
<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!-- Put site-specific property overrides in this file. --><configuration> <property> <name>dfs.replication</name> <value>3</value> </property></configuration>
mapred-site.xml
<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!-- Put site-specific property overrides in this file. --><configuration> <property> <name>mapred.job.tracker</name> <value>master:9001</value> </property></configuration>
slaves
slave1slave2
3.复制虚拟机
使用VMWare中clone功能,复制出另外两台虚拟机,分别命名为slave1和slave2。因为clone出的虚拟机的网卡MAC地址已经改变,所以要分别在复制出的两台虚拟机中执行以下操作:
rm -f /etc/udev/rules.d/70-presistent-net.rulesrebootvi /etc/sysconfig/network-scripts/ifcfg-ens33,将其中的HWADDR修改为新虚拟机的MAC地址,将静态IP改为设置的IP地址:wq
4.设置SSH
开启三台虚拟机,登录到master中,执行如下的命令:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsacat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keysssh slave1 "mkdir ~/.ssh"scp ~/.ssh/id_dsa.pub slave1:~/.ssh/authorized_keysssh slave2 "mkdir ~/.ssh"scp ~/.ssh/id_dsa.pub slave2:~/.ssh/authorized_keys
中间需要输入用户的密码
然后分别执行下列命令,不用输入密码就表示成功了。
ssh localhostssh slave1ssh slave2
5.启动Hadoop
执行HDFS格式化命令:hadoop namenode-format
在master虚拟机中:/usr/hadoop-2.6.5/sbin目录,执行./start-all.sh
然后在宿主机中打开浏览器,指向192.168.224.100:50070,就可以查看HDFS的信息。
6.在HDFS中建文件夹
(我搭建的Hadoop集群上HDFS默认的文件更目录是 /)
新建文件夹:hdfs dfs -mkdir /hdfs_in(“/”后边的文件目录名称根据自己需要定义)
查看HDFS的文件目录:hdfs dfs -ls /
拷贝本地文件到HDFS文件系统:hdfs dfs -copyFromLocal 本地文件目录 HDFS文件目录
eg:hdfs dfs -copyFromLocal /usr/local/hadoop/data /hdfs_in
7.在Hadoop上运行使用python实现的mapreduce任务
bin/hadoop jar ./share/hadoop/tools/lib/hadoop-streaming-2.6.5.jar -mapper /usr/local/hadoop/mapper.py -reducer /usr/local/hadoop/reducer.py -input /hdfs_in/data -output /hdfs_out
参考:http://blog.csdn.net/dyllove98/article/details/9228673
- Hadoop学习——Hadoop集群搭建笔记
- 搭建hadoop集群笔记
- hadoop集群搭建笔记
- hadoop集群搭建-笔记
- Hadoop集群搭建笔记
- hadoop集群搭建——hadoop安装
- hadoop学习笔记:从零开始搭建hadoop集群(完全分布式)
- Hadoop之——HBase集群搭建笔记(补充)
- hadoop集群环境搭建笔记
- hadoop集群环境搭建笔记
- hadoop分布式集群搭建笔记
- 【笔记】Hadoop-HA集群搭建
- Hadoop集群环境搭建笔记
- Hadoop学习---第一篇搭建Hadoop集群
- hadoop集群搭建(hadoop)
- HADOOP: 搭建hadoop集群
- Hadoop环境搭建——集群篇
- Hadoop环境搭建——集群篇
- CentOS7.x上怎么安装iptables
- HUD2602 Bone Collector(01背包)
- JavaSE-P6随机数,集合,String,StringBuffer
- 单利模式的设计及详细说明
- 网络七层协议
- Hadoop学习——Hadoop集群搭建笔记
- 购物车功能【CI实现】
- python数据挖掘02--pandas基础
- python批量命名文件
- 艾伦图灵——计算机科学之父
- 智能小车46:最小系统Atmega328p的中断实验
- while循环语句的使用
- 网络工程之IP地址,子网掩码,默认网关,DNS服务器形象解释
- LeetCode-Integer to Roman