从搭建hadoop开始学习大数据中分而治之的MapReduce(伪集群模式) |
您所在的位置:网站首页 › hdfs集群的元数据存储格式 › 从搭建hadoop开始学习大数据中分而治之的MapReduce(伪集群模式) |
环境准备 首先需要将如下四个必要的文件下载到计算机(已经附上了下载地址,点击即可下载)。 Vmware Workstation 17.x 【官方的下载地址】 CentOS-7-x86_64-Minimal-2009【阿里云镜像站下载地址】 openjdk-8u41-b04-linux-x64-14_jan_2020【开源下载地址】 安装 CentOS 7 在安装了 Vmware Workstation 17 后,接下来就可开始安装由阿里云镜像站提供的CentOS7。步骤如下: 1.文件 → 新建虚拟机,进入到【新建虚拟机向导】界面,选择自定义配置,如下所示: 19.开机之后,通过方向键 ↑ 使得Install CentOS 7 菜单高亮选中,并按下回车键确认。 在配置 IP 地址的时候,需要注意的是,需要考虑到网段要和真实机保持一致,因为前面创建虚拟机时,采用了网络地址转换的连接方式,默认情况下,真实机使用的网卡是 VMware Network Adapter VMnet8 网卡
26.配置 yum 源 刚安装的 CentOS 要做的第一件事就是将 yum 源配置为阿里云的镜像,以方便后面安装软件的时候提升响应速度。通过 curl 下载阿里云的 yum 源配置文件: 添加一个可以使用table补齐的插件重启后可生效 yum -y install bash-completion27.安装jdk,这里为了方便安装hadoop时使用所有安装的是jdk1.8,可以通过命令进行安装 下载后可解压至对应的目录中 [root@h151 ~]# curl -# https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz >> java-se-8u41-ri.tar.gz ######################################################################## 100.0% [root@h151 ~]# tar -zxf java-se-8u41-ri.tar.gz -C /opt/ [root@h151 ~]# vi /etc/profile添加jdk的环境变量 vi /etc/profile此命令是打开环境变量配置文件 export JAVA_HOME=/opt/java-se-8u41-ri/ export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin配置完成后执行一下命令,使配置生效并查看jdk是否成功 [root@h151 ~]# source /etc/profile [root@h151 ~]# java -version openjdk version "1.8.0_41" OpenJDK Runtime Environment (build 1.8.0_41-b04) OpenJDK 64-Bit Server VM (build 25.40-b25, mixed mode)安装 Hadoop (伪分布模式) 【伪分布式模 式】: 用多个线程模拟多台真实机器,即用一台主机模拟真实的分布式环境。 【完全分布式模式】: 用多台机器(或启动多个虚拟机)来完成部署集群。 1.下载安装包,并解压到指定位置。 [root@h151 ~]# curl -# https://archive.apache.org/dist/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz >> hadoop-3.3.5.tar.gz ######################################################################## 100.0% [root@h151 ~]# tar -zxf hadoop-3.3.5.tar.gz -C /opt/2.cd 到Hadoop下通过 vi 修改 Hadoop 下 etc/hadoop/hadoop-env.sh 文件,找到 JAVA_HOME 和 HADOOP_CONF_DIR。此处的 JAVA_HOME 的值需要和 /etc/profile 中配置的 JAVA_HOME 的值保持一致。修改后结果如下: 配置完成之后,使用 source 命令使其生效: [root@h151 hadoop-3.3.5]# source /opt/hadoop-3.3.5/etc/hadoop/hadoop-env.sh3.通过 vi 修改 Hadoop 下 etc/hadoop/core-site.xml 文件,内容如下: fs.defaultFS hdfs://h151.c7:9000 hadoop.tmp.dir /opt/hadoop-3.3.5/tmp io.file.buffer.size 40964.通过 vi 修改 Hadoop 下 etc/hadoop/hdfs-site.xml 文件,内容如下: dfs.replication 1 dfs.permissions true5.通过 vi 修改 Hadoop 下 etc/hadoop/mapred-site.xml 文件: [root@h151 ~]# vi /opt/hadoop-3.3.5/etc/hadoop/mapred-site.xml修改内容: mapreduce.framework.name yarn mapreduce.application.classpath /opt/hadoop-3.3.5/share/hadoop/mapreduce/*, /opt/hadoop-3.3.5/share/hadoop/mapreduce/lib/*6.通过 vi 修改 Hadoop 下 etc/hadoop/yarn-site.xml 文件。 yarn.resourcemanager.hostname h151.c7 yarn.nodemanager.aux-services mapreduce_shuffle7.通过 vi 修改 Hadoop 下 etc/hadoop/slaves 文件。直接在该文件中输入集群中所有节点的主机名,每个主机名独占一行,因为采用的是伪 分布式模式,所以,只需要在当前文件中写入当前主机的名称即可。 [root@h151 /]# vi /opt/hadoop-3.3.5/etc/hadoop/slaves修改后的 slaves 文件的内容如下: h151.c78.在 /etc/profile 文件的最后配置 Hadoop 的环境变量,追加如下内容: export HADOOP_HOME=/opt/hadoop-3.3.5 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin9.保存退出后使用 source 命令使 /etc/profile 文件生效。 source /etc/profile10.通过 vi 修改 Hadoop 下 /etc/hosts 文件,追加当前主机的IP地址映射主机名。如下所示: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.xx.151 h151.c711.执行如下命令对 NameNode 进行格式化。 hdfs namenode -format
13.:输入start-all.sh 报错问题1: [root@h151 hadoop]# start-all.sh Starting namenodes on [h151.c7] ERROR: Attempting to operate on hdfs namenode as root ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation. Starting datanodes ERROR: Attempting to operate on hdfs datanode as root ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation. Starting secondary namenodes [h151.c7] ERROR: Attempting to operate on hdfs secondarynamenode as root ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation. Starting resourcemanager ERROR: Attempting to operate on yarn resourcemanager as root ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation. Starting nodemanagers ERROR: Attempting to operate on yarn nodemanager as root ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation.解决方法: 是因为缺少用户定义造成的,所以分别编辑开始和关闭脚本 cd /opt/hadoop-3.3.5目录下 $ vi sbin/start-dfs.sh $ vi sbin/stop-dfs.sh 在顶部空白处添加内容: HDFS_NAMENODE_USER=root HDFS_DATANODE_USER=root HDFS_SECONDARYNAMENODE_USER=root YARN_RESOURCEMANAGER_USER=root YARN_NODEMANAGER_USER=root 是因为缺少用户定义造成的,所以分别编辑开始和关闭脚本 $ vi sbin/start-yarn.sh $ vi sbin/stop-yarn.sh YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root报错2: WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER. Stopping namenodes on [h151.c7] Last login: Tue Jun 13 16:07:57 CST 2023 on pts/0 h151.c7: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). Stopping datanodes Last login: Tue Jun 13 16:08:15 CST 2023 on pts/0 localhost: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). Stopping secondary namenodes [h151.c7] Last login: Tue Jun 13 16:08:16 CST 2023 on pts/0 h151.c7: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). Stopping nodemanagers ERROR: Attempting to operate on yarn nodemanager as root ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation. Stopping resourcemanager ERROR: Attempting to operate on yarn resourcemanager as root ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.解决方法: [root@h151 ~]# ssh-keygen -t rsa 一直回车直到显示 输入一下命令将秘钥复制进去 [root@h151 ~]# vi /root/.ssh/authorized_keys 然后输入start-all.sh就可以启动成功 输入jps查看是否启动 上传文件出现 Permission denied: user=dr.who, access=WRITE, inode="/":root:supergroup:drwxr-xr-x解决方案: hadoop.http.staticuser.user root dfs.permissions.enabled false |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |