centos7下完全式hadoop集群搭建
来源:互联网 发布:命运 定数 知乎 编辑:程序博客网 时间:2024/06/09 16:04
初入数仓坑,搭建hadoop集群折腾了几天险些让我崩溃,好歹是让我看到了结果:
当然虽然过程坑了点耗费了相当心力,但好处是对配置的理解更明白了些,当然流程更是烂熟于心了。下面就开始总结吧:免密通信就不提了需要的话可以直接戳http://blog.csdn.net/qq_29186199/article/details/78428498。
首先说下环境,我是在centos7下面安装的二进制hadoop包(上链接:http://hadoop.apache.org/releases.html),如下图:
1、我将所需要的文件解压到了/usr/local/software(该文件是我自己创建放下载的软件包),解压后放到local目录下并更名Hadoop,jdk8,如图:
2、接下来配置环境变量(知道肯定有人手懒,贴码),如下图:
(只看java与hadoop环境变量配置)
#javaexport JAVA_HOME=/usr/local/jdk8export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar#hadoopexport HADOOP_HOME=/usr/local/hadoopexport PATH=$PATH:$HADOOP_HOME/binexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_YARN_HOME=$HADOOP_HOMEexport HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib/nativeexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
写入配置信息之后别忘了source /etc/profile
使配置生效。
3、nano /etc/hosts
进入该文件编辑主节点与子节点信息,我的节点信息如下:
事实上,这里只要写主机IP或者主机名(hostname可以查看主机名,vi /etc/hostname可以永久修改主机名,其他方法都更改的话这个方法优先级别最高,自测欢迎指正)其一就可以,都写的话也不错。
4、接下来就是配置Hadoop文件了,我用的是root账户所以各文件无所谓权限不够的问题了(自己玩的嘛/尴尬笑),首先进入Hadoop主目录(我的cd /usr/local/hadoop
):
创建新文件tmp和hdfs以及hdfs下面的name和data文件夹上命令:
mkdir {tem,hdfs} , cd hdfs , mkdir {name,data}
上图(总结嘛怎么可能是实时的):
5、接下来配置文件,根据个人需要主要有以下几个,不敲了上图:
接下来一个一个来:
vi core-site.xml
<configuration><property> <final>true</final> <!--默认文件系统的名字,URL形式--> <name>fs.defaultFS</name> <value>hdfs://192.168.233.128:9000</value></property><property> <!--Hadoop临时目录,其他目录会基于此目录,是本地目录--> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <final>true</final></property><property> <!--读写文件时使用的缓存大小,大小应该是内存Page的倍数--> <name>io.file.buffer.size</name> <value>131072</value></property></configuration>
vi hdfs-site.xml
<configuration><property><!--本地磁盘目录,用于NameNode存放fsimage文件,可以设置多个,一个坏了用另一个,但是如果设置了HA建议设置一个--><name>dfs.namenode.name.dir</name><value>file:/usr/local/hadoop/hdfs/name</value></property><property><!--本地磁盘目录,HDFS存储数据块的地方--><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/hdfs/data</value></property><property><!--数据块副本--><name>dfs.replication</name><value>3</value></property><property><!--SecondNameNode的http服务地址。端口为0的话服务随机选择一个空闲端口,使用了HA的话就不再使用SecondNameNode--><name>dfs.namenode.secondary.http-address</name><value>192.168.233.128:9001</value></property><property><!--HDFS服务通信的RPC地址,该参数必须设置,如果设置,备份结点,数据结点和其他服务将会连接到指定地址--><name>dfs.namenode.servicerpc-address</name><value>192.168.233.128:10000</value></property><property><!--指定是否在NameNode和DataNode上面指定WebHDFS功能--><name>dfs.webhdfs.enabled</name><value>true</value></property><property><name>dfs.permissions</name><value>false</value></property></configuration>
vi mapred.xml(MapReduce的配置文件)
<configuration><property><!--设置MapReduce执行框架为yarn--><name>mapreduce.framework.name</name><value>yarn</value></property><property><!--MapReduce历史服务器地址--><name>mapreduce.jobhistory.address</name><value>192.168.233.128:10020</value></property><property><!--MapReduce历史服务器wen ui地址--><name>mapreduce.jobhistory.webapp.address</name><value>192.168.233.128:19888</value></property></configuration>
vi yarn-site.xml
<configuration><property><!--Nodemanager上面运行的附属服务,需要配置成mapreduce_shuffle才可以运行mapreduce--><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><!--对应参考yarn.nodemanager.aux-services--><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value></property><property><!--ResourceManager对客户端暴露的地址。客户端向RM提交应用程序,杀死应用程序等--><name>yarn.resourcemanager.address</name><value>192.168.233.128:8032</value></property><property><!--调度器地址,ResourceManager向ApplicationManager暴露的地址,ApplicationManager通过该地址向RM申请、释放资源--><name>yarn.resourcemanager.scheduler.address</name><value>192.168.233.128:8030</value></property><property><!--RM向NM暴露的地址,NM通过该地址向NM汇报心跳,领取任务--><name>yarn.resourcemanager.resource-tracker.address</name><value>192.168.233.128:8031</value></property><property><!--RM对管理员暴露的地址,管理员通过该地址向RM发送管理命令--><name>yarn.resourcemanager.admin.address</name><value>192.168.233.128:8033</value></property><property><!--RM对外WEB UI地址,用户可通过该地址查看集群各类信息--><name>yarn.resourcemanager.webapp.address</name><value>192.168.233.128:8088</value></property><property><!--NM总的可用物理内存,不能小于1024.一旦设置不可在运行中动态修改--><name>yarn.nodemanager.resource.memory-mb</name><value>1024</value></property><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property><property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value></property></configuration>
vi hadoop-env.sh
export JAVA_HOME=/usr/local/jdk8/
vi yarn-env.sh
export JAVA_HOME=/usr/local/jdk8
vi slaves
至此主节点配置Hadoop配置完成。
6、把主节点服务器即master主机下的/etc/profile
,hadoop主目录即:/usr/local/hadoop
,和jdk主目录即/usr/local/jdk8
复制到其余各个节点服务器,即:
scp -r /etc/profile 192.168.233.130:/etc/scp -r /usr/local/hadoop 192.168.233.130:/usr/local/scp -r /usr/local/jdk8 192.168.233.130:/usr/local/scp -r /etc/profile 192.168.233.131:/etc/scp -r /usr/local/hadoop 192.168.233.131:/usr/local/scp -r /usr/local/jdk8 192.168.233.131:/usr/local/scp -r /etc/profile 192.168.233.132:/etc/scp -r /usr/local/hadoop 192.168.233.132:/usr/local/scp -r /usr/local/jdk8 192.168.233.132:/usr/local/
复制过去之后不要忘记source /etc/profile 使配置生效,另外这里提一下吧,hadoop里面的几个修改的文件各自主机用各自主机的IP(我就在这里面绕不出来了)。
7、第一次启动首先格式化HDFS:
cd /usr/local/hadoop/sbin
hdfs namenode -format
说明:只要看到/usr/local/hadoop/hdfs/name
被格式化成功就没问题了
启动HDFS:start-dfs.sh
。
java自带jps命令验证:
主节点:
子节点:
页面验证:
没毛病
8、至此hadoop的配置基本完成,其他组件有需要再加希望帮到正在焦头烂额的朋友,在此也感谢官方文档和Hadoop构建数据仓库实践,是个好东西。
- centos7下完全式hadoop集群搭建
- 虚拟机下用CentOS7搭建Hadoop集群
- CentOS7 搭建Hadoop 集群
- centos7搭建hadoop集群
- centos7搭建hadoop集群
- centos7搭建hadoop集群
- centos7搭建hadoop集群
- centos7搭建hadoop集群
- centos7下hadoop2.7完全分布式集群搭建
- Ubuntu搭建hadoop完全式集群
- Centos7 下 Hadoop 2.6.4 分布式集群环境搭建
- CDH5.7.2-Hadoop集群CentOS7下的搭建(离线安装)
- Centos7 下 Hadoop 2.6.4 分布式集群环境搭建
- Linux下搭建Hadoop集群(Centos7.0)
- CentOs7搭建hadoop集群(伪分布式)下
- Centos7下Hadoop搭建
- hadoop完全分布式集群搭建
- hadoop完全分布式集群搭建
- Oracle SQL 之 数学计算-开方根(咋个办呢 zgbn)
- pyhton爬虫笔记之实战 爬取淘宝商品价格和名称
- [转载]技改之路:从单块应用到微服务,我的血泪总结
- 虚拟机3.3垃圾收集算法
- 第二章变量和基本类型17.11.8
- centos7下完全式hadoop集群搭建
- php扩展开发---使用CLion开发PHP扩展
- Zsim+nvmain安装
- 报错上传到bugly进行统计
- PASCAL VOC数据集介绍
- spring事务传播行为笔记
- ShoeCAM v4.2 1CD(鞋模专业CAM系统,智能路径规划)
- day-18-数据库-MySQL-查询和多表
- QT自学笔记(5)