Hadoop分布式集群安装配置
1.1 安装环境
操作系统deepin 15.11, VMware Workstation,hadoop 3.1.3 版本。在deepin 操作系统中安装 VMware Workstation,在 VMware Workstation中安装两个deepin系统,采用两个节点作为集群环境,一个作为Master节点,一个作为Slave 节点。
1.2 hadoop的安装准备
在Master节点和Slave节点都需要进行如下准备工作,主要是配置hadoop用户,安装SSH server和安装Java 环境。
- 在安装虚拟机系统时,每个系统都创建hadoop用户。
- 选择一个节点作为Master, ctrl+alt+t打开终端,通过命令行方式进行安装,更新apt,执行如下命令。
sudo apt-get update
- 安装vim ,用于后续修改配置文件。
sudo apt-get install vim
- 安装SSH并登录主机。
sudo apt-get install openssh-serverssh localhost
- 配置SSH无密码登录,由于hadoop 远程登录只能无密码登录,因此需要配置无密登录。
退出登录: exitcd ~/.ssh/sh-keygen -t rsacat ./id_rsa.pub >> ./authorized_keys
- 安装Java 环境,采用jdk-8u162-linux-x64.tar.gz,在Documents/目录下。
cd /usr/libsudo mkdir jvmcd ~/Documents/sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm
- 配置环境变量,在配置文件开头位置添加如下内容。
打开配置文件:
cd ~vim ~/.bashrc
添加内容:export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH
- 查看jdk是否安装成功。
Java -version
1.3 安装Hadoop
在Master 节点安装hadoop ,并把/usr/local/中的hadoop 文件夹复制到其他Slave节点的/usr/local目录下。
- hadoop-3.1.3.tar.gz 在目录~/Documents/下,安装到/usr/local目录下。
cd ~/Documents/sudo tar zxf hadoop3.1.3.tar.gz -C /usr/local
- 修改文件夹名,并修改文件的权限。
cd /usr/local/sudo mv ./hadoop-3.1.3/ ./hadoopsudo chown -R hadoop ./hadoop
- 查看是否安装成功。
cd /usr/local/hadoop./bin/hadoop version
1.4 Hadoop集群配置
- 网络配置,配置每个节点的网络,采用桥接来实现节点之间的互联,通过NAT模式连接网络。
1)通过Edit->Virtual Netwrok Editor,点击Add Network添加一个网络,设置连接方式为桥接。
2)设置vmnet8中的子网号为192.168.138.0,子网掩码255.255.255.0和网关192.168.138.133,点击NAT Setting即可设置网关。
- 配置需要每个节点主机的IP 地址,在子网192.168.138.0下,设置IP地址,Master 节点的IP为:192.168.138.128, Slave节点的IP 为:192.168.138.131。
1)通过ifconfig来查看网卡的IP地址,如下图所示,ens33即为桥接网卡。
2)节点计算机静态IP 配置,执行如下命令打开配置文件。
Master节点:
sudo vim /etc/network/interfaces
添加内容:
auto ens33
iface ens33 inet static
address 192.168.138.128
通过如下命令使设置生效,出现OK字样则成功:
sudo /etc/init.d/networking restart
Slave节点:
用同样的方法设置,添加的内容为:
auto ens33
iface ens33 inet static
address 192.168.138.131
- 修改主机名,将Master节点的主机名为Master,将Slave节点的主机名改为Slave,分别在两个节点中执行如下命令。
sudo vim /etc/hostname - 在Master节点和Slave节点修改自己节点的IP 映射,添加如下相同内容。
执行如下命令,注释掉文件中除127.0.0.1 localhost 的其他的IP 地址映射。
sudo vim /etc/hosts添加IP映射:192.168.138.128 Master192.168.138.131 Slave
- 重启每个节点,完成主机名更新。
- 测试每个节点是否能Ping 通,通过如下命令测试。
ping Master -c 3ping Slave -c 3
- SSH无密吗登录节点,配置Master 节点可以远程登录其他Slave节点。由于修改过主机名,所以需要删除原来的SSH 公钥。在Master节点执行如下命令生成公钥。
cd ~/.sshrm ./id_rsa*ssh-keygen -t rsa
- 让Master 节点能无密登录SSH 本机,在Master节点执行如下命令.
cat ./id_rsa.pub >> ./authorized_keys
- 通过远程拷贝文件,将主机Master ssh公钥传输到Slave 节点。
scp ~/.ssh/id_rsa.pub hadoop@Slave:/home/hadoop/
- 在Slave 节点将 ssh 公钥加入授权,执行如下命令,需要删除原先SSH公钥。
mkdir ~/.sshcat ~/id_rsa.pub >> ~/.ssh/authorized_keysrm ~/id_rsa.pub
11. 在Master 节点上测试远程登录Slave 节点,可以看到主机名改变为Slave。
ssh Slave
12. 在Master节点配置hadoop 的PATH 变量,则可以直接使用hadoop,hdfs 相关命令而不需要转到相关目录。
打开配置文件:
vim ~/.bashrc添加内容:export PATH=$PATH:/usr/local/hadoop/bin:/usr/loacl/hadoop/sbin使配置生效:source ~/.bashrc
- 在Master节点修改配置目录/usr/local/hadoop/etc/hadoop目录下的5个配置文件。
- workers 文件
Master作为NameNode,Slave作为 DataNode。将DataNode的主机名写入workers 文件,删除localhost。添加如下内容。
Slave
- core-site.xml
修改标签中的内容如下。
<configuration><property><name>fs.defaultFS</name><value>hdfs://Master:9000</value></property><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abase for other temporary directories.</description></property></configuration>
- hdfs-site.xml
修改标签中的内容如下。
<configuration><property><name>dfs.namenode.secondary.http-address</name><value>Master:50090</value></property><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property></configuration>
- mapred-site.xml
修改标签中的内容如下。
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>Master:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>Master:19888</value></property></configuration>
- yarn-site.xml
修改标签中的内容如下。
<configuration><property><name>yarn.resourcemanager.hostname</name><value>Master</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property></configuration>
- 在Master节点通过远程拷贝Master 节点的/usr/loacl/hadoop目录到其他Slave 节点。首先先删除之前的临时文件和日志。
cd /usr/localsudo rm -r ./hadoop/tmpsudo rm -r ./hadoop/logs/*tar -zcf ~/hadoop.master.tar.gz ./hadoopcd ~scp ./hadoop.master.tar.gz Slave:/home/hadoop
- 在Slave 节点解压文件。
sudo rm -r /usr/local/hadoopsudo tar -zxf ~/hadoop.master.tar.gz -C /usr/localsudo chown -R hadoop /usr/local/hadoop
- 在Master 节点执行 NameNode 的格式化。
hdfs namenode -format
17. 在Master 节点上启动hadoop 集群,执行如下命令。
start-dfs.shstart-yarn.shmr-jobhistory-daemon.sh start historyserver
18. 通过jps 查看集群的节点启动的进程信息,分别在Master 和 Slave 节点执行jps。
Master 节点:
Slave 节点:
- 在Master节点查看集群的DataNode 是否正常启动。
hdfs dfsadmin -report
通过网页查看Slave 节点的相关信息:
- 关闭hadoop集群。
stop-yarn.shstop-dfs.shmr-jobhistory-daemon.sh stop historyserver或者通过如下命令关闭集群。stop-all.sh
1.5 总结
问题1:
- Master 节点NameNode 没有启 动,DataNode节点却启动了;
- 执行hdfs dfsadmin -report命令出现如下信息:
report:Call From Master/192.168.138.128 to Master:9000 failed on connection exception: java.net.ConnectException:拒绝连接;For more details see :http://wiki.apache.org/hadoop/ConnectionRefused
解决:分析发现,我没有配置slaves文件,在hadoop3.1.3版本中,不存在slaves文件,通过网络查询资料以及和同学交流,我发现slaves文件更改成了workes文件,因此配置workes文件;由于前后操作不当,因此导致了此问题。通过如下方式解决:
关闭集群,删除临时文件和日志,重新执行hdfs namenode -format.
问题2:
- 当关机重启后,集群无法启动,无法ping 通 ;
解决:分析发现各节点的IP发生了变化,导致 集群无法启动,是由于采用了NAT 进行网络连接,NAT模式在每次重启计算机会动态分配IP 地址;采用桥接来实现各节点的连通,配置静态IP.
参考文献
1.厦门大学数据库实验室,http://dblab.xmu.edu.cn/blog/install-hadoop-cluster/
2.网络配置,https://www.cnblogs.com/guangluwutu/p/9705136.html,
https://www.cnblogs.com/lilongxin/p/9034245.html
Hadoop分布式集群安装配置相关推荐
- Ceph分布式集群安装配置
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站:https://www.captainai.net/dongkelun 前言 记录Ceph分布式集群安 ...
- Hadoop分布式集群安装在三台Ubuntu系统电脑
前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很多问题.以下是自己根据搭建Hadoop分布式集群的经验希望给新手一些帮助.当然,建议先把HDFS ...
- Hbase完全分布式集群安装配置(Hbase1.0.0,Hadoop2.6.0)
1.安装软件 OS:centos6.5 Hadoop:hadoop2.6.0 Hbase:hbase.1.0.0 JDK: jdk1.7.0_51 集群机器: 192.168.153.130(hado ...
- Hadoop分布式集群安装
环境准备 操作系统使用ubuntu-16.04.2 64位 JDK使用jdk1.8 Hadoop使用Hadoop 2.8版本 镜像下载 操作系统 操作系统使用ubuntu-16.04.2-deskto ...
- Hadoop集群安装部署_分布式集群安装_02
文章目录 一.上传与 解压 1. 上传安装包 2. 解压hadoop安装包 二.修改hadoop相关配置文件 2.1. hadoop-env.sh 2.2. core-site.xml 2.3. hd ...
- 一步步教你Hadoop多节点集群安装配置
一步步教你Hadoop多节点集群安装配置 1.集群部署介绍 1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统HDFS(Hado ...
- Hadoop分布式集群的安装与部署实训总结报告
目录 前言 一.Hadoop平台框介绍 1.Hadoop的架构 2.HDFS:遵循主从架构,它具有以下元素. 2.1 名称节点 -Namenode 2.2 数据节点 - Datanode 2.3 块 ...
- hadoop分布式集群搭建
hadoop集群搭建前的准备(一定要读):https://blog.51cto.com/14048416/2341450 hadoop分布式集群搭建: 1. 集群规划: 2.具体步骤: (1)上传安装 ...
- ZooKeeper伪分布式集群安装及使用
为什么80%的码农都做不了架构师?>>> ZooKeeper伪分布式集群安装及使用 让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在V ...
最新文章
- 小米AIoT开发者大会28日召开,雷军的AIoT和小米的这一年
- mysql 游标 ,嵌套游标
- Python 笔试集(4):True + True == ?
- 晨读打卡(2018.1)
- 计算机网络按拓扑结构可分为三种基本型,2012年计算机三级网络技术基本概念与名词解释(3)...
- React 的开发成本太高了?
- text——Android下的默认字体详解
- 围棋人机大战一周年:被AlphaGo改变的世界
- 单继承、多继承、菱形继承的虚函数表
- 一则“HTTP 405 Method Not Allowed”的解决办法
- 群面时被问到“让你淘汰一个组员”一般如何淘汰谁?
- 前15天mysql_15天快速学习数据库Mysql基础操作命令
- 【数字IC验证快速入门】14、SystemVerilog学习之基本语法1(数组、队列、结构体、枚举、字符串...内含实践练习)
- 文件篮的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 华为5g服务器硬件供应商,华为发布5G多模终端芯片和商用终端
- myeclipse10过期
- 计算机vf中rest是什么意思,vf常用命令(全)
- 流媒体服务器+终端(android,ios,web),如何从海康平台上拉流接入RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播流媒体服务器EasyNVR?...
- 安装arm-linux-gnueabihf-gcc -v后出现问题
- 详细nginx配置websocket的wss协议
热门文章
- [Kaggle] Heart Disease Prediction
- LeetCode 391. 完美矩形(set检查顶点+面积检查)
- LeetCode 1027. 最长等差数列(DP)
- LeetCode 974. 和可被 K 整除的子数组(哈希map)
- LeetCode 925. 长按键入(双指针)
- LeetCode 231. 2的幂 LeetCode 338. 比特位计数(2进制1的个数)
- 数据结构--栈--浏览器前进后退应用
- mac node oracle,将Python3.5(Mac OS X El Capitan)连接到Oracle集群(远程)
- adhoc包无法安装_iOS 5.1.1 设备不能安装AdHoc问题版本号
- 如何将网页保存为图片_网页账号密码该如何保存?