admin 管理员组文章数量: 887017
HDFS完全分布式集群搭建与配置及常见问题总结
目录
1 配置hdfs完全分布式集群步骤详解
1.2 配置前的准备工作
1.3配置环境变量
1.3.1 配置HADOOP_HOME环境变量
1.3.2 配置hadoop-env.sh环境变量
1.3.3 配置yarn-env.sh环境变量
1.3.4 配置core-site.xml环境变量
1.3.5 配置hdfs-site.xml环境变量
1.3.6 配置mapred-site.xml 环境变量
1.3.7 配置yarn-site.xml环境变量
1.3.8 slaves
1.3.9 同步配置信息
1.3.10 配置环境变量
2.启用HDFS集群
2.1上传文件测试
3.HDFS搭建时遇到的常见问题总结
1 配置hdfs完全分布式集群步骤详解
- 1查看配置前需要的当前已有环境
①网络配置
先ping外网,三个虚拟机都ping一遍最好
代码: ping baidu(ctrl+c停止)
②主机名配置
cat /etc/hostnam
e 也是三台虚拟机都检查一遍
③主机域名映射
检查每台虚拟机的主机名称和映射是否对照
cat /etc/hosts
④防火墙和selinux关闭
systemctl status firewalld
如果程序显示中有dead这个单词,那么防火墙就是关闭的。
⑤ssh免密
ssh node01
⑥查看java jdk 的安装情况
完成这六项,我们就可以进行创建安装目录这个操作了。
1.2 配置前的准备工作
①检查1.1是否配置成功
②创建安装需要的目录
cd /opt
mkdir software
cd software/
mkdir hadoop
cd hadoop/
mkdir hdfs
cd /hdfs
mkdir tmp
mkdir name
mkdir data
pwd
·返回hadoop,上传压缩包:hadoop-2.9.2.tar.gz
代码:cd .. 即可回到上一目录hadoop中。
然后找到下好的hadoop-2.9.2.tar.gz文件,拖拽到虚拟机里,即会自动上传。
如果出现乱码/火星文,删除重新上传就可以了。
上传文件需等待几秒,如网速不好,时间会延长。
366447449是hadoop-2.9.2.tar.gz的正常大小。
· 解压缩文件
tar -xvzf hadoop-2.9.2.tar.gz
·查看
cd /opt/software/hadoop/hadoop-2.9.2/etc/hadoop
1.3配置环境变量
1.3.1 配置HADOOP_HOME环境变量
①进入环境
vi /etc/profile
②进入后按键盘上的 A 进入编辑模式,添加环境变量。
export HADOOP_HOME=/opt/software/hadoop/hadoop-2.9.2
export PATH=${PATH}:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
!!!!!!!!!!!!!!!!!!!!!!切勿打错字母/多打空格/多按回车!!!!!!!!!!!!!!!!!!!!!!!!!!!!
③最后 Esc :wq保存退出
刷新环境变量
测试hadoop是否安装成功
source /etc/profile
hadoop version
1.3.2 配置hadoop-env.sh环境变量
- 这里我们无需对其进行配置保持配置不变。
- 原来的配置是为了修改这里面的JAVAHOME值和HADOOPCONF_DIR的值,而并非新增。
- 通过代码进入我们需要配置的环境中
-
vi /etc/hadoop-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8 #你的java jdk 的安装路径
export HADOOP_CONF_DIR=/opt/software/hadoop/hadoop-2.9.2/etc/hadoop #hadoop安装路径
1.3.3 配置yarn-env.sh环境变量
①代码进入环境中: cd /opt/software/hadoop/hadoop-2.9.2/etc/hadoop/
vi yarn-env.sh②需要配置值:export JAVA_HOME=/usr/local/java/jdk1.8
1.3.4 配置core-site.xml环境变量
- 此配置需要把文件系统节点改成node01
- fs.defaultFS表示指定集群的文件系统类型是分布式文件系统(HDFS),datanode心跳发送到namenode的地址
- hadoop.tmp.dir表示hadoop临时文件目录
- 需要配置值:
vi core-site。xml<property><name>fs.defaultFS</name><value>hdfs://node01:9000</value>
</property>
<property><name>hadoop.tmp.dir</name><value>/opt/software/hadoop/hdfs/tmp</value>
</property>
1.3.5 配置hdfs-site.xml环境变量
- dfs.replication原本配置是1,修改为3,三副本策略,表示副本数是3
- dfs.name.dir和dfs.data.dir配置不变
- dfs.datanode.max.locked.memory配置添加,开启缓存,配置值根据自己机器情况配置
- dfs.permissions配置添加,值配置false,不开启文件权限
- 进入环境代码:
vi hdfs-site.xml需要配置值:
<property><name>dfs.replication</name><value>3</value>
</property>
<property><name>dfs.namenode.name.dir</name><value>file:/opt/software/hadoop/hdfs/name</value>
</property>
<property><name>dfs.datanode.data.dir</name><value>file:/opt/software/hadoop/hdfs/data</value>
</property>
<property><name>dfs.datanode.max.locked.memory</name><value>65536</value>
</property>
<property><name>dfs.permissions</name><value>false</value>
</property>
1.3.6 配置mapred-site.xml 环境变量
- 需要把mapred-site.xml.template拷贝成mapred-site.xml文件进行配置
- 进入环境代码:
cd /opt/software/hadoop/hadoop-2.9.2/etc/hadoop/
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml在configuration标签中间添加以下配置
mapreduce.framework.name指定资源分配使用yarn
需要配置值:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
1.3.7 配置yarn-site.xml环境变量
- 在configuration标签中间添加以下配置
- yarn.resourcemanager.hostname:yarn相关资源服务器的主机名,使用node01
- yarn.nodemanager.aux-services和MapReduce计算相关
- yarn.nodemanager.vmem-check-enabled 关闭虚拟内存检查
进入环境代码:
vi yarn-site.xml需要配置值:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
1.3.8 slaves
- 配置3台机器主机名,此配置表示三台机器都作为DataNode
-
进入环境变量:vi slaves 写入主机名称: node01 node02 node03
1.3.9 同步配置信息
- 在node02,node03上创建/opt/software目录
cd /opt/
mkdir software把node01上的配置同步到node02和node03
使用scp命令进行同步
代码:
cd /opt/software/
scp -r hadoop/ node02:$PWD
scp -r hadoop/ node03:$PWD
1.3.10 配置环境变量
- 之前只在node03上配置了hadoop环境变量,现在需要在node01和node02上添加hadoop环境变量
- 在node01和node02机器的/etc/profile环境变量中添加hadoop配置
- 代码:
vi /etc/profileexport HADOOP_HOME=/opt/software/hadoop/hadoop-2.9.2
export PATH=${PATH}:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
- 添加配置以后记得加载配置文件,使得配置文件生效,刷新环境变量。
source /etc/profile
2.启用HDFS集群
只需要在node1上格式化,不要重复格式化。
hdfs namenode -format
启动集群,只需要在node01上启动
start-dfs.sh
查看进程启动情况
jps
node01上三个进程,node02,node03,上只会出现一个datanode的进程。
访问web网页端
url:http://192.168.67.110:50070/
2.1上传文件测试
创建目录
上传文件到node01
cd /opt/
mkdir testData
cd testData/
mkdir hdfs
cd hdfs
rz #上传hadoop-2.9.2.tar.gz
#把hadoop-2.9.2.tar.gz上传到分布式文件系统
hdfs dfs -put hadoop-2.9.2.tar.gz /test
然后查看每台虚拟机的节点占用情况
到这,我们就成功的完成了HDFS的完全分布式集群的搭建,下面来介绍一下搭建HDFS集群时可能遇到的问题。
3.HDFS搭建时遇到的常见问题总结
1.出问题首先学会查看日志
hadoop 日志在哪里: hadoop的日志在hadoop的安装目录下的 logs目录
查看方式: tail -n 100 日志文件,寻找问题所在。不过首先需要进入hadoop目录下在查看
2.Hadoop启动后没有Name Node或DataNode进程
将所有节点的tmp目录和logs目录下的文件清空清空
rm -rf *
重新格式化namenode
hadoop namenode -format
重新启动HDFS集群
start hdfs -dfs
3.hadoop平台启动后少进程
杀死对应占用进程
kill ****
4.Datenode没有启动
可能是因为多次格式化的原因,每格式化一次都会生成一个NamenodeID,
而tem,data,name目录下会保存上次的NamenodeID,但hdfs namenode -format
会清空namenode下的数据,不会清空datanode中的数据,所以格式化前先清空tem目录下的数据
5.更该配置文件时一定不要写错
如果多写了会出现报错
这时我们就需要把配置文件删除,不然写什么都会报错。
结语:好了,今天我们团队的分享就到这里了,在这里感谢老师的答疑解惑。
本文标签: HDFS完全分布式集群搭建与配置及常见问题总结
版权声明:本文标题:HDFS完全分布式集群搭建与配置及常见问题总结 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732362069h1535498.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论