Linux虚拟机搭建Hadoop集群环境
Linux虚拟机搭建Hadoop集群环境
1.1虚拟机环境准备
1.1.1创建虚拟机
使用VBox创建一个新的Cos7虚拟机
1.1.2更改虚拟机IP地址
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
修改为如下内容,设置ip为192.168.56.200
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s3 UUID=2bc72089-8564-4966-abb0-6638df3383c7 DEVICE=enp0s3 ONBOOT=yes IPADDR=192.168.56.200
重启网络
systemctl restart network
1.1.3修改主机名
-
设置主机名
设置为classhadoop
hostnamectl set-hostname classhadoop
查看
hostnamectl
-
修改主机名查询静态表
编辑
vi /etc/hosts
插入内容
192.168.56.200 classhadoop
1.1.4关闭防火墙
-
关闭防火墙
systemctl stop firewalld
-
禁用防火墙
systemctl disable firewalld
显示以下内容表示禁用成功:
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
1.1.5创建hadoop用户
- 创建hadoop用户方便管理
添加用户
useradd hadoop
设置密码
passwd hadoop
- 为hadoop用户添加使用sudo不用输密码的权限
使用root用户修改/etc/sudoers文件
chmod 660 /etc/sudoers
vi /etc/sudoers
找到"Allow root to run any commands anywhere"
添加:
root ALL=(ALL) ALL kgc ALL=(ALL) ALL(或者是NOPASSWD:ALL)
此时在test用户下使sudo不用输入root密码(在第一次使用时要输入test密码确认身份)
1.1.6创建Hadoop环境存放的目录
在/opt目录下创建文件夹
-
在/opt目录下创建install、software文件夹
-
修改install、software文件夹的所有者
chown hadoop:hadoop /opt/install/ /opt/software/
1.2安装JDK
hadoop是使用java开发的,所以要先安装java环境
在linux系统下hadoop用户下的software目录中上传软件包。
-
解压tar压缩包
tar -zxf jdk* -C /opt/install/
如果是.gz格式参数用-zxvf
-
配置jdk环境变量
vi /etc/profile
在最后在PATH和CLASSPATH添加jJAVA_HOME和JRE_HOME的lib目录与bin目录
export JAVA_HOME=/opt/install/jdk1.8.0_161 export JRE_HOME=/usr/lib/jdk1.8.0_161/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
-
测试jdk
java -version
1.3安装Hadoop
1.3.1下载安装hadoop
- Hadoop下载地址:
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/
- 将Hadoop安装包解压安装文件到/opt/install下面
tar -zxf hadoop-2.7.2.tar.gz -C /opt/install/
-
将hadoop添加到环境变量
[ol]获取hadoop安装路径
[root@classhadoop hadoop-2.6.0-cdh5.14.2]# pwd
-
打开/etc/profile文件
vi /etc/profile
##HADOOP_HOME export HADOOP_HOME=/opt/install/hadoop-2.6.0-cdh5.14.2 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin
source /etc/profile
hadoop集群设计
classhadoop(200) | classhadoop1(201) | classhadoop2(202) | |
---|---|---|---|
HDFS | NameNode DataNode |
DataNode | SecondaryNameNode DataNode |
YARN | NodeManager | ResourceManager NodeManager |
NodeManager |
1.3.2配置hadoop
hadoop的配置文件放在{HADOOP_HOME}/etc/hadoop/下
-
hadoop-env.sh
vi hadoop-env.sh
# The java implementation to use. export JAVA_HOME=/opt/install/jdk1.8.0_161 //这里放自己的java目录
-
hadoop核心配置文件core-site.xml
mkdir /opt/hadoopdata
vi core-site.xml
将下面内容复制到configuration标签中
<property> <!-- 指定HDFS中NameNode的地址 --> <name>fs.defaultFS</name> <value>hdfs://classhadoop:9000</value> </property> <!--设置hdfs文件存储目录--> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoopData</value> </property> <!--设置用户权限,默认是root用户--> <property> <name>hadoop.proxyuser.root.users</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property>
-
hdfs-site.xml:hdfs文件系统配置
配置副本数量为2vi hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <!--设置secondaryNN--> <property> <name>dfs.namenode.secondary.http-address</name> <value>classhadoop2:50090</value> </property> </configuration>
-
测试
格式化NameNode(第一次启动时格式化,以后就不要总格式化)
hdfs namenode -format
-
启动NameNode
hadoop-daemon.sh start namenode
-
启动DataNode
hadoop-daemon.sh start datanode
-
查看是否启动成功
jps
下面说明ok
[root@classhadoop logs]# jps 10896 Jps 10787 DataNode 10734 NameNode
mapreduce配置文件
mapred-env.sh
配置java_home
export JAVA_HOME=/opt/install/jdk1.8.0_161
mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<configuration> <!-- 指定mr运行在yarn上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
yarn-site.xml
vi yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>classhadoop1</value> </property> <!-- reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
2.3.3 SSH无密码登录
-
生成公钥私钥
使用hadoop用户ssh-keygen -t rsa
-
将公钥放到authorized_keys文件中
cat id_rsa.pub > authorized_keys
配置两个从机
复制classhadoop1,更改主机名与ip地址
集群测试
-
如果是第一次启动需要格式化NameNode
hdfs namenode -format
-
启动HDFS
start-dfs.sh
-
启动YARN
start-yarn.sh
注意:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。
- 点赞 1
- 收藏
- 分享
- 文章举报
- Hadoop2.7.1 集群环境搭建(虚拟机)
- Linux下Hadoop2.6.0集群环境的搭建
- Linux下Hadoop2.6.0集群环境的搭建
- (超详细版) Linux下安装配置Hadoop2.7.7集群环境搭建---基础环境配置
- hadoop2.6.2集群环境搭建在经过几天的环境搭建,终于搭建成功,其中对于hadoop的具体设置倒是没有碰到很多问题,反而在hadoop各节点之间的通信遇到了问题,而且还反复了很多遍,光虚拟机就重
- Linux下Hadoop2.6.0集群环境的搭建
- Linux环境下搭建hadoop分布式集群
- Linux下Hadoop2.7.1集群环境的搭建(超详细版)
- 搭建VM的虚拟机下hadoop集群环境
- (二)hadoop系列之__linux虚拟机搭建JDK和Eclipse环境
- Hadoop化繁为简(一)-从安装Linux到搭建集群环境
- Win8上MyEclipse10开发hadoop的环境搭建和连接Linux集群
- (2)虚拟机下hadoop1.1.2集群环境搭建
- Hadoop化繁为简(一)-从安装Linux到搭建集群环境
- (二)hadoop系列之__linux虚拟机搭建JDK和Eclipse环境
- Linux下Hadoop2.7.1集群环境的搭建(超详细版)
- 请在linux环境下搭建hadoop单机模式的集群
- Linux下Hadoop2.7.1集群环境的搭建(超详细版)
- hadoop环境搭建和在本地用虚拟机模拟分布式集群的搭建
- 虚拟机下32位CentOs版本的linux下hadoop2.4.1集群搭建(3个节点版本)