hadoop2.6.4文档
- 格式:docx
- 大小:25.79 KB
- 文档页数:8
一、服务器版本查看cat /etc/redhat-release二、新建目录:mkdir -p /softwares上传hadoop-2.6.0.tar.gz三、解压cd /softwarestar zxvf hadoop-2.6.0.tar.gz四、设置环境变量分别修改主机名称vim /etc/hostname(修改主机名)修改host名称vim /etc/hosts192.168.18.202 Master.Hadoop192.168.18.203 Slave1.Hadoop192.168.18.208 Slave2.Hadoop192.168.18.202 192.168.18.203 192.168.18.208 五、设置免密登录创建hadoop用户【在master\slave1\slave2上】# useradd hadoop --创建用户名为hadoop的用户# passwd hadoop --为用户hadoop设置密码# su - hadoop --切换到root用户# cd ~ --打开用户文件夹# ssh-keygen -t rsa -P '' --生成密码对,/home/hadoop/.ssh/id_rsa和/home/hadoop/.ssh/ id_rsa.pub# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys --把id_rsa.pub追加到授权的k ey里面去# chmod 600 ~/.ssh/authorized_keys --修改权限# chmod 700 ~/.ssh# su hadoop --切换到hadoop用户# scp ~/.ssh/id_rsa.pub hadoop@192.168.18.203:~/.ssh/master# scp ~/.ssh/id_rsa.pub hadoop@192.168.18.208:~/.ssh/master# su hadoop --切换到hadoop用户# scp ~/.ssh/id_rsa.pub hadoop@192.168.18.202:~/.ssh/slave1# su hadoop --切换到hadoop用户# scp ~/.ssh/id_rsa.pub hadoop@192.168.18.202:~/.ssh/slave2# su root --切换到root用户# vim /etc/ssh/sshd_config --修改ssh配置文件RSAAuthentication yes #启用RSA认证PubkeyAuthentication yes #启用公钥私钥配对认证方式AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径# systemctl restart sshd.service ---重启 sshd 服务在slave1、slave2上# su hadoop --切换到hadoop用户# cat ~/.ssh/master >> ~/.ssh/authorized_keys在master上# su hadoop --切换到hadoop用户# cat ~/.ssh/slave1 >> ~/.ssh/authorized_keys# cat ~/.ssh/slave2 >> ~/.ssh/authorized_keys重启sshd 服务:systemctl restart sshd.service验证无密码登陆,在slave1和slave2上# su hadoop --切换到hadoop用户# ssh Master.Hadoop验证无密码登陆,在master上# su - hadoop# ssh Slave1.Hadoop# ssh Slave2.Hadoop六、修改hadoop文件mkdir -p /softwares/hadoop/tmpcd /softwares/hadoop-2.6.0/etc/hadoopvim core-site.xml<property><name>hadoop.tmp.dir</name><value>/softwares/hadoop/tmp</value><description>Abase for other temporary directories.</description> </property><property><name>fs.defaultFS</name><value>hdfs://Master.Hadoop:9000</value></property><property><name>io.file.buffer.size</name><value>4096</value></property>vim hadoop-env.sh和yarn-env.sh在开头添加如下环境变量cd /softwares/hadoop-2.6.0/etc/hadoopvim hadoop-env.shvim yarn-env.shexport JAVA_HOME=/usr/local/java/jdk1.8.0_112mkdir -p /softwares/hadoop/dfs/namemkdir -p /softwares/hadoop/dfs/datamkdir -p /softwares/hadoop/dfs/name/currentcd /softwares/hadoop-2.6.0/etc/hadoopvim hdfs-site.xml<property><name>.dir</name><value>file:///softwares/hadoop/dfs/name</value> </property><property><name>dfs.datanode.data.dir</name><value>file:///softwares/hadoop/dfs/data</value> </property><property><name>dfs.replication</name><value>2</value></property><property><name>services</name><value>Master.Hadoop:9000</value></property><property><name>node.secondary.http-address</name> <value>Master.Hadoop:50090</value></property><property><name>dfs.webhdfs.enabled</name><value>true</value></property>cd /softwares/hadoop-2.6.0/etc/hadoopcp mapred-site.xml.template mapred-site.xmlvim mapred-site.xml<property><name></name><value>yarn</value><final>true</final></property><property><name>mapreduce.jobtracker.http.address</name><value>Master.Hadoop:50030</value></property><property><name>mapreduce.jobhistory.address</name><value>Master.Hadoop:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name> <value>Master.Hadoop:19888</value></property><property><name>mapred.job.tracker</name><value>http://Master.Hadoop:9001</value></property>cd /softwares/hadoop-2.6.0/etc/hadoopvim yarn-site.xml<property><name>yarn.resourcemanager.hostname</name><value>Master.Hadoop</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.address</name><value>Master.Hadoop:8042</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>Master.Hadoop:8040</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name> <value>Master.Hadoop:8041</value></property><property><name>yarn.resourcemanager.admin.address</name><value>Master.Hadoop:8043</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>Master.Hadoop:8048</value></property>配置Hadoop的集群cd /softwares/hadoop-2.6.0/etc/hadoopvim slavesSlave1.HadoopSlave2.Hadoop在master上把hadoop 目录的权限交给hadoopsu - rootchown -R hadoop:hadoop /softwares/hadoop-2.6.0chown -R hadoop:hadoop/softwares/hadoop将hadoop-2.6.0整个的copy到另外两台机器上面scp -r /softwares/hadoop-2.6.0 192.168.18.203:/softwares/ scp -r /softwares/hadoop 192.168.18.203:/softwares/scp -r /softwares/hadoop-2.6.0 192.168.18.208:/softwares/ scp -r /softwares/hadoop 192.168.18.208:/softwares/在slave1和slave2上把hadoop 目录的权限交给hadoopchown -R hadoop:hadoop /softwares/hadoop-2.6.0chown -R hadoop:hadoop /softwares/hadoop在master上格式化HDFS 系统su - hadoopcd /softwares/hadoop-2.6.0/bin./hadoop namenode -format启动整个Hadoop集群及其验证在master上su - hadoopcd /softwares/hadoop-2.6.0/sbin./start-dfs.sh./start-yarn.sh或者用下面的./start-all.sh(./stop-all.sh)使用java 的jps 小工具可以看到ResourceManager , NameNode 都启动了:master上【ResourceManager、NameNode】slave1上【DataNode、NodeManager】slave2上【DataNode、NodeManager】如果都运行了,就可以用浏览器查看了http://192.168.18.202:8048/cluster/nodes用./bin/hdfs dfsadmin -report查看状态cd /softwares/hadoop-2.6.0/bin./hdfs dfsadmin -report在系统中使用下面的命令可以看到hadoop 使用的端口:netstat -tnulp | grep java概念说明NamenodeNamenode 管理文件系统的Namespace。
Hadoop大数据技术与应用(含实验)教学大纲前言一、大纲编写依据《Hadoop大数据技术与应用》是数据科学、大数据方向本科生的一门必修课。
通过该课程的学习,使学生系统的学习当前广泛使用的大数据Hadoop平台及其主要组件的作用及使用。
课程由理论及实践两部分组成,课程理论部分的内容以介绍Hadoop平台主要组件的作用、结构、工作流程为主,让学生对Hadoop平台组件的作用及其工作原理有比较深入的了解;课程同时为各组件设计有若干实验,帮助学生在学习理论知识的同时,提高学生的实践能力,系统的掌握Hadoop主要组件的原理及应用,为其他相关课程的学习提供必要的帮助。
二、课程目的1、知识目标学习Hadoop平台框架,学会手动搭建Hadoop环境,掌握Hadoop平台上存储及计算的原理、结构、工作流程,掌握基础的MapReduce编程,掌握Hadoop生态圈常用组件的作用、结构、配置和工作流程,并具备一定的动手及问题分析能力,使用掌握的知识应用到实际的项目实践中。
2、能力目标(1) 工程师思维方式通过本课程的学习,引导学生养成工程师逻辑思维、系统思维的思维方式及习惯。
(2) 分析及解决问题的能力课程中实验由浅及深,有一定的步骤及难度,操作不当可能会遇到问题;遇到问题时老师会给出引导,但不会直接告诉解决方法,因此,如何分析、分析完成后实施具体的解决步骤,都需要学生摸索完成,在这个摸索实践过程中,学生的分析及解决问题的能力得到培养。
三、教学方法1、课堂教学(1) 讲授本课程的理论教学内容以讲授为主、辅以操作演示,讲授的主要内容有:Hadoop概述,Hadoop安装部署,分布式文件系统HDFS,分布式计算MapReduce,资源管理调度组件YARN,列式存储HBase,数据仓库组件Hive,数据分析引擎Pig,日志采集组件Flume等。
根据教学大纲的要求,突出重点和难点。
(2) 教师指导下的学生自学实践课程由若干实验组成,每个实验都包含实验目的、实验原理、实验环境等,需要学生结合理论知识,充分发挥自主学习的能力来完成实验,老师在这个过程中更多起到辅导的作用。
Hadoop培训技术分享 Hadoop-2.6.4完全分布式搭建_光环大数据培训资源准备准备4台Linux 服务器要求:glibc 版本>= 2.14192.168.9.1192.168.9.2192.168.9.3192.168.9.4下载:hadoop-2.6.4服务器配置4台服务器分别创建用户hadoop[email protected]# useradd hadoop[email protected]# echo 'hadoop' | passwd --stdin hadoop4台服务器分别配置hosts[email protected]# vi /etc/hosts添加内容如下:192.168.9.1 master192.168.9.2 secmaster192.168.9.3 slave0192.168.9.4 slave1master 主机免密码登陆其他主机配置在各个主机上生成SSH 密钥[email protected]$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa在master 主机上copy公钥[email protected]$ ssh-copy-id -i secmaster 输入密码:hadoop即copy公钥成功[email protected]$ ssh-copy-id -i slave0 输入密码:hadoop即copy公钥成功[email protected]$ ssh-copy-id -i slave1 输入密码:hadoop即copy公钥成功测试ssh免登陆在192.168.9.1主机上执行如下命令确保master 可以实现对其他主机的免密码登陆,首次执行需要输入"yes" 确认[email protected]$ ssh secmaster[email protected]$ ssh slave0[email protected]$ ssh slave1hadoop自身配置在master(192.168.9.1) 主机上解压hadoop-2.6.4.tar.gz[email protected]$ tar xvf hadoop-2.6.4.tar.gz配置etc/hadoop/core-site.xml<configuration> <property> <name></name> <value>hdfs://master:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/tmp</value> </property> <property> <name>hadoop.proxyuser.u0.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.u0.groups</name> <value>*</value> </property></configuration>配置etc/hadoop/hdfs-site.xml<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>node.secondary.http-address</name> <value>secmaster:9001</value> </property> <property> <name>.dir</name> <value>file:/home/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/dfs/data</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value></property></configuration>配置etc/hadoop/mapred-site.xml<configuration> <property> <name></name> <value>yarn</value> </property> <property><name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property></configuration>配置etc/hadoop/yarn-site.xml<configuration><!-- Site specific YARN configuration properties --> <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>Master向各个节点同步配置完毕后的hadoop 工程[email protected]$ scp -r /home/hadoop/hadoop-2.6.4 [email protected]:/home/hadoop[email protected]$ scp -r /home/hadoop/hadoop-2.6.4 [email protected]:/home/hadoop[email protected]$ scp -r /home/hadoop/hadoop-2.6.4 [email protected]:/home/hadoop 格式化namenode,启动hadoop 所有组件[[email protected]]$ bin/hadoop namenode -format[[email protected]]$ sbin/start-all.sh如果不出意外完全分布式的hadoop cluster 已经运行起来了^_^为什么大家选择光环大数据!大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。
Hadoop 学习(⼆)Hadoop 配置⽂件参数详解Hadoop 运⾏模式分为安全模式和⾮安全模式,在这⾥,我将讲述⾮安全模式下,主要配置⽂件的重要参数功能及作⽤,本⽂所使⽤的Hadoop 版本为2.6.4。
etc/hadoop/core-site.xml范例:1 <configuration >2 <property >3 <name >fs.defaultFS </name >4 <value >hdfs://192.168.1.100:900</value >5 <description >192.168.1.100为服务器IP 地址,其实也可以使⽤主机名</description >6 </property >7 <property >8 <name >io.file.buffer.size </name > 9 <value >131072</value >10 <description >该属性值单位为KB ,131072KB 即为默认的64M </description >11 </property >12 </configuration > etc/hadoop/hdfs-site.xml配置NameNode范例:1 <configuration >2 <property >3 <name >dfs.replication </name >4 <value >1</value >5 <description >分⽚数量,伪分布式将其配置成1即可</description >6 </property >7 <property >8 <name >.dir </name >9 <value >file:/usr/local/hadoop/tmp/namenode </value >10 <description >命名空间和事务在本地⽂件系统永久存储的路径</description >11 </property >12 <property >13 <name >node.hosts </name >14 <value >datanode1, datanode2</value >15 <description >datanode1, datanode2分别对应DataNode 所在服务器主机名</description >16 </property >17 <property >18 <name >dfs.blocksize </name >19 <value >268435456</value >20 <description >⼤⽂件系统HDFS 块⼤⼩为256M ,默认值为64M </description >21 </property >22 <property >23 <name >node.handler.count </name >24 <value >100</value >25 <description >更多的NameNode 服务器线程处理来⾃DataNodes 的RPCS </description >26 </property >27 </configuration >配置DataNode参数属性值解释fs.defaultFS NameNode URI hdfs://host:port/io.file.buffer.size 131072SequenceFiles ⽂件中.读写缓存size 设定参数属性值解释.dir 在本地⽂件系统所在的NameNode 的存储空间和持续化处理⽇志如果这是⼀个以逗号分隔的⽬录列表,然 后将名称表被复制的所有⽬录,以备不时 需。
系统准备Hadoop完全分布式安装,服务器最好都是基数,我用了三台虚拟机。
hadoop2.6.0完全分布式masterhadoop2.6.0完全分布式salves01hadoop2.6.0完全分布式salves02系统环境设置修改虚拟机的主机名称代码如下:1、修改第一台虚拟机vim /etc/sysconfig/networkNETWORKING=yesHOSTNAME=masterGAREWAY=192.168.83.22、修改第一台虚拟机vim /etc/sysconfig/networkNETWORKING=yesHOSTNAME=salves01GAREWAY=192.168.83.23、修改第一台虚拟机vim /etc/sysconfig/networkNETWORKING=yesHOSTNAME=salves02GAREWAY=192.168.83.2配置IP地址1、修改第一台服务器vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0#HWADDR=00:0C:29:8C:FB:39TYPE=EthernetUUID=92d31d5c-369a-4e3d-8fbc-140ef4ff3ec3 ONBOOT=yes //虚拟机启动时就启动网络NM_CONTROLLED=yesBOOTPROTO=staticIPADDR=192.168.83.100GATEWAY=192.168.83.2NETMASK=255.255.255.0DNS1=192.168.83.22、修改第二台服务器vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0#HWADDR=00:0C:29:8C:FB:39TYPE=EthernetUUID=92d31d5c-369a-4e3d-8fbc-140ef4ff3ec3 ONBOOT=yes //虚拟机启动时就启动网络NM_CONTROLLED=yesBOOTPROTO=staticIPADDR=192.168.83.101GATEWAY=192.168.83.2NETMASK=255.255.255.0DNS1=192.168.83.23、修改第三台服务器vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0#HWADDR=00:0C:29:8C:FB:39TYPE=EthernetUUID=92d31d5c-369a-4e3d-8fbc-140ef4ff3ec3 ONBOOT=yes //虚拟机启动时就启动网络NM_CONTROLLED=yesBOOTPROTO=staticIPADDR=192.168.83.102GATEWAY=192.168.83.2NETMASK=255.255.255.0DNS1=192.168.83.2service network restart //使配置的ip起作用修改主机名和IP的映射关系以及其他虚拟机的关系(hosts)vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.83.100 master192.168.83.101 salves01192.168.83.102 salves02三台虚拟机都需要配置,三台虚拟机的hosts一样关闭防火墙三台虚拟机都需要关闭防火墙重启系统安装jdk准备jdk在网上下载64位的jdk,下载好了之后上传到虚拟机中在Ubuntu下切换到root用户解压jdk(jdk-7u55-linux-x64.tar.gz)代码如下:配置坏境变量代码如下:重启/etc/profile代码如下:查看是否配置成功(jdk的版本) java –version统默认自己配置的jdk代码如下:配置ssh免密码登录代码如下:ssh-keygen -t rsa//创建keycat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys//把key写在authorized_keys中ll ~/.ssh/authorized_keys//查看是否有这个文件chmod 600 authorized_keys//给这个文件赋予权限ssh localhost //执行切换,看是否是免密码登录把三台服务器中的id_rsa.pub(key),分别加入三台服务器中的authorized_keys文件中,打通三台服务器免密码登录。
Hadoop2.6.0安装----环境准备准备工作:1、笔记本4G内存,操作系统WIN7 (屌丝的配置)2、工具VMware Workstation3、虚拟机:CentOS6.4共四台虚拟机设置:每台机器:内存512M,硬盘40G,网络适配器:NAT模式选择高级,新生成虚机Mac地址(克隆虚拟机,Mac地址不会改变,每次最后手动重新生成)编辑虚拟机网络:点击NAT设置,查看虚机网关IP,并记住它,该IP在虚机的网络设置中非常重要。
NAT设置默认IP会自动生成,但是我们的集群中IP需要手动设置。
本机Win7 :VMnet8 网络设置注意:克隆的虚拟机网卡MAC地址已经改变,但是文件里面没有修改,我们启动网络服务会遇到下面错误:Bringing up interface eth0: Error: No suitable device found: no device found for cone解决办法:# vi /etc/udev/rules.d/70-persistent-net.rules(内容如下图)查看ifcfg-eth0 中的“HWADDR ”是否和第一个网卡启动信息中的ATTR{address}值相同,如果两个值相同则删除eth0中的所有内容在eth1中进行相关IP配置安装JDK72.1下载JDK安装包安装版本:jdk-7u60-linux-x64.gz查看最新:/technetwork/java/javase/downloads/ind ex.html2.2解压安装我们把JDK安装到这个路径:/usr/lib/jvm如果没有这个目录,我们就新建一个目录cd /usr/libsudomkdirjvm将jdk-7u60-linux-x64.tar.gz复制到linux桌面tarzxvf jdk-7u60-linux-x64.tar.gz -C /usr/lib/jvm2.3配置环境变量(1)只对当前用户生效vim ~/.bashrcexport JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH保存退出,然后输入下面的命令来使之生效source ~/.bashrc(2)对所有用户生效(root用户登录)vim /etc/profileexport JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH保存退出,然后输入下面的命令来使之生效source /etc/profile2.4配置默认JDK(一般情况下这一步都可以省略)由于一些Linux的发行版中已经存在默认的JDK,如OpenJDK等。
Win7+Eclipse+Hadoop2.6.4开发环境搭建Hadoop开发环境搭建⼀、软件准备JDK:jdk-7u80-windows-x64.exeEclipse:eclipse-jee-mars-2-win32-x86_64.zipHadoop:hadoop-2.6.4.tar.gzHadoop-Src:hadoop-2.6.4-src.tar.gzAnt:apache-ant-1.9.6-bin.zipHadoop-Common:hadoop2.6(x64)V0.2.zip (2.4以后)、(hadoop-common-2.2.0-bin-master.zip)Hadoop-eclipse-plugin:hadoop-eclipse-plugin-2.6.0.jar⼆、搭建环境1. 安装JDK执⾏“jdk-7u80-windows-x64.exe”,步骤选择默认下⼀步即可。
2. 配置JDK、Ant、Hadoop环境变量解压hadoop-2.6.4.tar.gz、apache-ant-1.9.6-bin.zip、hadoop2.6(x64)V0.2.zip、hadoop-2.6.4-src.tar.gz到本地磁盘,位置任意。
配置系统环境变量JAVA_HOME、ANT_HOME、HADOOP_HOME,并将这些环境变量的bin⼦⽬录配置到path变量中。
将hadoop2.6(x64)V0.2下的hadoop.dll和winutils.exe复制到HADOOP_HOME/bin⽬录下。
3. 配置Eclipse将hadoop-eclipse-plugin-2.6.0.jar复制到eclilpse的plugins⽬录下。
启动eclipse,并设置好workspace。
插件安装成功的话,启动之后可以看到如下内容:4. 配置hadoop打开“window”-“Preferenes”-“Hadoop Mep/Reduce”,配置到Hadoop_Home⽬录。
ssh连接免密码配置由于配置过程中需要频繁的进行ssh连接到开发服务器执行命令以及通过scp命令向服务器拷贝文件等依赖ssh连接的操作。
所以,配置本地环境跟服务器之间的ssh免密码连接可以有效的提升工作效率。
由于我本机已经生成过公钥,所以我只需将已有的公钥拷贝到服务器即可。
推荐使用ssh-copy-id命令,简单又不会出错。
手动copy 再append的公钥文件尾,容易因为操作问题,造成无法正确识别公钥。
注:如果你没有生成过公钥,可通过ssh-keygen命令生成公钥。
走默认配置即可。
在我的mac上,居然还没有安装ssh-copy-id命令。
通过brew 命令安装即可。
brew install ssh-copy-id然后copy公钥到指定主机ssh-copy-id root@172.20.2.14其中,root@172.20.2.14改为你需要访问的服务器的用户名@IP。
根据提示输入一次密码。
成功后,所有基于ssh的命令你只需要通过用户名@IP 即可直接访问服务器。
新用户、用户组创建为了更好的权限控制,养成良好的Linux使用习惯,我们首先创建一个管理和使用hadoop 集群的用户(组)dps-hadoop。
这也是hadoop集群管理所需要的环境配置。
groupadd dps-hadoopuseradd -d /home/dps-hadoop -g dps-hadoop dps-hadoop考虑到难免需要使用sudo提权的情况,给该用户配置到sudo名单下, 修改/etc/sudoers文件。
vim /etc/sudoers新增一行记录:dps-hadoop ALL=(ALL) ALL此后,我们均使用dps-hadoop用户进行操作。
配置本地DNS服务器之前我介绍了如何用Docker搭建本地的DNS服务器,这里终于派上用处。
如果你没有本地DNS服务器,那么你修改/etc/hosts文件也可以。
对于CentOS,临时生效的配置文件在/etc/resolv.conf你可以看到该文件开头提示你,该文件是自动生成的。
Hadoop集群安装1.配置服务器1个主节点:master(192.168.15.128),2个(从)子节点,slaver1(192.168.15.129),slaver2(192.168.15.130)配置主节点名(192.168.15.128)vi /etc/sysconfig/network添加内容:NETWORKING=yesHOSTNAME=master配置两台子节点名(192.168.15.129)和(192.168.15.130)vi /etc/sysconfig/network添加内容:NETWORKING=yesHOSTNAME=slaver1vi /etc/sysconfig/network添加内容:NETWORKING=yesHOSTNAME=slaver2配置hosts打开主节点的hosts文件,要将文件的前两行注释掉(注释当前主机的信息)并在文件中添加所有hadoop集群的主机信息。
vi /etc/hosts192.168.15.128master192.168.15.129 slaver1192.168.15.130 slaver2保存之后,将主节点的hosts分别拷贝到其他两个子节点scp /etc/hosts root@192.168.15.129:/etc/scp /etc/hosts root@192.168.15.130:/etc/然后分别执行(重启服务器也可以不执行下面的语句): /bin/hostsnamehostsname例如:master上执行/bin/hostsname master,使之生效。
2.配置ssh无密码访问生成公钥密钥对在每个节点上分别执行:ssh-keygen -t rsa一直按回车直到生成结束执行结束之后每个节点上的/root/.ssh/目录下生成了两个文件id_rsa和id_rsa.pub其中前者为私钥,后者为公钥在主节点上执行:cp id_rsa.pub authorized_keys将子节点的公钥拷贝到主节点并添加进authorized_keys将两个子节点的公钥拷贝到主节点上,分别在两个子节点上执行:scp~/.ssh/ id_rsa.pub root@master:/~/.ssh/id_rsa_slaver1.pubscp~/.ssh/ id_rsa.pub root@master:/~/.ssh/id_rsa_slaver2.pub然后在主节点上,将拷贝过来的两个公钥合并到authorized_keys文件中去主节点上执行:catid_rsa_slaver1.pub>>authorized_keyscatid_rsa_slaver2.pub>>authorized_keys最后测试是否配置成功在master上分别执行ssh slaver1ssh slaver2能正确跳转到两台子节点的操作界面即可,同样在每个子节点通过相同的方式登录主节点和其他子节点也能无密码正常登录就表示配置成功。
这里的配置方式可以有多种操作步骤,最终目的是每个节点上的/root/.ssh/authorized_keys 文件中都包含所有的节点生成的公钥内容。
将主节点的authorized_keys文件分别替换子节点的authorized_keys文件主节点上用scp命令将authorized_keys文件拷贝到子节点的相应位置scpauthorized_keys root@slaver1:/root/.ssh/scpauthorized_keys root@slaver2:/root/.ssh/3.安装jdk卸载jdk查看系统已经装的jdk:rpm -qa|grepjdk卸载jdk:rpm -e --nodeps java-1.6.0-openjdk-javadoc-1.6.0.0-1.66.1.13.0.el6.x86_64 安装JDK(三台机器都要安装)安装在同一位置/opt/java/jdk1.7.0_72下载JDK解压JDK :tar -zxvf /opt/java/jdk-7u72-linux-x64.gz配置环境变量,编辑profile文件:vi /etc/profile在profile文件末尾添加以下代码:export JAVA_HOME=/opt/java/jdk1.7.0_72export JRE_HOME=$JAVA_HOME/jreexport PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib保存后,使刚才编辑的文件生效:source /etc/profile测试是否安装成功:java –version4.安装hadoop在master主机上安装hadoop安装位置自定,例如安装在/usr目录下面下载hadoop包,放在/usr目录下,解压hadooptar -zxvf /opt/hadoop/hadoop-2.6.4.tar.gz在usr下面生成hadoop-2.6.4目录配置环境变量:vi /etc/profile在末尾添加:export HADOOP_HOME=/usr/ hadoop-2.6.4export PATH=$PATH:$HADOOP_HOME/bin保存后使新编辑的profile生效:source /etc/profile5.配置hadoop配置hadoop配置文件需要配置的文件的位置为/hadoop-2.6.4/etc/hadoop,需要修改的有以下几个hadoop-env.shyarn-env.shcore-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xmlslaves其中hadoop-env.sh和yarn-env.sh里面都要添加jdk的环境变量:hadoop-env.sh中# The java implementation to use.export JAVA_HOME=/opt/java/jdk1.7.0_72(红色为新添加的内容,其他的代码是文件中原有的)# Thejsvc implementation to use. Jsvc is required to run secure datanodes# that bind to privileged ports to provide authentication of data transfer# protocol. Jsvc is not required if SASL is configured for authentication of# data transfer protocol using non-privileged ports.#export JSVC_HOME=${JSVC_HOME}yarn-env.sh中# User for YARN daemonsexport HADOOP_YARN_USER=${HADOOP_YARN_USER:-yarn}# resolve links - $0 may be a softlinkexport YARN_CONF_DIR="${YARN_CONF_DIR:-$HADOOP_YARN_HOME/conf}"# some Java parametersexport JAVA_HOME=/opt/java/jdk1.7.0_72(红色为新添加的内容,其他的代码是文件中原有的)core-site.xml中<configuration><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><property><name>io.file.buffer.size</name><value>131072</value></property><property><name>hadoop.tmp.dir</name><value>file:/usr/temp</value></property><property><name>hadoop.proxyuser.root.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.root.groups</name><value>*</value></property></configuration>hdfs-site.xml中<configuration><property><name>node.secondary.http-address</name> <value>master:9001</value></property><property><name>.dir</name><value>file:/usr/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/dfs/data</value></property><property><name>dfs.replication</name><value>2</value><property><name>dfs.webhdfs.enabled</name><value>true</value></property><property><name>dfs.permissions</name><value>false</value></property><property><name>dfs.web.ugi</name><value>supergroup</value></property></configuration>mapred-site.xml中<configuration><property><name></name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>master:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>master:19888</value></property></configuration>yarn-site.xml中<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><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>slaves中slaver1slaver2拷贝hadoop安装文件到子节点主节点上执行:scp -r /usr/hadoop-2.6.4 root@slaver1:/usrscp -r /usr/hadoop-2.6.4 root@slaver2:/usr拷贝profile到子节点主节点上执行:scp /etc/profile root@slaver1:/etc/scp /etc/profile root@slaver2:/etc/在两个子节点上分别使新的profile生效:source /etc/profile格式化主节点的namenode主节点上进入hadoop目录然后执行:./bin/hadoopnamenode–format新版本用下面的语句不用hadoop命令了./bin/hdfsnamenode–format提示:successfully formatted表示格式化成功启动hadoop主节点上在hadoop目录下执行:./sbin/start-all.sh主节点上jps进程有:NameNodeSecondaryNameNodeResourceManager每个子节点上的jps进程有:DataNodeNodeManager如果这样表示hadoop集群配置成功。