| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> hadoop3.3.0安装详解 -> 正文阅读 |
|
[大数据]hadoop3.3.0安装详解 |
目录 ?背景本地vmware安装三台centos7的虚拟机,主机名和ip地址分别为hserver1:192.168.127.128;hserver2:192.168.127.129;hserver3:192.168.127.130,并实现免密登录,安装JAVA和hadoop3.3.0,详细安装过程如下。安装过程中参考了下面这个hadoop2.8的链接。hadoop3.x和hadoop2.8的部分特性不一样,配置文件内容也不同。 https://blog.csdn.net/pucao_cug/article/details/71698903 1.1下载hadoop网址http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.0 ? ? ? 1.2解压hadoop注意: 3台机器上都需要重复下面所讲的步骤。 上载文件并解压缩 在opt目录下新建一个名为hadoop的目录,并将下载得到的hadoop-3.3.0.tar上载到该目录下,如图: 进入到该目录,执行命令: cd?? /opt/hadoop 执行解压命令: tar -zxvf hadoop-3.3.0.tar.gz 说明:3台机器都要进行上述操作,解压缩后得到一个名为hadoop-3.3.0的目录。 ? 1.3新建目录在三台机器上分别新建目录 mkdir /root/hadoop mkdir /root/hadoop/tmp mkdir /root/hadoop/var mkdir /root/hadoop/dfs mkdir /root/hadoop/dfs/name mkdir /root/hadoop/dfs/data 1.4修改hadoop配置文件?修改/opt/hadoop/hadoop-3.3.0/etc/hadoop目录内的 1.4.1修改core-site.xml 使用vim命令 ? 在<configuration>节点加入以下配置 <property> ???? <name>hadoop.tmp.dir</name> ???? <value>/root/hadoop/tmp</value> ???? <description>Abase for other temporary directories.</description> ?</property> ?<property> ???? <name>fs.default.name</name> ???? <value>hdfs://hserver1:9000</value> ?</property> ? 1.4.2修改hadoop-env.sh 去掉注释,改成自己的java的路径 ? ? 1.4.3修改hdfs-site.xml 在<configuration>节点内加入配置: <property> ???<name>dfs.name.dir</name> ???<value>/root/hadoop/dfs/name</value> ???<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description> </property> <property> ???<name>dfs.data.dir</name> ???<value>/root/hadoop/dfs/data</value> ???<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description> </property> <property> ???<name>dfs.replication</name> ???<value>2</value> </property> ? 1.4.4修改mapred-site.xml 在<configuration>中加入以下配置 ?<property> ?? ?<name>mapred.job.tracker</name> ?? ?<value>hserver1:49001</value> </property> <property> ? ? ??<name>mapred.local.dir</name> ? ? ? ?<value>/root/hadoop/var</value> </property> <property> ? ? ? ?<name>mapreduce.framework.name</name> ? ? ? ?<value>yarn</value> </property> ? 1.4.5修改workers 将workers里面的localhost删掉,将hserver1作为namenode将hserver2和hserver3作为datanode,修改后如下 更新:worker配置信息更改为 hserver1 hserver2 hserver3 1.4.6修改yarn-site.xml 在<configuration>中加入以下配置 <property> ??????? <name>yarn.resourcemanager.hostname</name> ??????? <value>hserver1</value> ?? </property> ?? <property> ??????? <description>The address of the applications manager interface in the RM.</description> ??????? <name>yarn.resourcemanager.address</name> ??????? <value>${yarn.resourcemanager.hostname}:8032</value> ?? </property> ?? <property> ??????? <description>The address of the scheduler interface.</description> ??????? <name>yarn.resourcemanager.scheduler.address</name> ??????? <value>${yarn.resourcemanager.hostname}:8030</value> ?? </property> ?? <property> ??????? <description>The http address of the RM web application.</description> ??????? <name>yarn.resourcemanager.webapp.address</name> ??????? <value>${yarn.resourcemanager.hostname}:8088</value> ?? </property> ?? <property> ??????? <description>The https adddress of the RM web application.</description> ??????? <name>yarn.resourcemanager.webapp.https.address</name> ??????? <value>${yarn.resourcemanager.hostname}:8090</value> ?? </property> ?? <property> ??????? <name>yarn.resourcemanager.resource-tracker.address</name> ??????? <value>${yarn.resourcemanager.hostname}:8031</value> ?? </property> ?? <property> ??????? <description>The address of the RM admin interface.</description> ??????? <name>yarn.resourcemanager.admin.address</name> ??????? <value>${yarn.resourcemanager.hostname}:8033</value> ?? </property> ?? <property> ??????? <name>yarn.nodemanager.aux-services</name> ??????? <value>mapreduce_shuffle</value> ?? </property> ?? <property> ??????? <name>yarn.scheduler.maximum-allocation-mb</name> ??????? <value>1024</value> ???? ???<discription>每个节点可用内存,单位MB,默认8182MB</discription> ?? </property> ?? <property> ??????? <name>yarn.nodemanager.vmem-pmem-ratio</name> ??????? <value>2.1</value> ?? </property> ?? <property> ??????? <name>yarn.nodemanager.resource.memory-mb</name> ?????? ?<value>1024</value> </property> ?? <property> ??????? <name>yarn.nodemanager.vmem-check-enabled</name> ??????? <value>false</value> </property> ?????? 说明:yarn.nodemanager.vmem-check-enabled这个的意思是忽略虚拟内存的检查,如果你是安装在虚拟机上,这个配置很有用,配上去之后后续操作不容易出问题。如果是实体机上,并且内存够多,可以将这个配置去掉。 将以上6个文件复制到hserver2和hserver3的/opt/hadoop/hadoop-3.3.0/etc/hadoop目录进行覆盖 1.5修改/etc/profile在/etc/profile中添加hadoop的目录,否则在后续启动hadoop后会找不到hadoop命令 在/etc/profile中添加下面的命令 HADOOP_HOME=/opt/hadoop/hadoop-3.3.0 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH ?然后 执行 source /etc/profile 参考 https://www.itdaan.com/blog/2016/08/10/59922dc7d73f486fe08a36ebb3310192.html 二、启动hadoop2.1hadoop初始化hserver1是namenode,hserver2和hserver3是datanode,对namenode进行初始化 进入/opt/hadoop/hadoop-3.3.0/bin目录执行初始化命令 ./hadoop ?namenode ?-format 不报错的情况下会出现以下内容,运行成功 在/root/hadoop/dfs/name/current目录下可以看到产生了以下文件 ? 2.2启动hadoop进入/opt/hadoop/hadoop-3.3.0/sbin目录执行启动命令 ./start-all.sh 出现以下报错 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 [hserver1] 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. 参考以下两个链接: https://blog.csdn.net/weixin_33747129/article/details/94654752 2.2.1worker配置信息修改 最终修改了hserver1,hserver2,hserver3的worker的配置信息 更新:worker配置信息更改为 hserver1 hserver2 hserver3 2.2.2修改启动和停止配置 修改hserver1的start-dfs.sh,stop-dfs.sh,start-yarn.sh,stop-yarn.sh 将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数 HDFS_NAMENODE_USER=root HDFS_DATANODE_USER=root HDFS_SECONDARYNAMENODE_USER=root YARN_RESOURCEMANAGER_USER=root YARN_NODEMANAGER_USER=root ?start-yarn.sh,stop-yarn.sh顶部也需添加以下 YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root 修改后在hserver1上重新进行初始化 进入/opt/hadoop/hadoop-3.3.0/bin目录执行初始化命令 ./hadoop ?namenode ?-format ? 再进入/opt/hadoop/hadoop-3.3.0/sbin目录执行启动命令 ./start-all.sh 如果继续提示某个用户未定义,再次检查上述四个配置文件有没有敲错字母 三、测试hadoop关闭linux防火墙 systemctl stop firewalld.service ? 开机不自动启动防火墙 systemctl disable firewalld.service 不然每次都要关闭防火墙才能看到管理的web界面 我的namenode是hserver1,ip地址是192.168.127.128 在浏览器打开http://192.168.127.128:9870/ 四、使用hadoop命令行输入 hadoop fs -ls 提示 ?原因是因为-ls默认目录是在hdfs文件系统的/user/用户名(用户名就命令行@符号前面的那个东西),但是你的hdfs系统内没有这个文件夹,所以会显示No such file or directory。 所以你需要在hdfs文件系统内创建 使用 hdfs -dfs mkdir /user hdfs dfs -mkdir /user/root ? 在这个目录下新建一个文件,然后执行命令查看 hdfs dfs -touchz test.txt Hadoop fs -ls ? 参考https://blog.csdn.net/binbin_09_10/article/details/83382958 使用input将本地文件放到hadoop上 ? 使用get将hadoop上的文件放到本地 hadoop fs -get /user/root/input/test.txt /home/dcf/ 查看资源占用情况 hdfs dfsadmin -report 最后,安装中遇到了各种各样的问题,感谢文中链接部分的作者,筛选了适合我这种安装方式的答案链接,详情可查看链接作者。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:28:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |