CentOS7.6下实现Hadoop搭建

CentOS7.6下实现Hadoop和openGaussda的搭建(仅供学习)

第一步:下载CentOS7.6

我直接给你网盘(这里以DVD版为例),官网的是在太慢了(当然用了插件除外),有耐心的同学可以去官网下载

链接:https://pan.baidu.com/s/1_GyioYcUcfLgz8v_z34YEw
提取码:zqvw
复制这段内容后打开百度网盘手机App,操作更方便哦

第二步:安装CentOS7.6

这里的硬件配置选择 4cpu、4g、40gb即可
第一:这里选择操作系统选择linux,版本选择CentOS7 64位
在这里插入图片描述
第二:网络类型选择:NAT,不要作死选桥接
第三:自定义硬件–>新的CD/DVD选择你下好的镜像
第四:软件安装选择:GNOME即可,语言尽量选择English

第三步:搭建Hadoop

注意:全部切换到root下进行操作,su root,然后输入密码即可

# 我用的主机名和ip地址
Master1 192.168.6.101
Slave1 192.168.6.102
Slave2 192.168.6.103

3.1 修改默认主机名(修改对应服务器的主机名)

# /etc/hostname目录下
Master、Slave1、Slave2

3.2 修改ip

3.2.1 修改ip地址(ifcfg-ens33 这里可能不同的主机的设备名不一样,注意服务器都要改,只有IPADDR不同)
#修改 /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO="static"
ONBOOT="yes"

