Hadoop安装(vmfusion for mac、centos7)

实验步骤

本实验将利用vmfusion centos7,在宿主机mac中搭建hadoop集群。集群包含1个master节点、3个slave节点。

一、配置网络环境

  1. 配置虚拟机网卡

我使用的是vmfusion for mac

查看/Library/Preferences/VMware Fusion/vmnet8/dhcpd.conf文件。

或者是nat.conf文件,配置vm为静态分配ip的是这个文件。修改vmfusion为静态分配路由的方式是修改/Library/Preferences/VMware Fusion/networking文件中vm8网卡中的dhcp为no。
在VMware Workstation中,默认有三个虚拟交换机VMnet0用于桥接,VMnet1用于仅主机网络,VMnet8用于NAT

cd /Library/Preferences/VMware\ Fusion/vmnet8/
查看文件中包含的网卡网关子网掩码如下,并以此配置虚拟机的静态ip

...
# NAT gateway address
ip = 172.16.106.2
netmask = 255.255.255.0
...
  1. 在虚拟机上配置静态ip
    首先查询网络情况,查看在使用的是哪个网卡,如图我使用的是ens33
[root@localhost network-scripts]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
    valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:50:56:24:d5:78 brd ff:ff:ff:ff:ff:ff
    inet 172.16.106.191/24 brd 172.16.106.255 scope global noprefixroute ens33
    valid_lft forever preferred_lft forever
    inet6 fe80::9e38:dda8:4ec7:e0a0/64 scope link noprefixroute 
    valid_lft forever preferred_lft forever
  1. 编辑网卡
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33

修改并配置以下内容

BOOTPROTO=static
ONBOOT=yes
IPADDR=172.16.106.191
GATEWAY=172.16.106.2
NETMASK=255.255.255.0
DNS1=8.8.8.8

然后使用命令reboot重启虚拟机就行
3. 配置网络域名

vi /etc/hosts
# 请依照自己的网络配置添加以下内容
172.16.106.191 master
172.16.106.201 slave1
172.16.106.202 slave2
172.16.106.203 slave3

# 测试一下
ping master
PING master (172.16.106.191) 56(84) bytes of data.
64 bytes from master (172.16.106.191): icmp_seq=1 ttl=64 time=0.250 ms
64 bytes from master (172.16.106.191): icmp_seq=2 ttl=64 time=0.066 ms
64 bytes from master (172.16.106.191): icmp_seq=3 ttl=64 time=0.061 ms

二、安装jdk和hadoop

2.1 下载jdk

  1. https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html中找一下包。

推荐国内镜像https://mirrors.huaweicloud.com/java/

  1. 将jdk下载到本地
## 在Linux中opt目录常常用于存放测试软件和安装目录
cd /opt
curl https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64.tar.gz -O 
tar zxvf jdk-8u172-linux-x64.tar.gz

2.2 下载hadoop

  1. http://hadoop.apache.org/中找一下包

推荐国内镜像http://mirror.bit.edu.cn/apache/hadoop/common

  1. 下载到本地
cd /opt
curl http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz -O  # -O, --remote-name   Write output to a file named as the remote file
tar zxvf hadoop-2.7.7.tar.gz

2.3 配置环境

# 清楚掉有的没有下载包
rm -y *.gz
#  修改环境变量
vi /etc/profile
# 填入以下内容
export  JAVA_HOME=/opt/jdk1.8.0_172
export  PATH=$PATH:$JAVA_HOME/bin
export  HADOOP_HOME=/opt/hadoop-2.7.7
export  PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 保存退出
 # 使其生效
source /etc/profile

测试jdk是否安装成功

[root@8e53fc296522 opt]# java -version
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)

2.4 配置hadoop环境

推荐vscode中的一个ssh-remote插件,可以用来编辑服务器中的文件。

