摘要:集群搭建环境虚拟机三台主节点一下如无特殊说明都是在主节点上配置下载安装参考文档文档自行选择版本安装本文按示例版本的配置参考文档解压上传到系统中解压配置配置文件位置环境因为要远程调用找不到变量使用的文件系统和的位置运行时产生的文件的
hadoop集群搭建
环境 centos6.7
虚拟机三台 yh01(主节点) yh02 yh03 一下如无特殊说明都是在主节点上配置
1.下载http://mirrors.hust.edu.cn/ap...
hadoop-3.1.1.tar.gz
2.安装 2.1 参考文档
文档 http://hadoop.apache.org/docs/
自行选择版本安装 本文按3.1.1示例
版本 http://hadoop.apache.org/rele...
3.1.1的配置参考文档 http://hadoop.apache.org/docs...
2.2 解压上传hadoop-3.1.1.tar.gz到centos6.7系统中 解压
2.3 配置配置文件位置 /export/servers/hadoop-3.1.1/etc/hadoop/
hadoop-env.sh 27
#jdk 环境 因为要远程调用 ${java_home}找不到变量 export JAVA_HOME=/export/servers/jdk1.8.0_141
core-site.xml
#hadoop使用的文件系统(uri) hdfs 和hdfs的位置 fs.defaultFS hdfs://yh01:9000 #hadoop运行时产生的文件的存储位置 hadoop.tmp.dir /export/data/HADOOP/apps/hadoop-3.1.1/tmp
hdfs-site.xml 都有默认值 也可以不配置
---------------- #namenode上存储hdfs名字空间元数据 dfs.namenode.name.dir /export/data/HADOOP/hdfs/name #hdfs datanode上数据块的物理存储位置 dfs.datanode.data.dir /export/data/HADOOP/hdfs/data #hdfs数据副本数量 3分副本 应小于datanode机器数量 ----------------dfs.replication 3 dfs.secondary.http.address yh01:50090
mapred-site.xml
mapreduce.framework.name #mr运行的平台 默认local本地模式yarn
yarn-site.xml
yarn.resourcemanager.hostname #yarn (MR)的ResourcesManager管理界面的地址 主机名称yh01 #reducer获取数据的方式 yarn.nodemanager.aux-services mapreduce_shuffle
添加hdfs权限 vim sbin/start-dfs.sh sbin/stop-dfs.sh 在顶部空白位置添加
HDFS_DATANODE_USER=root HDFS_DATANODE_SECURE_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
否则会报错 (缺少用户权限定义造成的)因此编辑启动和关闭
ERROR: Attempting to launch hdfs namenode as root ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting launch. Starting datanodes ERROR: Attempting to launch hdfs datanode as root ERROR: but there is no HDFS_DATANODE_USER defined. Aborting launch. Starting secondary namenodes [localhost.localdomain] ERROR: Attempting to launch hdfs secondarynamenode as root ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting launch.
添加yarn权限 vim sbin/start-yarn.sh sbin/stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root HDFS_DATANODE_SECURE_USER=yarn YARN_NODEMANAGER_USER=root2.4 添加环境变量
vim /etc/profile
export JAVA_HOME=/export/servers/jdk1.8.0_141 export PATH=$PATH:$JAVA_HOME/bin #hadoop export HADOOP_HOME=/export/servers/hadoop-3.1.1 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
临时简单验证下有没有问题
[root@yh01]# cd $HADOOP_HOME [root@yh01 hadoop-3.1.1]# bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar grep input output "dfs[a-z.]+"
修改ssh (yh01 yh02 yh03 都需要执行ssh-keygen以下的命令)
现在检查您是否可以在没有密码的情况下ssh到localhost: ssh yh01 如果在没有密码短语的情况下无法ssh到localhost,请执行以下命令: ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys 添加本机ssh到本机ssh中 当使用start-all.sh启动works下的所有机器时能直接无秘钥启动 同时分发yh01主机的秘密到其他机器中 ~/.ssh/authorized_keys 包含 当前机器 及主节点机器的秘钥
修改/etc/ssh/sshd_config 文件
需要修改的 如果有注释 就发开注释 RSAAuthentication yes PubkeyAuthentication yes #这两项为打开公钥模式 AuthorizedKeysFile .ssh/authorized_keys #配置公钥记录文件 PasswordAuthentication yes #打开密码验证模式2.4.1 分发hadoop文件
分发$HADOOP_HOME的文件到其他机器
[root@yh01 hadoop-3.1.1]# pwd /export/servers/hadoop-3.1.1 [root@yh01 hadoop-3.1.1]# scp -r hadoop-3.1.1/ root@yh02:$PWD [root@yh01 hadoop-3.1.1]# scp -r hadoop-3.1.1/ root@yh03:$PWD
修改works文件 文件中的所有工作者主机名或IP地址,每行一个
添加hadoop节点 vim hadoop-3.1.1/etc/hadoop/works 假设有3台 yh01 yh02 yh03 要添加本机ssh链接 ssh yh013 启动 3.1 先格式化HDFS 启动HDFS 然后启动yarn
如果配置了workds文件 只需要在yh01上执行即可 分割线一下的可以忽略 hdfs namenode -format 启动 $HADOOP_HOME/sbin/start-dfs.sh $HADOOP_HOME/sbin/start-yarn.sh $HADOOP_HOME/bin/mapred --daemon start historyserver 关闭 $HADOOP_HOME/sbin/stop-dfs.sh $HADOOP_HOME/sbin/stop-yarn.sh $HADOOP_HOME/bin/mapred --daemon stop historyserver =========================== 在主节点 yh01上执行 $HADOOP_HOME/bin/hdfs --daemon start namenode 在副节点 yh02 yh03上执行 $HADOOP_HOME/bin/hdfs --daemon start datanode #格式化成功 2018-08-24 16:41:04,983 INFO common.Storage: Storage directory /export/data/HADOOP/data/name has been successfully formatted.3.2 批量操作
启动所有 start-all.sh 关闭所有 stop-all.sh3.3 验证
[root@yh01 logs]# jps 5633 Jps 4498 ResourceManager 4020 DataNode 5556 JobHistoryServer 3879 NameNode 4247 SecondaryNameNode 4635 NodeManager [root@yh02 hadoop-3.1.1]# jps 5856 Jps 3969 Bootstrap 5345 NodeManager 5235 DataNode 3919 QuorumPeerMain [root@yh03 hadoop-3.1.1]# jps 3729 QuorumPeerMain 4820 NodeManager 4711 DataNode 3768 Bootstrap 5050 Jps4访问manager页面
Daemon | Web Interface | Notes |
---|---|---|
NameNode | http://nn_host:port/ | Default HTTP port is 9870. |
ResourceManager | http://rm_host:port/ | Default HTTP port is 8088. |
MapReduce JobHistory Server | http://jhs_host:port/ | Default HTTP port is 19888. |
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/76984.html
摘要:总之,项目还算很受欢迎吧,这篇博客将介绍项目的升级版。一项目介绍将打包到镜像中,就可以快速地在单个机器上搭建集群,这样可以方便新手测试和学习。之前的版本使用为集群提供服务,由于网络功能更新,现在并不需要了。运行参考第二部分启动,并运行。 摘要: kiwenlau/hadoop-cluster-docker是去年参加Docker巨好玩比赛开发的,得了二等奖并赢了一块苹果手表,目前这个项目...
阅读 1159·2021-11-16 11:45
阅读 1013·2021-09-04 16:41
阅读 3074·2019-08-29 16:40
阅读 2850·2019-08-29 15:34
阅读 2672·2019-08-29 13:11
阅读 1733·2019-08-29 12:58
阅读 1723·2019-08-28 18:00
阅读 1774·2019-08-26 18:26