-
文档地址
https://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html -
安装包下载地址
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.6/hadoop-2.7.6-src.tar.gz -
配置hostname
1 修改hosts
vim /etc/hosts
本机ip master
2 修改hostname
sudo hostnamectl set-hostname master
- 服务器安装jdk
jdk 下载地址
https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-x64.tar.gz
vim /etc/profile
JAVA_HOME=/home/soft/jdk1.8.0_151
PATH=PATH
CLASSPATH=JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH
source /etc/profile
-
免密登陆
1. 生产秘钥ssh-keygen -t rsa
- 将公钥追加到”authorized_keys”文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- 赋予权限
chmod 600 .ssh/authorized_keys
- 验证本机能无密码访问
ssh master
-
master安装
#下载
wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.6/hadoop-2.7.6-src.tar.gz
#解压
tar -xzvf hadoop-2.7.6.tar.gz -C /home/soft
#重命名
mv hadoop-2.7.6 hadoop
#配置环境变量,修改配置文件vi /etc/profile
export HADOOP_HOME=/home/soft/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
source /etc/profile
- 配置core-site.xml
修改Hadoop核心配置文件/usr/local/hadoop/etc/hadoop/core-site.xml,通过fs.default.name指定NameNode的IP地址和端口号,通过hadoop.tmp.dir指定hadoop数据存储的临时文件夹。
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/soft/hadoop/data</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
特别注意:如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被删除,必须重新执行format才行,否则会出错。
- 配置hdfs-site.xml:
修改HDFS核心配置文件/usr/local/hadoop/etc/hadoop/hdfs-site.xml,通过dfs.replication指定HDFS的备份因子为3,通过dfs.name.dir指定namenode节点的文件存储目录,通过dfs.data.dir指定datanode节点的文件存储目录。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--下面这俩可以不配置-->
<property>
<name>dfs.name.dir</name>
<value>/home/soft/hadoop/data/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/soft/hadoop/data/data</value>
</property>
</configuration>
- 配置 hadoop-env.sh
vi /home/soft/hadoop/etc/hadoop/hadoop-env.sh
## 配置项
export JAVA_HOME=/home/soft/jdk1.8.0_151
- 启动
# 格式化 注意重新部署的时候一定要删除 data 及 logs目录
bin/hadoop namenode -format
# 启动namenode
sbin/hadoop-daemon.sh start namenode
#启动datanode
sbin/hadoop-daemon.sh start datanode
- 测试
#创建文件目录
bin/hdfs dfs 固定格式
#创建目录
bin/hdfs dfs -mkdir -p /user/yuan/input
#查看目录
bin/hdfs dfs -ls /
#上传本地文件
bin/hdfs dfs -put input/wc.input /user/yuan/input
#使用hdfs文件系统执行wordcount
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount /user/yuan/input /user/yuan/ouput
#查看执行后的文件
bin/hdfs dfs -cat /user/yuan/ouput/p*
- 页面访问 http://ip:50070
- 配置yarn
- yarn-env.sh
vi /home/soft/hadoop/etc/hadoop/hadoop-env.sh
## 配置项
export JAVA_HOME=/home/soft/jdk1.8.0_151
- yarn-site.xml
<!--reducer获取数据的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定resource manage 的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
- 配置mapred-env
- mapred-env.sh
vi /home/soft/hadoop/etc/hadoop/ mapred-env.sh
## 配置项
export JAVA_HOME=/home/soft/jdk1.8.0_151
- mapred-site.xml
<!--指定mr运行在 yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- 启动
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
sbin/yarn-daemon.sh stop nodemanager
sbin/yarn-daemon.sh stop resourcemanager
jps -l 查看
112883 org.apache.hadoop.hdfs.server.namenode.NameNode
114325 org.apache.hadoop.yarn.server.resourcemanager.ResourceManager
114565 org.apache.hadoop.yarn.server.nodemanager.NodeManager
114681 sun.tools.jps.Jps
113034 org.apache.hadoop.hdfs.server.datanode.DataNode
- 访问页面 :
ip8088/cluster
-
配置历史
- 配置 mapred-site.xml
<!--配置历史服务器地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<!--配置历史服务器web地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
- 启动
sbin/mr-jobhistory-daemon.sh start historyserver
sbin/mr-jobhistory-daemon.sh stop historyserver
- 访问页面 :
ip8088/cluster
-
配置日志聚集功能
-
配置 yarn-site.xml
<!--开启日志聚集-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--日志保留时间-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
- 启动
sbin/mr-jobhistory-daemon.sh start historyserver
sbin/mr-jobhistory-daemon.sh stop historyserver
网友评论