Centos7 搭建Hadoop
更新时间:2023-12-24 14:10:01 阅读量: 教育文库 文档下载
- centos7安装教程推荐度:
- 相关推荐
Centos7 搭建Hadoop
1.jdk安装(http://www.webkfa.com/one1/w288.html) 下载安装java jdk1.8.0_65 1)在 /home 下将jdk进行解压
#tar -xzvf jdk1.8.0_65.tar.gz jdk-8u111-linux-x64.tar.gz 当时rpm时,利用下面的命令 #chmod 777 jdk-8u11-linux-x64.rpm #rpm -i jdk-8u11-linux-x64.rpm
如果将目录重新命名。可利用下面命令 # mv jdk1.8.0_65 jdk 2)环境变量配置 #vi /etc/profile 输入以下内容:
export HBASE_HOME=/home/jdk export PATH=$HBASE_HOME/bin:$PATH 当不知道放在那儿时利用命令 #find / -name java
我的是利用rpm包安装的,所以配置环境变量如下
验证:#source /etc/profile #javac -verison
#java -version 2.ssh免密码验证
(http://blog.csdn.net/stark_summer/article/details/42393053)
1) 修改主机名称 Master节点 #vi /etc/hostname master (主机名字) #vi /etc/hosts 10.0.0.10 master 10.0.0.30 slave1 Slave1 节点 #vi /etc/hostname slave1 (主机名字) #vi /etc/hosts 10.0.0.10 master 10.0.0.30 slave1 互相ping一下
2)ssh免密码验证配置 Master节点: #cd ~/.ssh/
#ssh-keygen -t rsa 之后一直回车就可以了 最后生成2个文件:id_rsa id_rsa.pub
生成authorized_keys 文件
Slave1 节点做相同的工作!!!
3)共有密钥的合并
将master节点上的id_rsa_pub拷贝到slave1 上,并重命名为id_rsa.pub_s1
#scp id_rsa_pub 10.0.0.30:~/.ssh/id_rsa_pub_s1
同理:将slave1上的文件也这样拷到master上。命名为aa 将其合并到authorized_keys内 #cat aa >> authorized_keys
Slave1也进行同样的操作!!!
4)修改权限
将文件夹ssh修改成700 authorized_keys 修改成600(截图的错了)
上面的操作在master和slave1上都操作一下!!! 5)验证
开始我的ssh不成功,还需要密码输入,进行了下面的(1) 和(2) 的修改后成功了!!! 问题描述:
(1)ssh localhost:publickey 授权失败 sudo vi /etc/ssh/sshd_config
RSAAuthentication yes PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
service sshd restart
( #systemctl restart sshd.service centos 7)
注:ssh可同时支持publickey和password两种授权方式,publickey默认不开启,需要配置为yes。
如果客户端不存在.ssh/id_rsa,则使用password授权;存在则使用publickey授权;
如果publickey授权失败,依然会继续使用password授权。
不要设置 PasswordAuthentication no ,它的意思是禁止密码登录,这样就只能本机登录了!
(2)2、vi /etc/selinux/config SELINUX=disabled
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
最后重启你的 linux 执行 ssh localhost
(3)ssh ip 或 hostname 均提示:connection refused
目标主机的ssh server端程序是否安装、服务是否启动,是否在侦听22端口; 是否允许该用户登录;
本机是否设置了iptables规则,禁止了ssh的连入/连出;
3.安装Hadoop
1) 下载Hadoop-2.6.4.tar.gz
(http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.4/) 解压
#tar -xzvf Hadoop-2.6.4.tar.gz
2)在/home 目录下建立一个空目录tempData #mkdir tempData
# vi /etc/profile 里面添加环境变量 export HADOOP_HOME=/home/hadoop-2.6.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
3)下面开始修改配置文件 /home/hadoop-2.6.4/etc (1)hadoop-env.sh 添加java_home Export JAVA_HOME=/usr/java/jdk1.8.0_11
(2)yarn-env.sh 添加java-home
(3)修改slaves(里面添加的是其他几点的主机名,没有master节点)
(4)配置 core-site.xml
文件(hdfs文件端口是9000、
file:/home/tempData/hadoop/tmp)
注意上面的路径!!!
(5)配置 hdfs-site.xml 文件-->>增加hdfs配置信息(namenode、datanode端口和目
录位置)
(6)配置 mapred-site.xml 文件-->>增加mapreduce配置(使用yarn框架、jobhistory使用
地址以及web地址)
注:当我打开时,发现没有 mapred-site.xml这个文件,只有 mapred-site.xml.template这个文件,所以我将它重命名了
(7)配置 yarn-site.xml 文件-->>增加yarn功能
8)、将配置好的hadoop文件copy到另一台slave机器上 scp -r hadoop-2.6.0/ master@10.0.0.30:/home/
4.验证
1、格式化namenode:
[root@master opt]$ cd hadoop-2.6.0/ [root@master hadoop-2.6.0]$ ls
bin dfs etc include input lib libexec LICENSE.txt logs NOTICE.txt README.txt sbin share tmp
[root@master hadoop-2.6.0]$ ./bin/hdfs namenode -format [root@slave1 .ssh]$ cd ~/opt/hadoop-2.6.0
[root@slave1 hadoop-2.6.0]$ ./bin/hdfs namenode -format 2、启动hdfs:
[root@master hadoop-2.6.0]$ ./sbin/start-dfs.sh
错误:localhost:Host key verification failed 解决:vi hadoop/etc/hadoop/slaves 将里面的localhost删除,只留下节点slave1 信息 [root@hadoop02 hadoop-2.6.0]$ jps 22230 Master 30889 Jps
22478 Worker 30498 NameNode
30733 SecondaryNameNode 19781 ResourceManager
注:当没有这个命令时,可以先#find / -name jps 查到目录存放的地方 然后再运行# /usr/java/jdk1.8.0_11/bin/jps 4、启动yarn:
[root@master hadoop-2.6.0]$./sbin/start-yarn.sh 31233 ResourceManager 22230 Master 22478 Worker 30498 NameNode
30733 SecondaryNameNode 31503 Jps 6、查看集群状态:
[root@master hadoop-2.6.0]$ ./bin/hdfs dfsadmin -report
注意:无法页面访问时,记得修改一下window下面C:\\Windows\\System32\\drivers\\etc里面的hosts文件,将ip及节点写入!!!
若无法写入时,可以将文件复制到桌面,将信息添加后在替换原来的文件!!! 7.浏览器中查看
注意:当无法访问时,记得关一下虚拟机里面的防火墙或是将Hadoop的所有端口加入防火墙中!!!
8.可以查看网上的hadoop2.6.0中自带的wordcount实例运行一下。试试看hadoop2.6.0是否安装成功。
验证:
1.在本地创建文件夹 input 。里面建立2个文本 f1.txt f2.txt 2.在HDFS上创建输入文件夹 #bin/hadoop fs -mkdir /hdfsInput
3.上传本地file中文件到集群的hdfsInput目录下
注意:如果要修改文件夹的权限,使用下面的命令 # $HADOOP_HOME/bin/hadoop fs -chmod -R 777 /hdfsInput 注意:自带wordcount在 share/hadoop/mapreduce 目录下
4.上传成功后查看结果
问题:
1.注意jdk的环境变量配置,当现实jdk问题时,一般是JAVA_HOME的错误,一般是版本号错误!
2.修改jdk的环境变量的地方有:/etc/profile /home/hadoop2.6-4/etc/hadoop/hadoop-env.sh /home/hadoop2.6-4/etc/hadoop/yarn-env.sh
如果要换掉jdk的版本,接的所有节点都要一一修改!!! 3.ssh不成功,首先检查是否是权限的问题! 一个是700 ,一个是600!!!
4.修改配置文件的时候一定要注意!不要写错了!!! 5.记得修改防火墙的状态!!!
6.hadoop “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”
解决办法:
如果你是hadoop2.6的可以下载下面这个:
http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.6.0.tar
下载完以后,解压到hadoop的native目录下,覆盖原有文件即可。操作如下:
tar -x hadoop-native-64-2.4.0.tar -C hadoop/lib/native/
7. 运行测试程序:wordcount时出现:Container exited with a non-zero
exit code 127
解决:配置文件里面有无法识别的字符,所有的节点都检查一遍! 8. INFO mapreduce.Job: Job job_1398669840354_0003 failed with state
FAILED due to: Application application_1398669840354_0003 failed 2 times due to AM Container for appattempt_13
解决:
9.Cannot
delete
/tmp/hadoop-yarn/staging/root/.staging/job_1462779765527_0001. Name node is in safe mode. 解决:/hadoop dfsadmin -safemode leave
10.Shell$ExitCodeException
Container exited with a non-zero exit code 1 现象:运行hadoop job时出现如下异常:
14/07/09 14:42:50 INFO mapreduce.Job: Task Id :
attempt_1404886826875_0007_m_000000_1, Status : FAILED
Exception from container-launch: org.apache.hadoop.util.Shell$ExitCodeException: org.apache.hadoop.util.Shell$ExitCodeException:
at org.apache.hadoop.util.Shell.runCommand(Shell.java:505) at org.apache.hadoop.util.Shell.run(Shell.java:418) at
org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650) at
org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:195) at
org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:300) at
org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81)
at java.util.concurrent.FutureTask.run(FutureTask.java:262) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744)
Container exited with a non-zero exit code 1 原因及解决办法:原因未知。重启可恢复正常。
如果不能正常使用,使用下面的修改,下面的修改可能会对hbase的使用产生影响!!!
11. .
、etc/hadoop/hadoop-env.sh
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 搭建
- Centos7
- Hadoop
- 高中通用技术设计方案书模板 - 图文
- 2016年九年级历史11月月考试卷含答案
- 产品部岗位职责说明
- Deja+Vu+X详细操作手册
- 0507年GRE真题及答案解析整理
- 百家姓4
- 九九乘法口诀表和乘法口诀练习题
- 网络营销选取关键词、长尾关键词
- 《急救护理学》实训课教学方法探讨
- 探讨如何提高护理学专业学生病理学实验课的学习兴趣-精品文档
- 军事理论课考试试卷及答案(9)
- 关于紫林市场调查报告 - Microsoft - Word - 文档1
- 2015-2020年中国生物乙醇行业市场分析与未来发展前景预测报告 - 图文
- 五粮液集团有限公司资产负债表分析
- 何楼办事处2012年上半年工作总结
- 人教版普通高中美术全一册(必修)艺术欣赏全部教案
- 英语阅读(二)教案
- 世界平面设计大师作品简析 - 图文
- 实验小学运动场建设项目可行性研究报告
- Hibernate复习题1含答案