欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

阿里云centos7.3配置hadoop2.7伪分布式环境

程序员文章站 2022-06-06 10:35:04
...

一、防火墙设置

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

二、修改主机名

vim /etc/hostname

我将主机名修改为master

阿里云centos7.3配置hadoop2.7伪分布式环境

reboot重启服务器生效

三、修改hosts配置文件

vim /etc/hosts

添加内网ip 主机名

阿里云centos7.3配置hadoop2.7伪分布式环境

四、安装SSH客户端

(1)安装ssh,询问时输入y

yum install openssh-clients openssh-server

(2)测试ssh是否安装完成

ssh master

阿里云centos7.3配置hadoop2.7伪分布式环境

(3)配置SSH免key登陆(必须要配置)

ssh-****** -t rsa -P '' -f ~/.ssh/id_rsa

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

chmod 0600 ~/.ssh/authorized_keys

(4)用ssh连接本机,此时不需要密码

阿里云centos7.3配置hadoop2.7伪分布式环境

五、配置java环境(如果已安装的跳过)

(1)下载解压安装包

由于1.8版本适用范围最广,这里安装jdk1.8版本,先下载安装包。

附百度云下载链接

链接:https://pan.baidu.com/s/1_A1pCLXvCMs5SxmpHPPYfg 
提取码:4e9h 

在/usr/local/目录下创建一名为java的文件夹,将安装包移入该文件夹。

先转到需要解压的目录下

cd /usr/local/java

解压安装包

tar -zxvf jdk-8u231-linux-x64.tar.gz

(2)添加环境变量

打开配置文件

vim /etc/profile

输入i进行编辑

在末尾加入

export JAVA_HOME=/usr/local/java/jdk1.8.0_231
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

编辑完毕后ctrl+c,输入:wq!回车退出

使配置文件生效

source /etc/profile

(3)查看是否配置成功

分别输入java -version和$JAVA_HOME/bin/java -version查看输出结果是否正确且一致。

六、安装hadoop

(1)下载解压安装包

由于hadoop2.7是最新的稳定版本,这里安装该版本。

在/usr/local/下创建hadoop文件夹,进入该目录下

cd /usr/local/hadoop/

在线下载hadoop安装包

wget http://archive.apache.org/dist/hadoop/core/hadoop-2.7.5/hadoop-2.7.5.tar.gz

在线下载可能会很慢,在此附上百度云下载链接

链接:https://pan.baidu.com/s/1S9kEMpDFSvN9JcH8J0uskA 
提取码:2295

解压安装包

tar -zxvf hadoop-2.7.5.tar.gz

查看是否安装成功

/usr/local/hadoop/hadoop-2.7.5/bin/hadoop version

阿里云centos7.3配置hadoop2.7伪分布式环境

七、修改配置文件

(1)设置环境变量

1.vim  ~/.bashrc

结尾添加

export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.5
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

使配置文件生效

source ~/.bashrc

2.vim /etc/profile

结尾添加

export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.5
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

阿里云centos7.3配置hadoop2.7伪分布式环境

使配置文件生效

source /etc/profile

(2)修改hadoop-env.sh

vim /usr/local/hadoop/hadoop-2.7.5/etc/hadoop/hadoop-env.sh
修改内容

export JAVA_HOME=/usr/local/java/jdk1.8.0_231

结尾添加

export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.5
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

(2)修改core-site.xml

vim /usr/local/hadoop/hadoop-2.7.5/etc/hadoop/core-site.xml

修改为如下内容

<configuration>    
    <property>        
        <name>hadoop.tmp.dir</name>        
        <value>file:/usr/local/hadoop/hadoop-2.7.5/tmp</value>        
        <description>location to store temporary files</description>    
    </property>    
    <property>        
        <name>fs.defaultFS</name>        
        <value>hdfs://master:9000</value>    
    </property>
</configuration>

(3)修改hdfs-site.xml

vim /usr/local/hadoop/hadoop-2.7.5/etc/hadoop/hdfs-site.xml

修改为以下内容

