Hadoop集群安装文档
1.3 hadoop存放目录:在data目录下的hadoop下 2
1.3 hadoop存放目录:在data目录下的hadoop下
2 服务器配置
18服务器 hostname : ubuntu / 10.1.1.18 该服务器为ubuntu
57服务器 hostname:yansi57 /10.1.1.57 该 服务器为centos
3 安装步骤
3.1 安装jdk
具体安装步骤略
注:Jdk 安装路径 :/java/jdk1.8.0_201
Hadoop 安装路径 /data/hadoop/hadoop-2.8.4
- 解压hadoop
- 配置hadoop 配置文件
第一个:hadoop-env.sh
export JAVA_HOME=/java/jdk1.8.0_201
第二个:core-site.xml
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode) 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://ubuntu:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop/datas</value>
</property>
第三个:hdfs-site.xml hdfs-default.xml (3)
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
第五个:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>ubuntu</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
第五个:配置slave文件
Ubuntu
yansi57
第六个 :配置hadoop环境变量
export HADOOP_HOME=/data/hadoop/hadoop-2.8.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
以上配置文件配置后续将配置文件复制给其他节点
3.3:配置ssh
如果没有.ssh文件需要先执行ssh-keygen -t rsa 从而生成公钥和私钥
将所有节点的公钥配置到授权文件列表上
(1)修改授权文件的权限:chmod 600 authorized_keys
(2)将公钥追加到授权文件:cat id_rsa.pub >> authorized_keys
(3)将授权文件复制给其他节点
4 常见问题处理(陆续进行补充)
4.1 datanode无法启动:
2019-02-11 14:32:28,734 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Block pool ID needed, but service not yet registered with NN, trace:
java.lang.Exception
at org.apache.hadoop.hdfs.server.datanode.BPOfferService.getBlockPoolId(BPOfferService.java:210)
at org.apache.hadoop.hdfs.server.datanode.BPOfferService.hasBlockPoolId(BPOfferService.java:220)
at org.apache.hadoop.hdfs.server.datanode.BlockPoolManager.remove(BlockPoolManager.java:90)
at org.apache.hadoop.hdfs.server.datanode.DataNode.shutdownBlockPool(DataNode.java:1490)
at org.apache.hadoop.hdfs.server.datanode.BPOfferService.shutdownActor(BPOfferService.java:465)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.cleanUp(BPServiceActor.java:527)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:787)
at java.lang.Thread.run(Thread.java:748)
解决方法 :
mv /data/hadoop/datas/dfs/data/current /data/hadoop/datas/dfs/data/current.bak
原因:因为是过时的文件NN找不到信息,所以导致datanode无法正常启动。