添加(IPADDR就是你要设置的ip地址(这里一定要通过window下的cmd,输入ipconfig,查看VM8对应的ip,然后保证自己取得ip与其在同一网关,即若VM8对应的为192.168.6.1则ip可以取192.168.6.X,X可以在2~255之间)
NETMAST、GATEWAY可以在VMWare中的编辑–>虚拟网络编辑器->VMnet8->NAT设置->子网掩码和网关
#BROADCAST 相当于网关的最后八位改为255)

#添加或修改 /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.168.6.101
NETMAST=255.255.255.0
GATEWAY=192.168.6.2
BROADCAST=192.168.6.255
3.2.2 重启网络服务
service network restart

3.3 设置DNS

这里一定要设置,好像是如果不设置,联网下载的时候总是会出现无法访问的情况,192.168.6.2这个设置成你自己的网关

# 添加到	/etc/resolv.conf 
nameserver 192.168.6.2
search localdomain

3.4 配置hosts (都要设置)

#  /etc/hosts中  添加在最后面    				
192.168.122.2 Master
192.168.122.3 Slave1
192.168.122.4 Slave2

3.5 安装java环境(不需要系统自带的jdk,所有服务器都要安装)

3.5.1 先卸载系统自带的,先查询系统自带的版本(在根目录下卸载,输入命令cd ~ 就会到根目录)

下载地址:
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

rpm -qa|grep java
3.5.2 卸载以系统的,这里注意系统的jdk版本,下面命令中要更改,更改为你自己的(注意CentOS7Mini版本只有下面中的两个)
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
3.5.3 验证下卸载完毕
rpm -qa|grep java
3.5.4 安装jdk(注意版本,全都要换成你自己下载的版本)

我这里是直接在linux下的浏览器下载的jdk1.8.0_271

第一:在/home目录下创建java目录(mkdir /home/java),然后使用mv命令,将Downloads下的“jdk-8u271-linux-x64.gz”移动到/home/java目录下

第二:解压 tar -zxvf jdk-7u79-linux-x64.gz
第三:编辑 /etc/profile,
在其末尾添加以下内容:

export JAVA_HOME=/home/java/jdk1.8.0_271
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
export PATH=$PATH:$JAVA_HOME/bin 

第四:使配置生效,输入命令,source /etc/profile
第五:java -version
只要没报错,就是没问题

3.6 SSH免登录

注,重要:如果SSH互信失败,清空id_rsa.pub、authorized_keys、known_hosts下所有内容

命令如下:

cat /dev/null > 文件名
或直接删除所在目录下所有文件(即在/root/.ssh下执行以下命令)
rm -f * 
3.6.1 输入命令,一直回车,要你输密码,也回车即可
ssh-keygen -t rsa
3.6.2 合并公钥(id_rsa.pub文件下内容)到authorized_keys文件,在master服务器,进入/root/.ssh目录,通过SSH命令合并
cat id_rsa.pub>> authorized_keys

Slave1、Slave2的id_rsa.pub中的内容合并到authorized_keys中。

3.6.3 slave1、slave2服务器的/root/.ssh目录下重复3.6.2步骤
3.6.4 测试下成功没(一定要测试,每台服务器都要测试,要不然后面会出现SSH不成功)

ssh 主机名
ssh root@ip地址
exit退出登录
首次会要求输入yes,每个服务器都ssh下其他服务器,然后会生成 known_hosts文件,里面存放了其与服务器的公钥

3.7 安装Hadoop(只有Master要安装,Slave通过scp传送即可)

3.7.1. 将hadoop移动到 /home/hadoop目录下(这个目录自己创建)
下载网址:https://archive.apache.org/dist/hadoop/common/
建议下载2.9.2版本,选择规格最大的下载即可

注意:这里的Downloads/handoop压缩包要看你hadoop下载的位置在哪,不要照搬我的(可以使用MobaXterm工具)

mkdir /home/hadoop 		# 创建目录
mv Downloads/handoop压缩包 /home/hadoop
3.7.2. 解压hadoop
tar -zxvf 压缩包名
3.7.3在 /home/hadoop下创建以下目录:tmp、dfs、dfs/data、dfs/name
3.7.4.配置文件(这里面的所有的hadoop版本都换成你自己下载的,以及Master1的名字也换成你自己的,这里是我的主机名和hadoop版本号)

注意:可能有些文件名不太一样,你在这个目录下用ls自己查看以下有哪些
修改文件的命令 vi 完整的文件名

3.7.4.1 /home/hadoop/hadoop-2.9.2/etc/hadoop下的core_site.xml
<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://Master1:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/tmp</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131702</value>
    </property>
</configuration>
3.7.4.2 /home/hadoop/hadoop-2.9.2/etc/hadoop下的hdfs-site.xml
<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///home/hadoop/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///home/hadoop/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>Master1:50090</value>
    </property>
    <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
    </property>
</configuration>
3.7.4.3 /home/hadoop/hadoop-2.9.2/etc/hadoop下的mapred-site.xml.template(注意有些同学可能是mapred-site.xml)
<configuration>
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
          <final>true</final>
    </property>
  <property>
     <name>mapreduce.jobtracker.http.address</name>
     <value>Master1:50030</value>
  </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>Master1:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>Master1:19888</value>
    </property>
    <property>
        <name>mapred.job.tracker</name>
        <value>http://Master1:9001</value>
    </property>
</configuration>
3.7.4.4 /home/hadoop/hadoop-2.7.0/etc/hadoop下的yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>      
        <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>Master1:8032</value>
    </property>
    <property>
       <name>yarn.resourcemanager.scheduler.address</name>
        <value>Master1:8030</value>
    </property>
    <property>
       <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>Master1:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>Master1:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>Master1:8088</value>
    </property>
     <property>
       <name>yarn.resourcemanager.hostname</name>
       <value>Master1</value>
</property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>2048</value>
    </property>
</configuration>
3.7.4.5 修改JAVA_HOME(/home/hadoop/hadoop-2.9.2/etc/hadoop下两个文件:hadoop-env.sh、yarn-env.sh)

注意:如果没有找到就直接添加(确保没有才添加),jdk版本为你自己的

export JAVA_HOME=/home/java/jdk1.8.0_271
3.7.4.6 配置节点/home/hadoop/hadoop-2.9.2/etc/hadoop下的slaves,将默认的localhost删掉,添加上你自己的slave服务器(就是那两个副服务器)
Slave1
Slave2
3.7.5 将Master1上配置好的Hadoop复制到各个节点上(这里需要等待一段时间,不要急,自己的ip地址)
scp -r /home/hadoop  192.168.122.3:/home/
scp -r /home/hadoop  192.168.122.4:/home/

3.8:启动hadoop(在主服务器上进行就行,但是所有服务器的防火墙必须关闭)

3.8.1. 初始化,进入/home/hadoop/hadoop-2.9.2的目录下,输入
bin/hdfs namenode –format
3.8.2. 启动hadoop,启动成功以后可以通过jps查看相关节点信息
sbin/start-dfs.sh
sbin/start-yarn.sh
# 或者直接用一条全部启动 
# sbin/start-all.sh
3.8.3. 关闭(命令和上面差不多,就是start换成了stop)
sbin/stop-dfs.sh
sbin/stop-yarn.sh
# sbin/stop-all.sh

这里提示下出现以下错误:
Slave2: ssh: Could not resolve hostname slave2: Name or service not known
去 /etc/hosts中检查下你的ip或者主机名是否写错了

3.9. 测试

3.9.1 关闭防火墙
查看防火墙状态:systemctl status firewalld
关闭防火墙:systemctl stop firewalld.service
3.9.2 测试方法
  1. 打开火狐浏览器,输入ip和端口号(8088、50070)
http://192.168.122.2:8088/
http://192.168.122.2:50070/
  1. 输入命令:jps
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值