环境说明:
系统:Centos7 在VM中安装的
hadoop版本:2.7.7
JDK:1.8
注意:Hadoop需要Java环境的。记得安装Java环境
PS:Centos JDK安装
mkdir /data
1:上传jdk的tar.解压
2:修改/etc/proflie,把Javahome环境变量配置上:
记住:在修改前,先备份
在文件最后添加:
export JAVA_HOME=/data/jdk1.8.0_351 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}
说明:/data/jdk1.8.0_351 修改成你自己的
如下图:
添加完成后,使用 source /etc/profile 使其生效。
查看Java版本:
开始安装:
一:下载安装包:
1.1: 安装包下载地址 https://repo.huaweicloud.com/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
1.2:上传并解压
mkdir /data
在Xshell中可以使用rz命令进行上传
解压:
cd /data tar -zxvf hadoop-2.7.7.tar.gz
二:hadoop配置
声明:下文中提到的,hadoop的安装目录:
比如凯哥的安装目录,就是第一步上传到/data后解压的。所以hadoop安装目录就是:/data/hadoop-2.7.7 这个别搞错了
2.1:修改hadoop安装目录 /etc/hadoop 下的 hadoop-env.sh的内容
cd /data/hadoop-2.7.7/etc/hadoop/
注意:是hadoop的安装目录:
比如凯哥的安装目录,就是第一步上传到/data后解压的。所以hadoop安装目录就是:/data/hadoop-2.7.7 这个别搞错了
vi hadoop-env.sh
输入Javahome的配置
# 指定JAVA_HOME export JAVA_HOME=/data/jdk1.8.0_351
2.2:修改hadoop安装目录 /etc/hadoop 下的
vi core-site.xml
输入下面:
主要:<configuration> 这个标签。后面第3步和第4步,同样需要注意。
<configuration> <!-- 指定HDFS老大(namenode)的通信地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.50.135:9002</value> </property> <!-- 指定hadoop运行时产生文件的存储路径 --> <property> <name>hadoop.tmp.dir</name> <value>/data/hadoop/tmp</value> </property> </configuration>
需要主要,将hdfs的ip修改成你自己物理机的ip.
我们发现,在配置hadoop运行时候文件存储路径为/data/hadoop 如果没有这个目录,需要创建
注:这里fs.defaultFS
的value
最好是写本机的静态IP。当然写本机主机名,再配置hosts
是最好的,如果用localhost
,然后在windows
用java
操作hdfs
的时候,会连接不上主机。
2.3:修改 hadoop安装目录/etc/hadoop下的hdf-site.xml的内容
vi hdfs-site.xml
输入:
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>/data/hadoop/hadoop/hdfs/nn</value> </property> <property> <name>fs.checkpoint.dir</name> <value>/data/hadoop/hdfs/snn</value> </property> <property> <name>fs.checkpoint.edits.dir</name> <value>/data/hadoop/hdfs/snn</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/data/hadoop/hdfs/dn</value> </property> <property> <name>dfs.name.dir</name> <value>/data/hadoop/name</value> </property> <property> <name>dfs.data.dir</name> <value>/data/hadoop/node</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.http.address</name> <value>192.168.50.135:9000</value> </property> <property> <name>ipc.maximum.data.length</name> <value>134217728</value> </property> </configuration>
同样需要注意的是将ip修改成自己服务器的真实ip
2.4:修改 hadoop安装目录下的/etc/hadoop 下的yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.application.classpath</name> <value> /data/hadoop-2.7.7/etc/*, /data/hadoop-2.7.7/etc/hadoop/*, /data/hadoop-2.7.7/lib/*, /data/hadoop-2.7.7/share/hadoop/common/*, /data/hadoop-2.7.7/share/hadoop/common/lib/*, /data/hadoop-2.7.7/share/hadoop/mapreduce/*, /data/hadoop-2.7.7/share/hadoop/mapreduce/lib/*, /data/hadoop-2.7.7/share/hadoop/hdfs/*, /data/hadoop-2.7.7/share/hadoop/hdfs/lib/*, /data/hadoop-2.7.7/share/hadoop/yarn/*, /data/hadoop-2.7.7/share/hadoop/yarn/lib/* </value> </property> </configuration>
三:将Hadoop配置到环境变量中:
在 /etc/profile中配置
export HADOOP_HOME=/data/hadoop-2.7.7 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_CLASSPATH=`hadoop classpath` export HADOOP_CONF_DIR=/data/hadoop-2.7.7/etc/hadoop
4:配置hosts
可能会用到。如下错误时候修改:
修改hosts:
在/etc/hosts。同样需要注意,修改前,记得备份下。
192.168.50.135 VM-xxx-centos localhost.localdomain gp-master ::1 VM-xx-centos VM-xxx-centos 192.168.50.135 master01
5:制作证书,免登陆配置
切换到root下
cd /root
接着:
#执行生成密钥命令: ssh-keygen -t rsa #然后三个回车
继续:
ssh-copy-id -i /root/.ssh/id_rsa.pub root@master01
选择yes
输入登录第一台节点的密码(操作完成该节点公钥复制到第一台节点中)
6:启动
进入到hadoop安装目录/sbin下,执行start-all.sh命令
./start-all.sh
使用jps
命令验证是否已经启动成功(这些都启动了才算成功:ResourceManager、DataNode、SecondaryNameNode、NodeManager、TaskManagerRunner、YarnTaskExecutorRunner、NameNode
):
jps