这是我的安装环境
版本:Hadoop 版本:hadoop 2.7.2
系统:Centos 7 内核版本:Linux version 4.16.7-1.el7.elrepo.x86_64
jdk: openJDK 版本:1.8.0_161
用户:hadoop
hadoop添加命令如下:
[root@localhost ~]# useradd hadoop
[root@localhost ~]# passwd hadoop
开始安装:
1.下载:
1.要获得Hadoop发行版,请从其中一个Apache下载镜像下载最新的稳定版本。
2.所需的linux软件包括:
Java™必须安装。推荐的Java版本在HadoopJavaVersions中描述。
如果要使用可选的启动和停止脚本,则必须安装ssh,并且必须运行sshd才能使用管理远程Hadoop守护程序的Hadoop脚本。此外,建议安装pdsh以获得更好的ssh资源管理。如果你的集群没有必要的软件,你需要安装它.例如在centos Linux上:
$ yum install ssh
$ yum install pdsh
3.配置SSH免密码登录。生成的id_rsa和id_rsa.pub,默认会在 /home/hadoop/.ssh 目录下面
[hadoop@localhost ~]$ ssh-keygen -t rsa #这条命令生成无密码密钥对。询问其保存路径时直接按回车。
3.1、查看/home/hadoop/下是否有.ssh文件夹,是否有刚生成的无密码密钥对
[hadoop@localhost ~]$ cat id_rsa.pub >> authorized_keys
3.2、在验证前,要做2件事
3.2.1、 第一、修改 authorized_keys 权限。
[hadoop@localhost ~]$ chmod 600 authorized_keys
3.2.2、第二、root用户设置 /etc/ssh/sshd_config的内容--无密码登录有效。
4.解压。hadoop文件下载下来以后开始解压。我的安装目录是 /opt/modules/
4.1、由于下载下来 hadoop-2.7.2.tar.gz 权限是root 要把他改成hadoop的权。命令如下
[hadoop@localhost modules]$ sudo chown hadoop:hadoop hadoop-2.7.2.tar.gz
4.2、解压,查看是否属于hadoop用户
[hadoop@localhost modules]$ tar -zxvf hadoop-2.7.2.tar.gz
5.解压后进入hadoop文件中
[hadoop@localhost modules]$ cd hadoop-2.7.2/etc/hadoop/
[hadoop@localhost hadoop]$ ls
其中的配置的文件core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml、yarn-site.xml
5.1、core-site.xml
fs.defaultFS参数配置的是HDFS的地址。
hadoop.tmp.dir配置的是Hadoop临时目录,HDFS的元数据存储在这个/tmp目录下,如果操作系统重启了,系统会清空/tmp目录下的东西,导致元数据丢失,所有应该修改这个路径
5.2、hdfs-site.xml
dfs.replication配置的是HDFS存储时的备份数量
5.3、yarn-site.xml
5.4、mapred-site.xml
这个文件有个mapred-site.xml.template模板,复制一份,并命名为mapred-site.xml
[hadoop@localhost hadoop]$ cp mapred-site.xml.template mapred-site.xml
然后编辑 mapred-site.xml
5.5、hadoop-env.sh 中配置JAVA、Hdoop环境变量
jdk 1.8+的版本加上
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC"
6、配置/etc/profile 文件中 JAVA 还有hadoop
[root@localhost ~]# vim /etc/profile
# Set JAVA
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#Set HADOOP
export HADOOP_HOME=/opt/modules/hadoop-2.7.2
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_LOG_DIR=/home/data/hadoop/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR
7、初始化~
[hadoop@localhost bin]$ ./hadoop namenode -format
运行中。。。。。。
好了
7.1、启动,全部启动。也可选择部分启动请 查看HADOOP官网
[hadoop@localhost bin]$ cd ..
[hadoop@localhost hadoop-2.7.2]$ sbin/start-all.sh
浏览器远程 请关闭防火墙:
其他:web访问要先开放端口或者关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service
- NameNode - http://localhost:50070/ #本地地址
- ResourceManager - http://localhost:8088/ #本地地址
我是通过Xshell远程安装的。访问的是远程的地址(当然也是公司内部的)
文章中若有不妥的地方。还请各位大侠指出。非常感谢指导。