cd /opt/hadoop-2.7.7/etc/hadoop/
vi core-site.xml
编辑为以下内容
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
</configuration>
vi hdfs-site.xml
编辑为以下内容
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>
vi slaves
编辑为以下内容
slave1
slave2
slave3
复制 mapred-site.xml.template
cp  mapred-site.xml.template  mapred-site.xml
vi mapred-site.xml

修改为以下内容

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
vi yarn-site.xml 

修改为以下内容

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
        <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
            <value>master</value>
        </property>
</configuration>
最后一步,配置hadoop中的 java home

添加 JAVA_HOME=/opt/jdk1.8.0_172hadoop-env.sh 文件头部

三、集群配置

每一台机器要想通信,需要不一样的mac地址,不一样的ip,要不然网卡没有办法识别。
同时要想集群的每台机器都可以通过ssh相互访问,需要配置免密。

3.1 配置网卡Mac地址

  1. 使用shutdown关闭虚拟机
  2. 然后点击设置就行,如下图
    在这里插入图片描述

3.2 配置ip地址

按照一开始的配置方法进行配置

3.3 配置ssh

# 安装ssh服务
yum install -y openssl openssh-server
# 安装ssh客户端
yum install -y openssh-clients

3.4 配置免登录

# 生成一个公私钥对
ssh-keygen -t rsa

私钥在/root/.ssh/id_rsa
公钥在/root/.ssh/id_rsa.pub
将公钥的内容放在其他用户的~/.ssh/authorized_keys中,本机就能免密ssh访问其他用户了

[root@8e53fc296522 sysconfig]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:k9bssWFmLAW8Hef4guO0g1IiyNT/vo08KnQDm7Ffy/o root@8e53fc296522
The key's randomart image is:
+---[RSA 2048]----+
|       ..        |
|        ... .    |
|  .      o.=     |
| . +    .*o .    |
|o.  B   S.X.     |
|...=.+.o+B.+.    |
|  ..oo=+.oo.     |
|   ...o=*        |
|    .+=Eoo       |
+----[SHA256]-----+
vim ~/.ssh/authorized_keys
# 以下公钥来源于四台机器的`/root/.ssh/id_rsa.pub`文件中,请将这些信息整合输入。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6N5QVjUl04dpli5kiJYSaz8qAlB5vJYgdk+o9tKqtyWv4PxFDN2We8SXQJNpzMbFshLQy04XrogjI08+2lffrVaKaIRvlb9rZmIHm5ZGsGJNXNvgFlRiZiBHyGXJGG8voF+cwS2n+2wowh83FB3fiFpb7/vfaQHJVnks1uX55SBWDPOcXLZjeXvYwETehHpvyA4JP2VjevXWCMyzOeywp6bW9oRN85lF0EAWFb6pMevxqDgkfl+bIPbIQX66fo+bluRvtoNsu9YgN+v+DHZt7ncrR3rgmdjZ6VdsuVxcykl2Hs8VdVjCe8yPekT5HpsHG84TK7/D7XYS5WrlQAT5v root@master
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCfd/sX8WSbtVooTuL2a5MOXWRB5M9I2SD2OzYyDD566A1YZmS9eTHuxxGfCQ0YpxNF2eOPehDqzm6qqMlDvnRqWAbVuGe3XQmgtvNXGbQo3c09/78yXzer/ElyCoF8vJgPnThYcYtDp2qQjCBl7sgEfodABsYodKR4JeHdUDRlOHTvMV06TZGpD3Z4eNCYuJ8cIz7UqzLet8fPcYEKf2JOX8RVrlzh4nXseDEPPDK/83H/QbtCVVoROrU4tLdVFz5ws0Cf942s4MJPgUXDpi+Yu+r2pyTRgoBEhs09yPpzBoCyppwlCxAajr3qlicbyGGvJ8x6nyqPl5DftB2g8Rn3 root@slave1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYw/p2N1hnqKk0Q1rnKMkrF48hHf0w2ppz3BHpWdPI/uXt3OBvLN39GUZJ/D/LykYG/hw1ZQFY/8AvNOO+W8yw+gEBK0LlKlMZLdkflv23FAW9bAeMDbdkGxYdnO9rCvPNxRW3Z1fYdjJN5PU12WIDCqWATbzphlMXQgopwiLfJqx7GQWRLMc2dvwb1SZV9p1lO0JVcr9r7ThNxEyzIpmJphY1Enyh8YMv4l1Du6IQXuXsOpTeQ38xKcGUoQE5EZ64IX7QxbNdrtBAfu4VqZMsPwVfNSkOoST0nmj2f8jqub1dkAAO6WccdSVEFvkiFWNSFo6pGwGrE5KFSG/X3xoR root@slave2
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdttCPtW/paspiZHB62a+CjTOSXRVsUfYJDkxRcxPE8cawcijP0chuWtL8jJFh31I6JXYkBmjK/3s3VhT9gjrHd6VkTAs5BE855i/cbRAdq5LxkaR8w06TF/H3b8J9BCGWTsJRT9jTB1v61sFQ0Q1MwbihZ7t9IJDK5+2SimQGex055OMw8NhGCHaQBmdktO4/FH05ifdJGTj82u+ffYBBe/JEzFWL2BtmW9xSGm1w4XInHwM0bmca1jAhaeIK4dmO8yP3Tk0q4EDy26k8mFVZOss2hxCFoMfjV+Cjsu0Bxf9oHkbRzFi8a3SrcxS0wO71g7HHIjW+P+lG9EOsZKaN root@slave3