<configuration>    
    //设置HDFS文件副本数    
    <property>        
        <name>dfs.replication</name>        
        <value>1</value>    
    </property>    
    <property>         
        <name>dfs.client.use.datanode.hostname</name>        
        <value>true</value>    
    </property>    
    <property>                    
        <name>dfs.datanode.use.datanode.hostname</name>         
        <value>true</value>    
    </property>    
    //设置HDFS元数据文件存放路径    
    <property>        
        <name>dfs.namenode.name.dir</name>        
        <value>file:/usr/local/hadoop/hadoop-2.7.5/tmp/dfs/name</value>    
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/hadoop-2.7.5/tmp/dfs/data</value>
    </property>       
    //设置其他用户执行操作是会提醒没有权限的问题        
    <property>               
        <name>dfs.permissions</name>        
        <value>false</value>    
    </property>
</configuration>

(4)修改mapred-site.xml

将/usr/local/hadoop/hadoop-2.7.5/etc/hadoop/mapred-site.xml.template的后缀.template去掉

vim /usr/local/hadoop/hadoop-2.7.5/etc/hadoop/mapred-site.xml

修改为以下内容

<configuration>    
    <property>        
        <name>mapreduce.framework</name>        
        <value>yarn</value>    
    </property>
</configuration>

(5)修改yarn-site.xml

vim /usr/local/hadoop/hadoop-2.7.5/etc/hadoop/yarn-site.xml

修改为以下内容

<configuration>
    <!-- Site specific YARN configuration properties -->    
    <property>        
        <name>yarn.resourcemanager.hostname</name>        
        <value>master</value>    
    </property>    
    <property>        
        <name>yarn.nodemanager.aux-services</name>        
        <value>mapreduce_shuffle</value>    
    </property>
</configuration>

(6)修改slaves文件

vim /usr/local/hadoop/hadoop-2.7.5/etc/hadoop/slaves
将localhost直接改成主机名(这里为master),如果有多个结点就每行一个。

八、格式化NameNode

注意:只能格式化一次,如果之后想格式化就必须先清除/usr/local/hadoop/hadoop-2.7.5/tmp

格式化

/usr/local/hadoop/hadoop-2.7.5/bin/hdfs namenode -format

阿里云centos7.3配置hadoop2.7伪分布式环境

返回0说明格式化成功

九、启动hadoop

/usr/local/hadoop/hadoop-2.7.5/sbin/start-all.sh
第一次启动时会有错误

阿里云centos7.3配置hadoop2.7伪分布式环境

直接输入yes,之后再启动就不会有错了(不知道为什么,知道的仁兄可以解答一下)。

阿里云centos7.3配置hadoop2.7伪分布式环境

输入jps可以查看进程状态

阿里云centos7.3配置hadoop2.7伪分布式环境

九、开放端口

需要开放:

50070:为查看hdfs状态

50010:如果不打开这个端口,在browse directory里就查看不了文件

50075:如果不打开这个端口,可能不能在50070里下载文件

我们可以打开ip:50070对hdfs进行操作

阿里云centos7.3配置hadoop2.7伪分布式环境

9000:配置中把默认端口改为9000了

8088:查看yarn状态

也可以打开ip:8088查看yarn状态

阿里云centos7.3配置hadoop2.7伪分布式环境

十、基本操作

(1)shell操作(以wordcount为例)

1.在hdfs中建立目录

bin/hdfs dfs -mkdir -p /user/root/input

2.上传文件

bin/hdfs dfs -put wc(源路径) /user/root/input(目标路径) 

3.计算

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /user/root/input /user/root/output 

4.查看结果

hdfs dfs -cat /user/root/output/p*

5.查看文件/目录

bin/hdfs dfs -ls -R /(目标路径)

6.删除文件/目录

bin/hdfs dfs -rm -r /user/root/output

(2)50070页面操作

点击文件名是可以download的,但是需要先配置本机上的C:\Windows\System32\drivers\etc\hosts文件

在尾部追加/etc/hosts中的内容即可。

在网上看到很多人的50070界面还可以上传、删除,可能是版本问题(我有点想试试高版本了????‍)。

(3)javaAPI操作

待更新

 

 

 

 

 

 

相关标签: 安装教程