安装Hadoop伪分布式模式教程,版本为Hadoop3.1.4 原创 2021-05-22 18:33:27.0 阅读(1343)次 Hadoop有三种安装模式,今天分享其中一种:伪分布式模式。 下载地址:https://hadoop.apache.org/releases.html 安装过程中解决了一些坑点,具体如下: 这种模式只需要一台服务器即可 ##### 1.上传hadoop-3.1.4.tar.gz到服务器中,解压 tar -zxvf hadoop-3.1.4.tar.gz ##### 2.修改机器名 hostnamectl set-hostname hd1 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=node01 vi /etc/hosts 192.168.15.133 hd1 ##### 3.关闭防守墙 service firewalld status service firewalld stop 开机禁用防火墙 systemctl disable firewalld.service ##### 4.安装jdk,并配置环境变量 ##### 5.配置Hadoop伪分布式需要修改5个配置文件 配置在/home/hadoop-3.1.4/etc/hadoop/中 vi /home/hadoop-3.1.4/etc/hadoop/hadoop-env.sh 找到# export JAVA_HOME=并在它下面加上引入JAVA_HOME export JAVA_HOME=/usr/java/jdk1.8.0_231-amd64 vi /home/hadoop-3.1.4/etc/hadoop/core-site.xml 在configuration中加入如下: ```xml fs.defaultFS hdfs://hd1:9000 hadoop.tmp.dir /home/hadoop-3.1.4/data/ ``` 配置fs.defaultFS,由于存储层和运算层松耦合,要为它们指定使用hadoop原生的分布式文件系统hdfs 配置hadoop.tmp.dir指定hadoop进程运行中产生的数据存放的工作目录,NameNode、DataNode等就在本地工作目录下建子目录存放数据 vi /home/hadoop-3.1.4/etc/hadoop/hdfs-site.xml 在configuration中加入如下: ```xml dfs.replication 1 dfs.permissions false ``` 客户端将文件存到hdfs的时候,会存放在多个副本。value一般指定3,但因为搭建的是伪分布式就只有一台机器,所以只能写1。 vi /home/hadoop-3.1.4/etc/hadoop/mapred-site.xml 在configuration中加入如下: ```xml mapreduce.framework.name yarn ``` 指定MapReduce程序应该放在哪个资源调度集群上运行。若不指定为yarn,那么MapReduce程序就只会在本地运行而非在整个集群中运行。 vi /home/hadoop-3.1.4/etc/hadoop/yarn-site.xml 在configuration中加入如下: ```xml yarn.resourcemanager.hostname hd1 yarn.nodemanager.aux-services mapreduce_shuffle ``` 指定yarn集群中的老大(就是本机),下面这个配置是配置yarn集群中的重节点,指定map产生的中间结果传递给reduce采用的机制是shuffle ##### 6.配置Hadoop环境变量 vi /etc/profile 加入下面: export HADOOP_HOME=/home/hadoop-3.1.4 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source /etc/profile ##### 7.创建上面配置的目录/home/hadoop-3.1.4/data mkdir /home/hadoop-3.1.4/data hdfs dfs -chmod -R 755 /home/hadoop-3.1.4/data ##### 8.创建免密码登录ssh 依次执行如下命令生成免密码登录这台机: ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys 生成后,测试: ssh hd1 登录成功!输入exit退出。 ##### 9.格式化namenode,执行命令: hdfs namenode -format 2021-05-17 17:55:08,836 INFO common.Storage: Storage directory /home/hadoop-3.1.4/data/dfs/name has been successfully formatted. 2021-05-17 17:55:08,866 INFO namenode.FSImageFormatProtobuf: Saving image file /home/hadoop-3.1.4/data/dfs/name/current/fsimage.ckpt_0000000000000000000 using no compression 2021-05-17 17:55:09,007 INFO namenode.FSImageFormatProtobuf: Image file /home/hadoop-3.1.4/data/dfs/name/current/fsimage.ckpt_0000000000000000000 of size 391 bytes saved in 0 seconds . 2021-05-17 17:55:09,031 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0 2021-05-17 17:55:09,041 INFO namenode.FSImage: FSImageSaver clean checkpoint: txid = 0 when meet shutdown. 2021-05-17 17:55:09,041 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at hd1/192.168.15.133 ************************************************************/ 看到has been successfully formatted.表示成功。 ##### 10.修改启动文件 cd /home/hadoop-3.1.4/sbin 将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数!!!注意两个文件都要修改 vi start-dfs.sh vi stop-dfs.sh HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root 还有,start-yarn.sh,stop-yarn.sh顶部也需添加以下:!!!注意两个文件都要修改 vi start-yarn.sh vi stop-yarn.sh YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root ##### 11.启动Hadoop cd /home/hadoop-3.1.4/sbin ./start-all.sh WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER. Starting namenodes on [hd1] Last login: Mon May 17 17:39:45 CST 2021 from hd1 on pts/2 Starting datanodes Last login: Mon May 17 18:06:00 CST 2021 on pts/1 localhost: Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts. Starting secondary namenodes [hd1] Last login: Mon May 17 18:06:02 CST 2021 on pts/1 Starting resourcemanager Last login: Mon May 17 18:06:08 CST 2021 on pts/1 Starting nodemanagers Last login: Mon May 17 18:06:17 CST 2021 on pts/1 关闭: ./stop-all.sh ##### 12.jps命令查看进程 6145 ResourceManager 6289 NodeManager 5494 NameNode 5862 SecondaryNameNode 5640 DataNode 6620 Jps 已经启动成功了,五个进程一个不少。 ##### 13.访问管理界面 Hadoop3中HDFS的默认端口改为9870 http://192.168.15.133:9870/ 进入hdfs文件目录浏览页面 http://192.168.15.133:9870/explorer.html#/ 如果要上传文件,需要设置访问机器上的hosts映射到hadoop的服务器 修改hosts: 192.168.15.133 hd1 如果不设置hosts,浏览器上会一直上传不了文件,权限怎么设置都没用,也看不到日志 Hadoop管理界面 http://192.168.15.133:8088/ ##### 14.运行示例 运行Hadoop自带的MapReduce程序(word count单词统计功能) 参考:https://www.cnblogs.com/yaboya/p/9189816.html hadoop fs -mkdir -p /wordcount/input hadoop fs -put word.txt /wordcount/input cd /home/hadoop-3.1.4/share/hadoop/mapreduce hadoop jar hadoop-mapreduce-examples-3.1.4.jar wordcount /wordcount/input /wordcount/output hadoop fs -cat /wordcount/output/part-r-00000 如果运行报错: Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster 可以参考我另一篇文章[http://www.classinstance.cn/detail/155.html](http://www.classinstance.cn/detail/155.html "http://www.classinstance.cn/detail/155.html") 查看结果 [root@hd1 mapreduce]# hadoop fs -cat /wordcount/output/part-r-00000 china 4 no 1 yes 3 hadoop 大数据分析 上一篇:调用别人的接口或第三方接口怎么做熔断(二) 下一篇:hadoop运行mapreduce报错Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
相关文章 hadoop运行mapreduce报错Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster(3035) 存算分离与存算一体的优缺点比较(6036) postgresql数据库表分区字段有必要创建索引么?(2223) postgresql主从复制时报错:no pg_hba.conf entry for replication connection from host "192.168.15.131", user "replicator", SSL off(7315) Parameter index out of range (1 > number of parameters, which is 0(1864) 推荐文章 spring cloud+feign+mybatis中使用seata0.9实现分布式事务(7) spring cloud gateway报错Only one connection receive subscriber allowed(82) spring cloud中Feign调用诡异报错MethodNotAllowed: status 405 reading(116) elasticsearch7.1保存时报错: Validation Failed: 1: type is missing;(7) 聊聊数据保存到MySQL后数据乱码的问题(1) 使用spring4实现websocket连接(1) jquery对象与dom对象互转(1) linux使用epel源yum安装iftop、nload、nginx等(2) linux下nginx安装其他模块(1) solr时区设置解决时间多8小时问题(1) 热门文章 存算分离与存算一体的优缺点比较(5799) hadoop运行mapreduce报错Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster(2903) 安装Hadoop伪分布式模式教程,版本为Hadoop3.1.4(1222) java stream去重的几种方式(40819) clickhouse如何删除数据(40016) clickhouse清空删除表数据(18228) the dependencies of some of the beans in the application context form a cycle(16324) redis报错远程主机强迫关闭了一个现有的连接以及超时问题(16275) clickhouse执行查询内存超出限制问题:Memory limit (total) exceeded(14617) CF由于网络原因连接服务器失败请重试 1033_10136(13887) 标签列表 java java java java java java java基础 微服务 异常处理 mysql clickhouse clickhouse clickhouse clickhouse clickhouse spring cloud spring boot linux elasticsearch feign jdbc spring js docker postgresql solr seata nginx maven gateway hsqldb 数据库 架构 大数据分析 分布式事务 redis canal dubbo hadoop 消息队列 win10 websocket springmvc git html select2 mybatis jenkins rocketmq quartz activemq 数据库集群 ajax bat 电脑 笔记 eclipse 设计模式 阿里云 github freemarker jvm jquery javamail redission redission对象 hystrix http hibernate springmail svn ubuntu ueditor xheditor zookeeper 分布式 小程序 开发工具 gitlab