然后不同的节点之间就能互通了。可以使用ssh测试一下。

ssh root@172.16.106.191 # 或者 ssh root@master
ssh root@172.16.106.201 # 或者 ssh root@slave1
ssh root@172.16.106.202 # 或者 ssh root@slave2
ssh root@172.16.106.203 # 或者 ssh root@slave3

四、测试hadoop

  1. 格式化数据
    hadoop namenode -format
  2. 启动集群
    start-all.sh # 只在master节点上执行就行
  3. 在宿主机上访问 172.16.106.191:50070 172.16.106.191:8088
    在这里插入图片描述
    在这里插入图片描述
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Hadoop安装与配置CentOS7的步骤如下: 1. 安装Java环境 Hadoop需要Java环境支持,因此需要先安装Java环境。可以通过以下命令安装: ``` yum install java-1.8.0-openjdk-devel ``` 2. 下载Hadoop 可以从官网下载Hadoop,也可以使用以下命令下载: ``` wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz ``` 3. 解压Hadoop 使用以下命令解压Hadoop: ``` tar -zxvf hadoop-3.3.0.tar.gz ``` 4. 配置Hadoop环境变量 在/etc/profile文件中添加以下内容: ``` export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 然后执行以下命令使环境变量生效: ``` source /etc/profile ``` 5. 配置Hadoop 进入Hadoop的conf目录,编辑hadoop-env.sh文件,设置JAVA_HOME环境变量: ``` export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk ``` 然后编辑core-site.xml文件,添加以下内容: ``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 接着编辑hdfs-site.xml文件,添加以下内容: ``` <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/local/hadoop/hadoop_data/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/usr/local/hadoop/hadoop_data/hdfs/datanode</value> </property> </configuration> ``` 最后编辑mapred-site.xml文件,添加以下内容: ``` <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` 6. 格式化Hadoop文件系统 使用以下命令格式化Hadoop文件系统: ``` hdfs namenode -format ``` 7. 启动Hadoop 使用以下命令启动Hadoop: ``` start-all.sh ``` 8. 验证Hadoop是否正常运行 使用以下命令查看Hadoop运行状态: ``` jps ``` 如果输出类似以下内容,则表示Hadoop正常运行: ``` NameNode SecondaryNameNode DataNode ResourceManager NodeManager Jps ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值