废话不多说,上来就干
1、为了避免因为端口带来的问题,首先关闭防火墙
systemctl status firewalld //查看防火墙状态
systemctl stop firewalld //关闭防火墙
systemctl disable firewalld //禁止开机自启动
2、安装java1.8
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
查看jdk:
ls /usr/lib/jvm
重命名(简单点,以防路径出错)
cd /usr/lib/jvm
mv java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64 java1.8
设置环境变量
vi /etc/profile
在最后一行加上以下内容,JAVA_HOME就是你的路径
#java home
export JAVA_HOME=/usr/lib/jvm/java1.8
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
让环境变量重新生效
source /etc/profile
查看java版本
java -version
3、安装hadoop
如果没有wget,先安装,如果已经安装,但用不了,则先卸载再重新安装
yum search wget //查看wget
yum remove wget //卸载wget
yum install wget //安装wget
用wget安装hadoop2.7
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
在根目录创建hadoop目录
cd ~
mkdir hadoop
解压到hadoop目录
tar -zxvf hadoop-2.7.7.tar.gz -C hadoop
4、配置hadoop
打开hadoop-2.7.7/etc/hadoop
配置hadoop-env.sh环境变量,找到java环境变量的位置,手动配置全路径
vi hadoop-env.sh
配置core-site.xml
添加fs.defaultFS属性,注意在虚拟机中他可以是主机名,但是在阿里云中要使用他的内网ip地址,如果不知道内网地址,可以使用命令ip addr查看
hadoop.tmp.dir并不是临时目录,这里建议更改为自己的目录,防止数据丢失
vi core-site.xml
配置hdfs-site.xml
dfs.replication代表主机数量,现在是单机伪分布式,所以值为1
dfs.permissions是权限信息,默认为true,这里我们设置为false
vi hdfs-site.xml
配置mapred-site.xml
这里其实名字是mapred-site.xml.template,我们要把它更名为mapred-site.xml
mv mapred-site.xml.template mapred-site.xml //重命名
vi mapred-site.xml
配置yarn-site.xml,注意这里的主机名也是填写内网
vi yarn-site.xml
至此,配置完成,我们打开/root/hadoop/hadoop-2.7.7/bin,然后利用命令ls查看文件夹的内容,可以发现有hdfs命令
我们可以利用它进行初始化
hdfs namenode -format
出现has been successed format字样就说明初始化成功
如果你们的hdfs提示没有 此命令,那么我们就要配置环境变量,将下面的路径添加到最下面(就是jdk后面)
vi /etc/profile
然后必须要让环境变量生效
source /etc/profile
格式化namenode后我们需要到目录/root/hadoop/hadoop-2.7.7/sbin目录去启动进程
./start-all.sh //启动全部进程
然后输入jps即可查看全部进程
这时候在浏览器通过 (公网ip:9000)访问,如果出现
It looks like you are making an HTTP request to a Hadoop IPC port. This is not the correct port for the web interface on this daemon.
则使用(公网ip:50070)访问
排错
大家在部署过程中肯定会出现各种各样的问题,记得一定要到logs目录下查看日志,哪个进程没启动 就查看哪个进程的log