HADOOP安装与配置

HADOOP安装与配置

登入:

localhost login:root
password: root00

配置网络:

ping www.baidu.com
cd /etc/sysconfig/network-scripts
vi ifcfg-enp0s3

改onboots=yes

service network restart  #重启

Java环境安装:

mkdir /usr/java
cd /usr/java
wget #报错就安装wget
yum –y install wget
wget [jdk地址]
vi /etc/profile

#添加以下内容到文件最后

export JAVA_HOMW=/usr/java/jdk1.8.0_161
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

然后virtual box关机 复制master两次并分别命名为slave1和slave2
修改主机名和host文件:

hostname #查看主机名
hostname master/ hostname slave1  /hostname slave2 # 分别修改三个虚拟机的主机名
vi /etc/hosts #打开文件,并修改主机名称

在文件最后,三个虚拟机每一个都需要加这三行

Ip地址1     master
Ip地址2     slave1
Ip地址3     slavw2

SSH免秘钥登录:

su hadoop
hadoop
ssh-keygen  #一直按回车 三个虚拟机中都要操作这一步

#master虚拟机中 以及 slave1 虚拟机中

ssh-copy-id hadoop@slave1						
ssh-copy-id hadoop@master				#master
ssh-copy-id hadoop@slave2						
ssh-copy-id hadoop@slave2				#slave1

操作成功会要求输入密码(hadoop)
Slave2虚拟机中的指令类推
关闭防火墙:

firewall-cmd –list-all #查看防火墙
systemctl stop firewalld
systemctl disable firewalld #关闭防火墙/禁止开机启动
getenforce (命令相应如下 enforcing) #关闭SELinux
sentenforce 0 #(临时关闭)
vi /etc/selinux/config #(永久关闭) 

(由于用书中默认关闭防火墙,故这里用了永久关闭,然而生产环境中是不可以的)
讲SELINUX=enforcing修改为SELINUX=disabled
Hadoop的配置部署:

wget http://192.168.4.4:8080/devsoft/forlinux/hadoop-2.7.3/hadoop-2.7.3.tar.gz
tar –xzvf ~/hadoop-2.7.3.tar.gz  #hadoop安装包解压

#配置环境变量文件hadoop-env.sh

vi /home/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh 

将export JAVA_HOME=${JAVA_HOME}改为export JAVA_HOME=/usr/java/jdk1.8.0_161
#配置环境变量文件yarn-env.sh

vi /home/hadoop/hadoop-2.7.3/etc/hadoop/yarn-env.sh

将# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
改为 export JAVA_HOME=/usr/java/jdk1.8.0_161
#配置核心组件core-site.xml

vi ~/hadoop-2.7.3/etc/hadoop/core-site.xml

用以下代码替换其中内容:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
       <!--指定namenode的地址-->
       <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
       </property>
       <!--用来指定使用hadoop时产生文件的存放目录-->
       <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/hadoop/hadoopdata</value>
        </property>
</configuration>

#配置文件系统hdfs-site.xml

vi /home/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml

用以下代码替换其中内容:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
        <!--指定hdfs保存数据的副本数量-->
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
</configuration>

#配置文件系统yarn-site.xml

vi /home/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml

用以下代码替换其中内容:

<?xml version="1.0"?>
<configuration>
        <!--nomenodeManager获取数据的方式是shuffle-->
    <property>
           <name>yarn.nodemanager.aux-services</name>
           <value>mapreduce_shuffle</value>
    </property>
        <!--指定Yarn中ResourceManager的地址-->
    <property>
           <name>yarn.resourcemanager.address</name>
           <value>master:18040</value>
    </property>
    <property>    
           <name>yarn.resourcemanager.scheduler.address</name>
           <value>master:18030</value>
    </property>
    <property>
           <name>yarn.resourcemanager.resource-tracker.address</name>
           <value>master:18025</value>
    </property>
    <property>    
           <name>yarn.resourcemanager.admin.address</name>
           <value>master:18141</value>
    </property>
    <property>
            <name>yarn.resourcemanager.webapp.address</name>
            <value>master:18088</value>
   </property>
</configuration>

#配置计算框架mapred-site.xml文件:

cp     ~/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template  ~/hadoop-2.7.3/etc/hadoop/mapred-site.xml
vi /home/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml

用以下代码替换其中内容:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!--指定MR(Map/Reduce)运行在YERN上-->
  <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
  </property>
</configuration>

#在master节点配置slaves文件

vi /home/hadoop/hadoop-2.7.3/etc/hadoop/slaves

用以下代码替换其中内容:

slave1
slave2

#使用下面命令将hadoop文件复制到其他节点

scp –r hadoop-2.7.3 hadoop@slave1:/home/hadoop/
scp –r hadoop-2.7.3 hadoop@slave2:/home/hadoop/

#配置Hadoop启动的系统环境变量,需要同时在3个节点(master、slave1、 slave2)上进行操作,操作命令如下:

vi ~/.bash_profile

#将下面的代码追加到.bash_profile末尾:

#HADOOP
export   HADOOP_HOME=/home/hadoop/hadoop-2.7.3 
export   PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

#然后执行命令:

source ~/.bash_profile 

#创建数据目录,需要同时在三个节点(master、slave1、slave2)上进行操作。
在hadoop的用户主目录下,创建名为hadoopdata的数据目录,命令如下:

mkdir /home/hadoop/hadoopdata 

启动hadoop集群:

hdfs namenode –format  #格式化命令
sbin/start-all.sh 		#启动hadoop集群
jps			#查看进程是否启动,若成功启动则master会显示4个,scales显示3个

master
slave2
slave1

如果执行jps指令,slave中缺少一条信息,可以进行如下尝试:
1、查看/home/hadoopdata/dfs/data 的文件权限是否为root,如果是的话,删掉从另一个slave中复制
2、查看该slave是都ping得通master,可尝试 service network restart
3、查看防火墙是否关闭

bin/hadoop dfsadmin –report	#查看集群信息

集群信息

在master上启动Firefox浏览器

50070
在这里插入图片描述
18088
在这里插入图片描述

Pi

hadoop jar ~/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar pi 10 10

在这里插入图片描述

注:安装配置中注意备份。关闭防火墙及环境配置完成的节点可备份。
正常关机重启后需要执行source ~/.bash_profile才可正常运行

若遇到缺少进程的问题,可移步hadoop常见错误及处理方法这篇博文看看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值