云服务器:腾讯云
版本:CentOS7
一、关闭防火墙及开放安全组端口
关闭防火墙
//查看防火墙状态
service firewalld staus
//关闭防火墙
service firewalld stop
开放安全组
网上有很多教程,百度一下,你就知道
二、配置主机名
//查看当前系统主机名
hostname
//如果想要修改主机名,就按以下步骤
//1、编辑下面这个文件
vim /etc/hostname
//2、然后将里面的内容改成你想要的主机名(这个需要root权限)
三、配置hosts文件
//编辑文件
vim /etc/hosts
//在文件末尾增加内容为:服务器内网ip 主机名
四、配置SSH免密登录
本地系统执行 ssh-keygen -t rsa 命令,生成密钥文件
在相应的目录下查看生成的密钥文件,其中: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个,就成功启动了)
2.如果启动失败,查看Hadoop安装目录下的logs目录中的报错信息,根据报错信息排错
3.如果启动成功,浏览器访问,出现如下界面代表成功
访问地址 : 云服务器公网ip:50070端口
九、一些小记录
这里只记录自己遇到的一些问题
端口占用问题
在执行jps后namenode一直没有开启,然后我就查看了hadoop目录下的logs文件夹,里面的hadoop-hadoop-namenode-mainMaster.log,发现出现了如下问题
如图所示,大概的意思就是端口被占用,然后我就查看了端口netstat -ntpl,发现的确9000端口被占用,只需要将9000端口改成其他端口,如9005就可以了。
在每次修改配置文件后,最好先将hadoop关闭掉
stop-all.sh
然后将tmp文件夹里的内容全都删了,重新格式化(但是这种操作仅适用于刚开始安装的,由于tmp里面存储了hadoop里的数据,如果hadoop里有数据,删了tmp文件夹的东西,hadoop上的数据也会丢失了)
hadoop namenode -format