2022年LinuxRedHat、CentOS上搭建Hadoop集群 .pdf
《2022年LinuxRedHat、CentOS上搭建Hadoop集群 .pdf》由会员分享,可在线阅读,更多相关《2022年LinuxRedHat、CentOS上搭建Hadoop集群 .pdf(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、一 Hadoop 工作模式:关于 Hadoop 平台的搭建分为三种模式:1 单机模式:默认情况下, Hadoop 被配置成以非分布式模式运行的一个独立Java进程。 这对调试非常有帮助2.伪分布式模式: Hadoop 可以在单节点上以所谓的伪分布式模式运行,此时每一个Hadoop守护进程都作为一个独立的Java进程运行。3.完全分布式模式:有实际意义的Hadoop 集群,其规模可从几个节点的小集群到几千个节点的超大集群二实验环境操作系统 :RedHat Enterprise Linux 5.6 clovem001 192.168.0.101 clovem002 192.168.0.102 cl
2、ovem003 192.168.0.103 三所需软件:Hadoop 版本: hadoop-0.20 (http:/ SSH : 必须安装并且保证sshd 一直运行,以便用 Hadoop 脚本管理远端Hadoop 守护进程 ( 系统一般默认安装)rsync:用于系统进行远程同步,系统默认安装。JDK版本: JDK1.6 ( http:/ )四实验前期准备【1】安装配置JDK 1.安装 JDK 此处以 clovem001 为例rootclovem001 #yum remove java -y / 卸载系统 JDK rootclovem001 apache_tomcat# chmod a+x jd
3、k-6u23-linux-i586.bin / 给予可执行权限rootclovem001 apache_tomcat# ./jdk-6u23-linux-i586.bin/执行二进制文件的安装, .直至出现以下信息表示OK。Press Enter to continue. Done. 此时会在当前目录生成jdk1.6.0_23 目录rootclovem001 apache_tomcat# cp -r jdk1.6.0_23/ /usr/local/jdk1.6 / 拷贝至/usr/local 下并改名rootclovem001 # cd /usr/local/jdk1.6 / 查看安装目录信息
4、rootclovem001 jdk1.6# pwd /usr/local/jdk1.6 2.配置 JAVA环境变量:rootclovem001 jdk1.6# vi /etc/profile 在文件最后添加以下内容:JAVA_HOME=/usr/local/jdk1.6 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.$JAVA_HOME/lib/dt.
5、jar:$JAVA_HOME:/lib/tools.jar:$JAVA_HOME/lib JRE_HOME=$JAVA_HOME/jre export JAVA_HOME PATH CLASSPATH JRE_HOME / 注意,这一行需要写上,或者在终端中执行导出 JAVA_HOME的命令,否则,在实验的时候会提示JAVA_HOME 没有设置执行如下命令使环境变量生效:rootclovem001 jdk1.6#source /etc/profile 测试配置是否成功:rootrhel01 jdk1.6#java version java version 1.6.0_23 Java(TM) S
6、E Runtime Environment (build 1.6.0_23-b05) Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing) 【2】配置 SSH登录等效性(实现无密钥登录)rootclovem001 # ssh-keygen -t dsa / 一路回车,不输入任何字符rootclovem001 # ssh-keygen -t rsa / 一路回车,不输入任何字符rootclovem001 # cd .ssh/ rootclovem001 .ssh# cat id_dsa.pub authorized_ke
7、ys rootclovem001 .ssh# cat id_rsa.pub authorized_keys / 生成混合密钥串至此,通过命令ssh 192.168.0.101 可以实现无密钥登录五实验步骤:【1】实现单机模式下面的实例将已解压的conf 目录拷贝作为输入,查找并显示匹配给定正则表达式的条目。输出写入到指定的output 目录。rootclovem001 # tar zxvf hadoop-0.20.203.0rc1.tar.gz rootclovem001 # cd hadoop-0.20.203.0 rootclovem001 hadoop-0.20.203.0#mdkir
8、input rootclovem001 hadoop-0.20.203.0# cp conf/*.xml input/ rootclovem001 hadoop-0.20.203.0# bin/hadoop jar hadoop-examples-0.20.203.0.jar grep input output dfsa-z.+ 说明:bin/hadoop jar(使用 hadoop 运行 jar 包) hadoop-*_examples.jar(jar 包的名字)grep (要使用的类,后边的是参数)input output dfsa-z.+整个就是运行hadoop 示例程序中的grep,对
9、应的hdfs 上的输入目录为input 、输出目录为output 。 rootclovem001 hadoop-0.20.203.0# cat output/* 1 dfsadmin 再看个例子, wordcount 的,大家比较熟悉rootclovem001 hadoop-0.20.203.0# mkdir inputcount rootclovem001 hadoop-0.20.203.0# echo today is a nice day,and you are so beautifulinputcount/word1 rootclovem001 hadoop-0.20.203.0# e
10、cho today is so bad ,and you are not beautifulinputcount/word2 rootclovem001 hadoop-0.20.203.0# cat inputcount/* today is a nice day,and you are so beautiful 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - today is so bad ,and you are not
11、beautiful rootclovem001 hadoop-0.20.203.0# bin/hadoop jar hadoop-examples-0.20.203.0.jar wordconut inputcount/ outcount/ 注意:实验的时候outcount 这个目录不要实现创建,否则在执行上述命令的时候会报错org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory outcount already exists 提示输出的目录已经存在,删除之,直接执行该命令即可。然后执行以下命令rootclov
12、em001 hadoop-0.20.203.0# cat outcount/* ,and 1 a 1 are 2 bad 1 beautiful 2 day,and 1 is 2 nice 1 not 1 so 2 today 2 you 2 = 【2】实现伪分布式模式Hadoop 可以在单节点上以所谓的伪分布式模式运行,此时每一个Hadoop 守护进程都作为一个独立的Java进程运行。(1).修改配置文件core-site.xml hdfs-site.xml mapred-site.xml rootclovem001 hadoop-0.20.203.0# vi conf/core-site.
13、xml fs.default.name 192.168.0.101:9000 rootclovem001 hadoop-0.20.203.0# vi conf/ mapred-site.xml dfs.replication 1 rootclovem001 hadoop-0.20.203.0# vi conf/ mapred-site.xml mapred.job.tracker 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - -
14、 192.168.0.101:9001 修改 localhost 为当前 IP,如果在 /etc/hosts 中做过了相关本地解析,也可以使用对应值,或者主机名。注意:dfs.replication 1 注意 dfs 的副本数在此需要设为1, 因为文件系统设计的默认值为3, 当前为伪分布式模式,节点数只有1 (2).格式化一个新的分布式文件系统:rootclovem001 hadoop-0.20.203.0# bin/hadoop namenode -format 图 1 格式化新的文件系统(3).启动 Hadoop 守护进程:rootclovem001 hadoop-0.20.203.0#
15、bin/start-all.sh 图 2 启动 Hadoop 守护进程出错大家会发现提示信息说localhost 没有相应的解析记录rootclovem001 hadoop-0.20.203.0# echo “127.0.0.1 localhost ” /etc/hosts / 添加localhost 记录再次执行rootclovem001 hadoop-0.20.203.0# bin/start-all.sh 很奇怪的出现了这个提示图 3 提示 JAVA_HOME没有设置但是前面的操作确实已经设置过了啊;rootclovem001 hadoop- 0.20.203.0# echo “ $JA
16、VA_HOME ”/usr/local/jdk1.6 明明正常显示的,唯一的原因就是在Hdoop 系统中并没有设置这个环境变量了。rootclovem001 hadoop-0.20.203.0# vi conf/hadoop-env.sh 查找“ JAVA_HOME ”找到下面一行# export JAVA_HOME=/usr/lib/j2sdk1.5-sun 复制,粘贴,修改为如下内容export JAVA_HOME=/usr/local/jdk1.6 保存,退出再次执行rootclovem001 hadoop-0.20.203.0# bin/start-all.sh 图 4 提示辅助nam
17、node 正在运行停止进程 15931 rootclovem001 hadoop-0.20.203.0# skill -9 15931 / 杀掉 15931 的进程rootclovem001 hadoop-0.20.203.0# bin/start-all.sh 图 5 其他没有问题了,就是有个-jvm 提示不能被创建解决:可以修改的地方有两个名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - 第一个 (次要的 ):/usr/lo
18、cal/hadoop/conf/hadoop-env.sh 修改参数:export HADOOP_HEAPSIZE=256 # 默认值为1000M ,为 Java虚拟机占用的内存的大小第二个 (主要的 ):查看 /usr/local/hadoop/bin/hadoop 源码:# if $EUID -eq 0 ; then HADOOP_OPTS=$HADOOP_OPTS -jvm server $HADOOP_DATANODE_OPTS else HADOOP_OPTS=$HADOOP_OPTS -server $HADOOP_DATANODE_OPTS fi # 上述程序说明如果以root(
19、UID=0) 身份启动,则 hadoop 启动 java 虚拟机时,会带上 -jvm 参数。不同的 java 版本,启动参数可能会不一致,由此导致以上问题。所以,做好的方法是创建一个新用户hadoop 专属 Hadoop 文件系统的。rootclovem001 # useradd hadoop rootclovem001 # passwd hadoop / 为了实验方便,本实验所有密码都设为hadoop rootclovem001 # cp -rv hadoop-0.20.203.0/ /home/hadoop/ rootclovem001 # chown -R hadoop:hadoop /
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年LinuxRedHat、CentOS上搭建Hadoop集群 2022 LinuxRedHat CentOS 搭建 Hadoop 集群
限制150内