目录前言
成都网站设计、成都做网站的开发,更需要了解用户,从用户角度来建设网站,获得较好的用户体验。创新互联建站多年互联网经验,见的多,沟通容易、能帮助客户提出的运营建议。作为成都一家网络公司,打造的就是网站建设产品直销的概念。选择创新互联建站,不只是建站,我们把建站作为产品,不断的更新、完善,让每位来访用户感受到浩方产品的价值服务。
本次教程是基于学校的大数据实验而做的,博主在搭建的同时,记录了自己的命令运行结果截图,在图书馆搭建环境+写博客,也花了将近3个小时。长时间眼睛对着电脑会很伤眼睛,所以童鞋们需要注意保护好眼睛,做做眼保健操。希望学到的童鞋可以点个赞!1.创建Hadoop用户(在master,node1,node2执行)
顺序执行以下命令即可
1.创建hadoop用户sudo useradd -m hadoop -s /bin/bash
设置用户密码(输入两次)sudo passwd hadoop
添加权限sudo adduser hadoop sudo
切换到hadoop用户(这里要输入刚刚设置的hadoop密码)su hadoop
2.更新apt下载源(在master,node1,node2执行)sudo apt-get update
截图展示(以master为例)3. 安装SSH、配置SSH免密登录 (在master,node1,node2执行)
1.安装SSHsudo apt-get install openssh-server
2.配置SSH免密登录ssh localhostexit cd ~/.ssh/ ssh-keygen -t rsa #一直按回车cat ./id_rsa.pub >> ./authorized_keys
3.验证免密ssh localhostexit cd ~/.ssh/ ssh-keygen -t rsa #一直按回车cat ./id_rsa.pub >> ./authorized_keys
截图展示(以master为例)4.安装Java环境 (在master,node1,node2执行)
1.下载 JDK 环境包sudo apt-get install default-jre default-jdk
2.配置环境变量文件vim ~/.bashrc
3.在文件首行加入export JAVA_HOME=/usr/lib/jvm/default-java
4,。让环境变量生效source ~/.bashrc
5.验证java -version
截图展示(以master为例)修改主机名(在master,node1,node2执行)
1.将文件中原有的主机名删除,master中写入master,node1中写入node1,node2…(同理)sudo vim /etc/hostname
重启三个服务器reboot
重启成功后,再次连接会话,发现主机名改变了
截图展示(以node1为例)修改IP映射(在master,node1,node2执行)
查看各个虚拟机的ip地址ifconfig -a
如果有报错,则下载 net-tools ,然后再运行即可看到sudo apt install net-tools
如下图,红色方框内的就是 本台虚拟机的 ip 地址
3台虚拟机中都需要在 hosts 文件中加入对方的ip地址sudo vim /etc/hosts
SSH免密登录其他节点(在master上执行)
在Master上执行cd ~/.ssh rm ./id_rsa* # 删除之前生成的公匙(如果有)ssh-keygen -t rsa # 一直按回车就可以cat ./id_rsa.pub >> ./authorized_keysscp ~/.ssh/id_rsa.pub hadoop@node1:/home/hadoop/scp ~/.ssh/id_rsa.pub hadoop@node2:/home/hadoop/
在node1,node2都执行cat ~/id_rsa.pub >> ~/.ssh/authorized_keysrm ~/id_rsa.pub # 用完就删掉
验证免密登录ssh node1exitssh node2exit
以master为例截图展示安装hadoop3.2.1(在master中执行)
有些镜像的下载网址失效了,这里贴出官网的下载地址。
下载网址:
下载好,之后通过VMware-Tools上传到master的/home/hadoop中
cd /home/hadoopsudo tar -zxf hadoop-3.2.1.tar.gz -C /usr/local #解压cd /usr/local/sudo mv ./hadoop-3.2.1/ ./hadoop # 将文件夹名改为hadoopsudo chown -R hadoop ./hadoop # 修改文件权限
验证cd /usr/local/hadoop./bin/hadoop version配置hadoop环境(这一步需要很仔细)
配置环境变量vim ~/.bashrc
在首行中写入export HADOOP_HOME=/usr/local/hadoopexport PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
使得配置生效source ~/.bashrc
创建文件目录(为后面的xml做准备)cd /usr/local/hadoopmkdir dfscd dfsmkdir name data tmpcd /usr/local/hadoopmkdir tmp
配置hadoop的java环境变量vim $HADOOP_HOME/etc/hadoop/hadoop-env.shvim $HADOOP_HOME/etc/hadoop/yarn-env.sh
两个的首行都写入export JAVA_HOME=/usr/lib/jvm/default-java
(master中)配置nodescd /usr/local/hadoop/etc/hadoop
删除掉原有的localhost,因为我们有2个node,就把这2个的名字写入vim workersnode1node2
配置 core-site.xmlvim core-site.xml
因为我们只有一个namenode,所以用fs.default.name,不采用fs.defalutFs
其次确保/usr/local/hadoop/tmp这个目录存在vim hdfs-site.xml
dfs.namenode.secondary.http-address确保端口不要和core-site.xml中端口一致导致占用
确保/usr/local/hadoop/dfs/name :/usr/local/hadoop/dfs/data 存在
因为我们只有2个node,所以dfs.replication设置为2vim mapred-site.xml
vim yarn-site.xml
cd /usr/localtar -zcf ~/hadoop.master.tar.gz ./hadoop #压缩cd ~
复制到node1中scp ./hadoop.master.tar.gz node1:/home/hadoop
复制到node2中scp ./hadoop.master.tar.gz node2:/home/hadoop
在node1、node2上执行
sudo rm -r /usr/local/hadoop # 删掉旧的(如果存在)sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local #解压sudo chown -R hadoop /usr/local/hadoop #修改权限
首次启动需要先在 Master 节点执行 NameNode 的格式化,之后不需要hdfs namenode -format
(注意:如果需要重新格式化 NameNode ,才需要先将原来 NameNode 和 DataNode 下的文件全部删除!!!!!!!!!)#看上面的文字,不要直接复制了rm -rf $HADOOP_HOME/dfs/data/*rm -rf $HADOOP_HOME/dfs/name/*启动 (在master上执行)start-all.shmr-jobhistory-daemon.sh start historyserver
master中,出现Warning不影响jps
运行截图展示关闭hadoop集群(在master上执行)stop-all.shmr-jobhistory-daemon.sh stop historyserver
运行截图展示总结
搭建环境是一件比较耗时的操作,自己亲手搭一遍,可能其中会遇到很多问题,比如说Linux的命令不熟悉,各种报错,运行结果不对等,但是这些一般都可以在网上搜索到对应的解决方法。学习新技术就是要勇于试错,然后归纳总结,这样子会形成自己的一套解决问题的逻辑框架思维,也可以增强知识框架的形成,加油!
到此这篇关于VMware + Ubuntu18.04 搭建Hadoop集群环境的图文教程的文章就介绍到这了,更多相关VMware Ubuntu搭建Hadoop集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!