hadoop集群安装 vmware15.5+CentOs7

环境

vmware15.5

centos7完成安装配置

可采用最小安装或gnome界面安装,根据电脑配置选择

1.配置网络

理论上采用NAT网络模式,但问题过于玄学,笔者这里使用桥接网络

本人使用两台centos7分别作为主从节点,使用ip可以根据主机网关进行设置。

这里以192.168.2.115和192.168.2.116为例(注:根据自己的网关进行合理配置)

  vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改BOOTPROTO=static、ONBOOT=yes

IPADDR=192.168.2.115
NETWORK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=119.29.29.29
DNS2=192.168.220.2

尽量手敲,复制可能出错

重启网卡

systemctl restart network

查看ip是否设置成功

ip addr 

查看ens33的ip是否为设置的ip

ping www.baidu.com

测试网络是否连接

2.关闭防火墙

firewall-cmd --state             
看看防火墙状态

systemctl stop firewalld.service       
关闭防火墙

systemctl disable firewalld.service       
禁用防火墙

3.安装Java

java -version

查看是否存在已安装的Java版本

rpm -qa |grep java

如果有,删除卸载

rm -f Java版本

删除完毕之后,从官网下载对应的jdk二进制包,若网络较慢可以选择其他镜像文件

创建安装目录

mkdir /usr/local/java

 解压到目录

tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/java/

设置环境变量

vim /etc/profile

添加

export JAVA_HOME=/usr/local/java/对应的安装版本
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

生效

source /etc/profile

检查版本

java -version

4.克隆本虚拟机

可以根据需求选择克隆数量

5.修改信息

接下来将用master和slave1区分主从节点

修改命令

master:
hostnamectl set-hostname master
slave1:
hostnamectl set-hostname slave1

修改slave1的ip为192.168.2.116(与masterip不同)

分别更改hosts文件

vi /etc/hosts
192.168.2.115  master
192.168.2.116  slave1

全部重启

6.配置免密登录

查看ssh状态

systemctl status sshd.service

 image1

设置开机自启

systemctl enable sshd.service

 生成秘钥,两台虚拟机都需要执行以下步骤

ssh-keygen -t rsa

一路回车到最后 

进入文件夹

cd /root/.ssh

将公钥放入授权文件

cat id_rsa.pub >> authorized_keys

更改文件权限

chmod 644 authorized_keys

 交换秘钥

master:
scp /root/.ssh/authorized_keys slave1:/root/.ssh 
slave1:
scp /root/.ssh/authorized_keys master:/root/.ssh 

 重启ssh后可登录测试

ssh slave1
ssh master

7.安装hadoop

 

注意:

一下涉及到目录的配置,一定要以实际为准!!!

 

下载地址:http://hadoop.apache.org/releases.html

选择binary二进制下载

解压到目录:

tar -zxvf hadoop-2.6.0-cdh5.15.1.tar.gz -C /usr

配置HADOOP_HAME环境变量

vim /etc/profile

添加

export HADOOP_HOME=/usr/hadoop-2.10.0         这里hadoop-2.10.0以自己的名称为准
export PATH=$PATH:$HADOOP_HOME/bin

生效

source /etc/profile

配置hadoop-env.sh

cd $HADOOP_HOME/etc/hadoop
vim hadoop-env.sh

添加

export JAVA_HOME=/usr/Java/jdk1.8.231      目录地址以实际为准

配置core-site.xml

vim core-site.xml

添加

<configuration>
    <!--配置hdfs文件系统的命名空间-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:8020</value>
    </property>

   <!-- 指定使用hadoop时产生文件的临时存放目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop-2.10.0</value>
    </property>
</configuration>

 master 指的是主节点的名称;8020是使用的虚拟机端口(可以设别的,但是要记住!)

hadoop.tmp.dir的文件目录可以自行设定

 

配置hdfs-site.xml

vim hdfs-site.xml

添加

<configuration>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
    
<!-- 指定hdfs中namenode的存储位置 -->
<property>
    <name>dfs.namenode.name.dir</name>
    <value>/usr/hadoop-2.10.0/name</value>
</property>

<!--指定hdfs中datanode的存储位置-->
<property>
    <name>dfs.datanode.data.dir</name>
    <value>/usr/hadoop-2.10.0/data</value>
</property>

<!--hdfs的检测目录-->
<property>
	<name>fs.checkpoint.dir</name>
	<value>...</value>
</property>

<!--hdfs的namenode的web ui地址-->
<property>
	<name>dfs.http.address</name>
	<value>master:50070</value>
</property>

<!--hdfs的snn的web ui地址-->
<property>
	<name>dfs.secondary.http.address</name>
	<value>master:50090</value>
</property>

<!--是否开启web操作hdfs-->
<property>
	<name>dfs.webhdfs.enabled</name>
	<value>false</value>
</property>

<!--是否启用hdfs的权限(acl)-->
<property>
	<name>dfs.permissions</name>
	<value>false</value>
</property>

</configuration>

1指的是从节点的数量

 

配置yarn-site.xml

vim yarn-site.xml

 添加

<configuration>

<!-- nomenodeManager获取数据的方式是shuffle -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

<!--指定rm所启动的服务主机名-->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>master</value>
</property>

<!--指定rm的内部通信地址-->
<property>
	<name>yarn.resourcemanager.address</name>
	<value>master:8032</value>
</property>

<!--指定rm的scheduler的内部通信地址-->
<property>
	<name>yarn.resourcemanager.scheduler.address</name>
	<value>master:8030</value>
</property>

<!--指定rm的resource-tracker的内部通信地址-->
<property>
	<name>yarn.resourcemanager.resource-tracker.address</name>
	<value>master:8031</value>
</property>

<!--指定rm的admin的内部通信地址-->
<property>
	<name>yarn.resourcemanager.admin.address</name>
	<value>master:8033</value>
</property>

<!--指定rm的web ui监控地址-->
<property>
	<name>yarn.resourcemanager.webapp.address</name>
	<value>master:8088</value>
</property>

</configuration>

 配置mapred-site.xml

vim mapred-site.xml 

 添加

<configuration>
<!-- Map/Reduce运行在YARN上 -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

<!--历史服务的通信地址-->
<property>
	<name>mapreduce.jobhistory.address</name>
	<value>master:10020</value>
</property>

<!--历史服务的web ui地址-->
<property>
	<name>mapreduce.jobhistory.webapp.address</name>
	<value>master:19888</value>
</property>

</configuration>

配置slaves

vim slaves

输入master,slave1

远程发送到slave1或者在slave1上重复操作安装步骤

远程指令

scp -r /usr/hadoop-2.10.0 slave1:/usr/hadoop-2.10.0

8.启动hadoop

hdfs格式化

cd $HADOOP_HOME/bin
hdfs namenode -format

启动hdfs

cd $HADOOP_HOME/sbin
./start-dfs.sh

查看master

[root@master sbin]# jps
7429 ResourceManager
7063 NameNode
7545 Jps
7260 SecondaryNameNode

查看slave1

[root@slave1 admin]# jps
4435 NodeManager
4634 Jps
4303 DataNode

出现hadoop2.0以后的版本不在有jobtracker进程;DataNode也可以设置在master节点

以上进程则安装成功,否则进入hadoop-2.10.0/logs目录查看对应缺少进程的日志寻找问题

主要与hadoop-2.10.0/etc/hadoop内的配置文件内容相关,若以上配置不能解决问题,建议寻找其他配置方法尝试

网页查看

浏览器键入master:8088或master:50070

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值