1、 version 三、安装过程提示:先创建一台虚拟机,安装好centos7系统,使用VMware 的克隆功能,克隆另外两台虚拟机。这样可以节省时间。虚拟机设置当三台虚拟机安装好之后,获得它们的IP地址,并设置主机名,(根据实际IP地址和主机名)修改/etc/hosts文件内容为: 1、vi /etc/hosts命令修改,然后保存(vi的相关命令见引用来源16)2、more /etc/hosts查看3、重启后,hosts生效。命令: reboot now SSH免密码登录我全程用的都是root用户,没有另外创建用户。每台服务器都生成公钥,再合并到authorized_keys。1) CentOS
2、默认没有启动ssh无密登录,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置,2) #RSAAuthentication yes3) #PubkeyAuthentication yes4) 输入命令,ssh-keygen -t rsa,生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置,5) 合并公钥到authorized_keys文件,在master服务器,进入/root/.ssh目录,通过SSH命令合并,(/.ssh/ 是省略的写法,要根据实际路径来确定)6) cat authorized_keys7) ssh cat /
3、.ssh/ 8) ssh. cat /.ssh/ 9) 把master服务器的authorized_keys、known_hosts复制到slave服务器的/root/.ssh目录scp -r /root/.ssh/authorized_keys:/root/.ssh/ scp -r /root/.ssh/known_hosts:/root/.ssh/10) 完成后,ssh、ssh或者(ssh、ssh ) 就不需要输入密码直接登录到其他节点上。 Secure CRT连接虚拟机1、在VMware中把三台虚拟机启动,如下图所示:2、打开SecureCRT,在一个session里连接三台虚拟机,就可
4、以登录实现操作。Fiel-Quick ConnectionProtocol:ssh2 前提条件是在中实现了ssh免密码登录Hostname: 连接的主机名Username: root 连接主机的用户名Connect 依次连接好三台虚拟机3、结果如下:4、上传windows系统中的文件到虚拟机中定位到要上传文件的目录下,输入命令:rz,回车后,弹出文件选择窗口,选择文件,点击add,再OK。文件就上传到当前服务器的当前目录下。rz命令如果没有安装,使用这个命令安装:yuminstalllrzsz 安装JDK需要JDK7,由于我的CentOS自带了OpenJDK,所以要先卸载,然后解压下载的JDK
5、并配置变量即可。1) 在/home目录下创建java目录,然后使用rz命令,上传“”到/home/java目录下,2) 解压,输入命令,tar -zxvf 3) 编辑/etc/profileexport JAVA_HOME=/home/java/ CLASSPATH=.:$JAVA_HOME/jre/lib/:$JAVA_HOME/lib/:$JAVA_HOME/lib/export PATH=$PATH:$JAVA_HOME/bin4) 使配置生效,输入命令,source /etc/profile5) 输入命令,java -version,完成 安装 提要1) secureCRT 上传“,放
6、到/home/hadoop目录下2) 只在master服务器解压,再复制到slave服务器(scp命令传输)3) 解压,输入命令,tar -xzvf 在/home/hadoop目录下创建数据存放的文件夹,tmp、dfs、dfs/data、dfs/name(文件中会用到) 配置文件1、/home/hadoop/目录下的 propertynamevalue/property /home/hadoop/tmp 1317022、 配置/home/hadoop/目录下的/name1:50090true3、配置/home/hadoop/目录下的yarn/final50030100201988890014、
7、配置/home/hadoop/目录下的mapreduce_shuffle803280308031803380882048的值一定要注意,在最后的hello world程序运行时,会提示内存太小,(hadoop运行到: Running job后停止运行 )我把它从1024改成了20485、配置/home/hadoop/目录下、的JAVA_HOME取消注释,设置为export JAVA_HOME=/home/java/、 配置/home/hadoop/目录下的slaves,删除默认的localhost,增加2个slave节点:7、将master服务器上配置好的Hadoop复制到各个节点对应位置上,
8、通过scp传送scp -r /home/hadoop scp -r /home/hadoop 启动hadoop在master服务器启动hadoop,各从节点会自动启动,进入/home/hadoop/目录,hadoop的启动和停止都在master服务器上执行。1) 初始化,在目录下输入命令,bin/hdfs namenode format2) 启动命令sbin/3) 输入命令,jps,可以看到相关信息master上看到slave上4) 停止命令,依次执行:sbin/、sbin/至此,hadoop配置完成了。四、Hadoop入门之HelloWorld程序摘要:初步接触Hadoop,必不可少的就是运
9、行属于Hadoop的Helloworld程序wordcount,统计文件中各单词的数目。安装好的Hadoop集群上已有相应的程序。我们来验证一下。 准备数据 在/home/hadoop下创建file文件夹,里面生成,四个文件 然后把数据put到HDFS里 进入所在文件夹,使用pwd输出当前目录的路径 在/home/hadoop/目录下执行命令:bin/hadoop jar share/hadoop/mapreduce/ wordcount /input /output2INFO : Job job_0001 completed successfully意味着运行成功,否则就要根据出错信息或者日
10、志排错。其中,/output2是执行结果输出目录(因为之前已经存在了output文件夹了),到此,HelloWorld就顺利执行了,你可以用hadoop fs -cat /output2/part-r-* 命令来查看结果. 结果如下:查看之前的文件内容,对比上图的结果。五、引用来源从安装到配置再到成功运行hadoop的wordcount程序,借鉴了来自以下网页中的智慧,根据实际情况稍做修改。在此表示感谢!1、CentOS7安装完整流程 - OPEN 开发经验库、CentOS 下SSH远程登录服务器详解、ssh连接失败,排错经验、CentOS7安装完整步骤、CentOS上JDK的安装与环境变量的
11、配置、分布式安装HADOOP 笔记、hadoop自带例子程序wordcount详解、CentOS7中安装,能够正常启动,但datanode的数目为0的解决方法、集群配置虚拟主机及部署Hadoop集群碰到的问题、Hadoop在master查看live nodes为0解决方案、hadoop环境报failed on connection exception、hadoop节点nodemanager启动失败原因小结、Hadoop实战之三 Hello World、CentOS安装jdk的三种方法、利用SecureCRT上传、下载文件(使用sz与rz命令),超实用!、vi编辑文件的命令、Linux 文件与目
12、录管理六总结完成这次实验花费了很长时间,从网上查找大量的信息,一步一步的实现,中途出现很多bug,大部分是配置文件出错。还有就是对Linux基本命令不熟悉,每遇到一个命令都要到网上去查看它的用法。到最后配置hadoop的时候,一直不能发现数据节点,虽然进程启动了。最后发现是hosts文件的问题,解决方案见引用来源的第10条。最后执行wordcount遇到内存不足的问题,解决方案就是把文件中的的值改成2048,大于程序运行所需要内存就行。这次实验能够成功,很开心自己能坚持完成。中途有几次找不到原因,差点不想做了。在这里感谢帮助我的关*、章*同学,郑学长,以及感谢网络的分享精神,向他们致敬!回顾整个过程,我有几点小体会:1、网上的文章有很多,需要仔细甄别,不能直接拿来就用,出现问题的时候,要到网上去查找原因。2、出现错误时,从出错信息,日志里面找原因。3、先思考再动手实践,再思考,再实践。知其然知其所以然。4、不轻言放弃5、遇到不能解决的问题,不要怕麻烦周围的同学,多一个人能多一点思路。避免进入死胡同,浪费时间。6、做完实验要做总结,做笔记。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1