目录
一、下载链接:Hadoop下载
二、安装
1.安装java-jdk:CentOS | centos7 jdk1.8安装教程
2.验证安装SSH进行免密登入设置:CentOS | centos7 之开启ssh免密登入
3.安装hadoop-2.7.1
4.关闭防火墙,防止开启失败 。
5.启动Hadoop
一、下载链接:Hadoop下载
选择需要的版本,这里使用的版本是2.7.1-------【下载链接:Hadoop-2.7.1】
二、安装
1.安装java-jdk:CentOS | centos7 jdk1.8安装教程
2.验证安装SSH进行免密登入设置:CentOS | centos7 之开启ssh免密登入
3.安装hadoop-2.7.1
(1)利用SSH 工具【SSH Secure File Transfer】,上传hadoop到linux的目录下【usr/local/java】
(2)终端解压
sudo tar -zxvf hadoop-2.7.1.tar.gz
验证是否可用,成功则会显示 Hadoop 版本信息: u
./bin/hadoop version
(3)对配置文件进行修改
目录:cd /usr/local/java/hadoop-2.7.1/etc/hadoop
1)先对【hadoop-env.sh】三个文件加jdk路径
修改文件都是需要在root模式下修改,使用【vi 文件名】打开文件修改
export JAVA_HOME=/usr/local/java/jdk1.8.0_161
2)配置core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/java/hadoop-2.7.1</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hostljl:9000</value>
</property>
说明:hostljl:改成自己的主机名,fs.defaultFS为NameNode的地址。hadoop.tmp.dir为hadoop临时目录的地址,默认情况下,NameNode和DataNode的数据文件都会存在这个目录下的对应子目录下。应该保证此目录是存在的,如果不存在,先创建。
3)配置hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/java/hadoop-2.7.1/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/java/hadoop-2.7.1/tmp/dfs/data</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>hostljl:50070</value>
</property>
说明:dfs.replication这个参数是个client参数,即node level参数。需要在每台datanode上设置。一个文件,上传到hdfs上时指定的是几个副本就是几个。这里设置的为1.
4)配置mapred-site.xml
要是在配置文件目录下没有,需要修改名称:mv mapred-site.xml.template mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>hostljl:9001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/usr/local/java/hadoop-2.7.1/tmp/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
说明:mapreduce.framework.name设置mapreduce任务运行在yarn上。
mapreduce.jobhistory.address是设置mapreduce的历史服务器安装在hostljl机器上。
mapreduce.jobhistory.webapp.address是设置历史服务器的web页面地址和端口号。
5)配置yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hostljl</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
说明:yarn.log-aggregation-enable是配置是否启用日志聚集功能。
yarn.log-aggregation.retain-seconds是配置聚集的日志在HDFS上最多保存多长时间。
6)配置Hadoop在linux系统中的环境变量,【vi etc/profile】
export HADOOP_HOME=/usr/local/java/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
source etc/profile
4.关闭防火墙,防止开启失败 。
教程链接:CentOS | centos关闭开启防火墙
5.启动Hadoop
1)格式化
./bin/hdfs namenode -format
2)启动 NameNode 和 DataNode 守护进程
./sbin/start-dfs.sh
输入jps验证
删除logs、tmp和dfs文件夹
重新格式化
./bin/hdfs namenode -format
启动
./sbin/start-dfs.sh
./sbin/start-yarn.sh
出现下面6个进程就OK啦!!
6.验证
验证之前,先在window下修改hosts,添加linux中的主机名和IP地址
hdfs管理界面:http://hostljl:50070/dfshealth.html#tab-overview
MR的管理界面:http://hostljl:8088/cluster
注意:
每次运行结束Hadoop后,都应该关闭Hadoop.
sbin/stop-dfs.sh
下次想重新运行Hadoop,不用再格式化namenode,直接启动Hadoop即可
sbin/start-dfs.sh
终于搞好了......
关于namenode或者datanode节点不出现的问题,直接删掉tmp、logs和dfs三个文件夹,再重启服务就看。
心累....