Hadoop集群安装(完全分布式)-3.3.3版本
Posted Лејлеј Пан
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop集群安装(完全分布式)-3.3.3版本相关的知识,希望对你有一定的参考价值。
集群安装
集群规划
上传安装包到hadoop01(或者离线下载)
1.cd /bigdata/soft
rz或
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.3/hadoop-3.3.3.tar.gz
解压到指定目录(以自己的实际目录为准)
tar -zxvf /bigdata/soft/hadoop-3.3.3.tar.gz -C /bigdata/server
创建软连接
cd /bigdata/server
ln -s hadoop-3.3.3/ hadoop
Hadoop配置文件修改
Hadoop安装主要是配置文件的修改,一般在主节点进行修改,完毕后scp分发给其他各个从节点机器
路径在/bigdata/server/hadoop/etc/hadoop(以自己的实际路径为准)
1.配置hadoop-env.sh
vim hadoop-env.sh
54行的JAVA_HOME设置
export JAVA_HOME=/bigdata/server/jdk1.8
在文件末尾添加如下内容
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
2.配置core-site.xml
vim core-site.xml
在configuration标签中添加以下内容:
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/bigdata/data/hadoop</value>
</property>
<!-- 设置HDFS web UI用户身份-->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<!-- 整合hive -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
3.配置hdfs-site.xml
vim hdfs-site.xml
在configuration标签中添加以下内容:
<!-- 指定secondarynamenode运行位置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop02:50090</value>
</property>
4.配置mapred-site.xml
vim mapred-site.xml
在configuration标签中添加以下内容:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
5.配置yarn-site.xml
在configuration标签中添加以下内容:
<!-- 指定yarn的主角色 (ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<!-- NodeManager上运行的附属服务,需配置成mapreduce_shuffle,才可运行MapReduce程序默认值 “” -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 是否将对容器实施物理内存限制 -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!-- 是否将对容器实施虚拟内存限制 -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<!-- 开启日志聚集 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置yarn历史服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://hadoop01:19888/jobhistory/logs</value>
</property>
<!-- 保存的时间7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
6.workers
vim workers
hadoop01
hadoop02
hadoop03
7.同步hadoop软件包到hadoop02和hadoop03
scp -r hadoop-3.3.3/ hadoop01:$PWD
scp -r hadoop-3.3.3/ hadoop03:$PWD
在hadoop02节点配置软链接
ln -s hadoop-3.3.3/ hadoop
在hadoop03节点配置软链接
ln -s hadoop-3.3.3/ hadoop
8.[所有节点]配置环境变量
vim /etc/profile.d/custom_env.sh
export HADOOP_HOME=/bigdata/server/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使之生效:source /etc/profile
Hadoop集群启动
要启动Hadoop集群,需要启动HDFS和YARN两个集群,首次启动需要格式化,在hadoop01上输入:
hadoop namenode -format
在主节点hadoop01启动namenode:
hdfs --daemon start namenode
在hadoop02启动secondarynamenode:
hdfs --daemon start secondarynamenode
在所有节点启动datanode:
hdfs --daemon start datanode
在hadoop01上:
yarn --daemon start resourcemanager
在所有节点启动Nodemanager:
yarn --daemon start nodemanager
查看进程情况
jps
netstat -ntlp
关闭的话把start改成stop即可,上述方式太繁琐,因此启动可以使用下列两个命令:
start-dfs.sh
start-yarn.sh
停止:
stop-dfs.sh
stop-yarn.sh
浏览器访问:
192.168.116.140:9870
192.168.116.140:8088
hadoop完全分布式安装
环境介绍
操作系统 | CentOS 6.5 x86_64 |
Java | 1.7.0_79 |
hadoop | 2.6.1 |
主机名 | ip | 角色 |
hadoop01 | 192.168.103.137 | ResourceManager/NameNode/SecondaryNameNode |
hadoop02 | 192.168.103.138 | NodeManager/DataNode |
hadoop03 | 192.168.103.140 | NodeManager/DataNode |
环境配置
三台服务器分别执行ssh-keygen -t rsa生成密匙对,然后通过ssh-copy-id
root@192.168.103.137,将公匙加到三台服务器授权列表,注意每台服务器都要全部配到三台,包括当前所在主机。配置好后三台服务器能相互ssh登入
安装hadoop
对三台服务器都进行如下操作,修改hadoop配置文件,配置文件在安装目录etc/hadoop下,需要修改core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves。
创建/usr/local/hadoop/tmp目录:
修改core-site.xml为:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop01:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> </property> </configuration>
修改hdfs-site.xml为:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
将mapred-site.xml.template更名为mapred-site.xml,并mapred-site.xml修改为:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
修改yarn-site.xml为:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
</configuration>
启动hadoop
1)格式化文件系统,hadoop可以在任意目录执行,因为配置了path环境变量,其实调用的是/usr/local/hadoop/bin下的hadoop命令
hadoop namenode -format
2)启动hdfs,hadoop可以在任意目录执行,因为配置了path环境变量,其实调用的是/usr/local/hadoop/sbin下的start-dfs.sh命令
start-dfs.sh
启动成功后通过jps命令查看进程,hadoop01节点启动了三个进程SecondaryNameNode、NameNode、DataNode,hadoop02和hadoop03启动进程一样,只启动了DataNode进程。
3)启动yarn
start-yarn.sh
通过jps命令查看进程,hadoop01节点启动了两个进程ResourceManager、NodeManager,hadoop2和hadoop03启动进程一样,只启动了NodeManager进程。
4)运行效果
在window浏览器访问http://192.168.103.137:50070
点击datanode查看数据节点
访问http://192.168.103.137:8088,查看MR任务
以上是关于Hadoop集群安装(完全分布式)-3.3.3版本的主要内容,如果未能解决你的问题,请参考以下文章