云服务器:腾讯云

版本:CentOS7

 一、关闭防火墙及开放安全组端口

关闭防火墙

//查看防火墙状态
service firewalld staus

//关闭防火墙
service firewalld stop

开放安全组

网上有很多教程,百度一下,你就知道

二、配置主机名

//查看当前系统主机名
hostname

//如果想要修改主机名,就按以下步骤
//1、编辑下面这个文件
vim /etc/hostname

//2、然后将里面的内容改成你想要的主机名(这个需要root权限)

三、配置hosts文件

//编辑文件
vim /etc/hosts

//在文件末尾增加内容为:服务器内网ip 主机名

四、配置SSH免密登录

本地系统执行 ssh-keygen -t rsa 命令,生成密钥文件

 

hadoop历史服务器点击logs没有跳转到历史服务器_JAVA

 在相应的目录下查看生成的密钥文件,其中:id_rsa为私钥文件,id_rsa.pub为公钥文件

然后执行

ssh-copy-id 用户名@ip //eg: //ssh-copy-id sshTest@localhost

五、安装jdk和hadoop

安装jdk

查看链接:

安装hadoop

去这个链接下载hadoop(我这里是64位的)

 

然后执行

//将其解压
tar -zxvf  hadoop-2.9.2.tar.gz  -C /usr/local

//重命名
mv /usr/local/hadoop-2.9.2 /usr/local/hadoop

六、配置环境变量

vim /etc/profile

增加内容:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

//保存退出
//使配置生效
source /etc/profile

七、配置hadoop

//进入配置文件的文件夹里
cd /usr/local/hadoop/etc/hadoop/
1、修改hadoop-env.sh 文件
修改内容:export JAVA_HOME={$JAVA_HOME}
将等号后面改成具体的路径
 2、修改core-site.xml
在configuration添加内容,其中tmp文件需要自己手动创建,到/usr/local/hadoop目录下创建一个文件夹tmp,一定要记得手动创建
//只需要添加configuration里的内容
<configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://mainMaster:9000</value>
        </property>
        <!--用来指定hadoop运行时产生文件的存放目录-->
   <!--如果不配置,默认放在/tmp目录下,这是一个临时目录,数据>可能会被系统清除-->
         <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/hadoop/tmp</value>
        </property>
</configuration>
3、修改hdfs-site.xml文件
<configuration>
        <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>
        <property>
                <name>dfs.permissions</name>
                <value>false</value>
        </property>

</configuration>
4、修改mapred-site.xml文件
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>

</configuration>
5、修改yarn-site.xml
其中里面的mainMaster是我的主机名,根据自己的修改
<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>mainMaster</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>
6、修改slaves文件
由于是伪分布模式,只需要将里面的内容改成自己配置的主机名
 7、格式化namenode
由于前面已经配置好环境变量,所以直接执行命令
hadoop namenode -format

八、开启hadoop

由于已经配置好环境变量了,直接执行

start-all.sh

1.查看是否启动成功(出现了除jps以外的5个,就成功启动了)

hadoop历史服务器点击logs没有跳转到历史服务器_JAVA_02

2.如果启动失败,查看Hadoop安装目录下的logs目录中的报错信息,根据报错信息排错

3.如果启动成功,浏览器访问,出现如下界面代表成功
访问地址 : 云服务器公网ip:50070端口

hadoop历史服务器点击logs没有跳转到历史服务器_hadoop_03

 九、一些小记录

这里只记录自己遇到的一些问题

端口占用问题

在执行jps后namenode一直没有开启,然后我就查看了hadoop目录下的logs文件夹,里面的hadoop-hadoop-namenode-mainMaster.log,发现出现了如下问题

hadoop历史服务器点击logs没有跳转到历史服务器_JAVA_04

 如图所示,大概的意思就是端口被占用,然后我就查看了端口netstat -ntpl,发现的确9000端口被占用,只需要将9000端口改成其他端口,如9005就可以了。

在每次修改配置文件后,最好先将hadoop关闭掉

stop-all.sh

然后将tmp文件夹里的内容全都删了,重新格式化(但是这种操作仅适用于刚开始安装的,由于tmp里面存储了hadoop里的数据,如果hadoop里有数据,删了tmp文件夹的东西,hadoop上的数据也会丢失了)

hadoop namenode -format