一、haoop解压、创建软连接
将hadoop-3.3.1.tar.gz上传到服务器~/apps下
tar -xf hadoop-3.3.1.tar.gz -C /usr/local
进入/usr/local 后使用 ln -s hadoop-3.3.1 hadoop3 创建一个软连接
二、配置环境变量
在/etc/profile.d下使用vi命令新建hadoop.sh
export HADOOP_HOME=/usr/local/hadoop3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
以上可复制到vi编辑器中:
保存,调用 source hadoop.sh
测试版本号 hadoop version
三、配置hadoop环境脚本中的java参数
在hadoop2/etc/hadoop下的
[root@hadoop01 hadoop]# vim hadoop-env.sh
在文件最后添加上
export JAVA_HOME=$JAVA_HOME
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
四、创建Hadoop存储目录,在/目录下新建三个文件
[root@hp1 /]# mkdir -p hadoop_data/tmp
[root@hp1 /]# mkdir -p hadoop_data/dfs/name
[root@hp1 /]# mkdir hadoop_data/dfs/data
五、配置主从结点
删除hadoop2/etc/hadoop/slaves中配置,将hp1、hp2、hp3添加到workers文件中作为集群的slaves(一行一个)
六、Hadoop文件配置
配置core-site.xml
<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://hp1:9000value>
property>
<property>
<name>io.file.buffer.sizename>
<value>131072value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>file:/hadoop_data/tmpvalue>
property>
configuration>
配置改hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-addressname>
<value>hp1:9001value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>file:/hadoop_data/dfs/namevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>file:/hadoop_data/dfs/datavalue>
property>
<property>
<name>dfs.replicationname>
<value>2value>
property>
<property>
<name>dfs.webhdfs.enabledname>
<value>truevalue>
property>
configuration>
yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.resourcemanager.hostnamename>
<value>hp301value>
property>
<property>
<name>yarn.nodemanager.env-whitelistname>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOMEvalue>
property>
<property>
<name>yarn.log-aggregation-enablename>
<value>truevalue>
property>
<property>
<name>yarn.log.server.urlname>
<value>http://hp301:19888/jobhistory/logsvalue>
property>
<property>
<name>yarn.log-aggregation.retain-secondsname>
<value>604800value>
property>
configuration>
mapred-site-xml:
复制文件:
cp mapred-site.xml.template mapred-site.xml
<configuration>
<property><name>mapreduce.framework.namename>
<value>yarnvalue>
property>
<property>
<name>mapreduce.jobhistory.addressname>
<value>hp1:10020value>
property>
<property>
<name>mapreduce.jobhistory.webapp.addressname>
<value>hp1:19888value>
property>
configuration>
七、分发hp1的配置到hp2、hp3:
将hadoop远程复制到hp2 hp3上
[root@hp1 /]# scp -r /usr/local/hadoop-2.8.5/ hp2:/usr/local
[root@hp1 /]# scp -r /usr/local/hadoop-2.8.5/ hp3:/usr/local
然后分别在hp2、hp3建一个软连接。 ln -s hadoop-2.8.5 hadoop2
将hadoop 环境变量远程复制到hp2 hp3上
[root@hp1 /]# scp -r /etc/profile.d/hadoop.sh hp2:/etc/profile.d
[root@hp1 /]#scp -r /etc/profile.d/hadoop.sh hp3:/etc/profile.d
并在hp2、hp3中分别调用source hadoop.sh
将文件夹分发:
[root@hp1 /]# scp -r hadoop_data/ hp2:/
[root@hp1 /]# scp -r hadoop_data/ hp3:/
测试版本号 hadoop version
八、格式化主节点的存储目录
只对hp1的hadoop_data格式化。
第一次启动hadoop是需要格式化hadoop的namenode
命令:
hdfs namenode -format
九、启动hadooop
启动dfs
命令:start-dfs.sh
启动yarn
命令:start-yarn.sh
通过jps命令,可以查看hadoop启动的进程
在hp01结点上,正常应该包含
NameNode
SecondaryNameNode
ResourceManager
在hp02和hp03结点上,正常应该包含
DataNode
NodeManager
NameNode没有启动的解决方案
首先,打开hp01结点上的/usr/local/hadoop2下的logs文件夹中hadoop-namenode.hp01.log文件。
查看有什么Java异常信息。根据异常信息进行错误的解决。
如果异常仅仅显示IOExcepiton:NameNode is not formatted
则需要将hp01、hp02、hp03三个节点的/hadoop_data文件夹删除,然后重启三个节点,分别创建这一组目录,然后重新对hp01进行格式化。
关闭yarn
命令:stop-yarn.sh
关闭dsf
命令:stop-dfs.sh
关闭yarn
命令:stop-yarn.sh
关闭dsf
命令:stop-dfs.sh
十、测试hadoop安装
在web页面中查看hdfs和yarn
http://192.168.150.101:9870
http://192.168.150.101:8088