Hadoop专栏 | ||
上一篇 | 主目录 | 下一篇 |
目录
- 1. 上传压缩包到服务器
- 2. 解压到文件夹apps
- 3. 修改配置文件
- 4. 配置环境变量
- 5. 在其他节点部署
- 6. 验证启动
- 7. 注意事项
【前言】
安装部署hadoop集群。共有五个节点hadoop01,hadoop02,…,hadoop05。01作为主节点NameNode,02是SecondaryNameNode,03是yarn(ResourceManager)
基于apache开源版本: hadoop-2.7.3.tar.gz
除了apache的开源版本:
还有两个比较流行的商业发行版
1、CDH cloudera – 除了享用hadoop提供的功能之外,公司还会给hadoop进行功能增强
CDH 在给hadoop进行打补丁的效率会更高
CM :利用图形界面进行 hadoop及其生态系统中的各个其他组件的安装
cdh是收费的
2、HDP hortonworks 封装hadoop
1. 上传压缩包到服务器
下载hadoop-2.7.3.tar.gz,通过Xftp上传到hadoop@hadoop01:~/
2. 解压到文件夹apps
tar -zxvf hadoop-2.7.3.tar.gz
3. 修改配置文件
在/home/hadoop/apps/hadoop-2.7.3/etc/hadoop文件夹中
- hadoop-env.sh:
将JAVA_HOME改为jdk的绝对安装路径
export JAVA_HOME=/usr/java/jdk1.8.0_161
2. core-site.xml:
添加
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoopdata</value>
</property>
</configuration>
- hdfs-site.xml:
添加
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoopdata/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoopdata/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>hadoop02:50090</value>
</property>
</configuration>
- mapred-site.xml
(集群只有 mapred-site.xml.template,可以从这个文件进行复 制,或者直接改名也可)
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- yarn-siite.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop03</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
- slaves
hadoop01
hadoop02
hadoop03
hadoop04
hadoop05
4. 配置环境变量
在hadoop的家目录中.bashrc文件中:
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
执行source .bashrc重新加载配置文件
【以上是单台服务器的配置,然后将配置好的文件夹全部发送到02,03,04,05节点】
5. 在其他节点部署
- 拷贝hadoop文件夹
此前已设置免密登录,通过scp将文件发送过去即可
以hadoop02为例:
进入家目录的apps文件夹(/home/hadoop/apps
),输入
scp -r hadoop-2.7.3/ hadoop@hadoop02:$PWD
注:
-r是递归,将hadoop-2.7.3/文件夹下的所有文件都发送
hadoop@hadoop02:hadoop02节点的hadoop用户
$PWD拷贝到对应的目录,当前在hadoop01是/home/hadoop/apps,应该拷贝到hadoop02的/home/hadoop/apps目录下
- 拷贝.bashrc文件
进入hadoop01的家目录(/home/hadoop/)
scp .bashrc hadoop@hadoop02:$PWD
【03 04 05节点同02】
6. 验证启动
在hadoop01输入:
hadoop namenode -format
【此命令只能执行一次,执行多次会出现NameNode节点无法启动】
start-dfs.sh/start-all.sh
在hadoop03输入:
在 YARN 主节点启动 YARN,要求在 YARN 主节点进行启动,否则 ResourceManager 主进 程会启动不成功,需要额外手动启动
start-yarn.sh
使用jps命令查看进程状态:
http://192.168.65.101:50070/
http://192.168.65.103:8088/
7. 注意事项
安装hadoop的注意事项:
- 首先规划好 对应集群的 主从节点
HDFS : hadoop01 ---- hadoop01,02, 03, 04, 05 - 在配置好集群的配置文件之后,要注意一个事项,进行软件包的分发
在分发的时候,一定要保证每个节点的hadoop的安装目录必须一致,哪个节点不一致,到时候该节点的对应进程就会自动退出 - 一般来说,按照集群的用户就是某一个用户
所以一定要保证没个节点上的对应的安装目录和数据目录的所有者都必须是同一个用户,还必须就是安装用户 - 初始化 的操作 一定只能做一次, 在确保初始化成功之后,以后就再也不要做了。如果又做了一次初始化,那就表示你的HDFS 集群又是一个全新的集群了。
- 部分节点会宕机, 某些服务器的守护进程会掉线。如果少一个节点,对于集群来说,这是正常情况。可以不用理会。如果集群中的节点都运行正常,但是守护进程会掉线。那么只需要手动启动该节点上的对应守护进程就行,而不是全部停止HDFS集群,再启动哪个节点少了哪个进程,手动启动即可。对于HDFS集群来说,必须要保证主节点namenode的运行正常。datanode可以允许宕机一部分。在正常的使用过程当中,一定会出现,不停的宕机从节点。
启动单点NameNode的命令:
hadoop-daemon.sh start namenode
启动单点DataNode的命令:
hadoop-daemon.sh start datanode
- 启动。对于HDFS集群来说。 start-dfs.sh 的这个启动命令可以在集群当中的任意一个节点执行。但是,对于YARN集群来说。这个启动命令start-yarn.sh 必须在主节点执行。如果不在主节点中执行。那么你启动的resourcemanager会在一定的时间过后会自动退出
【重复安装】
初始化 : 只需要做一次, 也不用关心 hadoopdata 是否存在
1、安装目录: /home/hadoop/apps
2、数据目录: /home/hadoop/hadoopdata
/home/hadoop/hadoopdata/name
/home/hadoop/hadoopdata/data
如果真的要重新安装一次:
只需要删除对应的数据目录: rm -rf /home/hadoop/hadoopdata