Hadoop及其HA搭建
Posted 安小猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop及其HA搭建相关的知识,希望对你有一定的参考价值。
1、关闭防火墙 所有节点
service iptables stop
chkconfig iptables off
2、设置免密钥
在master中生成密钥文件
ssh-keygen -t rsa
一直回车
将密钥文件同步到所有节点
ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2
3、上传hadoop安装包 上传到msater的/usr/local/soft/
hadoop-2.7.6.tar.gz
4、解压
tar -xvf hadoop-2.7.6.tar.gz
5、配置环境变量
vim /etc/profile
增加hadoop环境变量,将bin和sbin都配置到PATh中
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
export HADOOP_HOME=/usr/local/soft/hadoop-2.7.6
export PATH=.:$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
6、修改配置文件
hadoop 配置文件在/usr/local/soft/hadoop-2.7.6/etc/hadoop/
cd /usr/local/soft/hadoop-2.7.6/etc/hadoop/
6.1、slaves : 从节点列表(datanode)
vim slaves
增加node1, node2
6.2、hadoop-env.sh : Hadoop 环境配置文件
vim hadoop-env.sh
修改JAVA_HOME
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
6.3、core-site.xml : hadoop核心配置文件
vim core-site.xml
在configuration中间增加以下内容
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/soft/hadoop-2.7.6/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
6.4、hdfs-site.xml : hdfs配置文件
vim hdfs-site.xml
在configuration中间增加以下内容
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
6.5、yarn-site.xml: yarn配置文件
vim yarn-site.xml
在configuration中间增加以下内容
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>20480</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
6.6、mapred-site.xml: mapreduce配置文件
重命名
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
在configuration中间增加以下内容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
7、将hadoop安装文件同步到子节点
scp -r /usr/local/soft/hadoop-2.7.6/ node1:/usr/local/soft/
scp -r /usr/local/soft/hadoop-2.7.6/ node2:/usr/local/soft/
8、格式化namenode
hdfs namenode -format
9、启动hadoop
start-all.sh
10、访问hdfs页面验证是否安装成功
http://master:50070
如果安装失败
stop-all.sh
再次重启的时候
1需要手动将每个节点的tmp目录删除: 所有节点都要删除
rm -rf /usr/local/soft/hadoop-2.7.6/tmp
然后执行将namenode格式化
2在主节点执行命令:
hdfs namenode -format
3启动hadoop
start-all.sh
HA(高可用)搭建,先装zookeeper
ZK NN DN RM NM JN ZKFC
master 1 1 1 1 1
node1 1 1 1 1 1 1 1
node2 1 1 1 1
1、防火墙
service iptables stop
2、时间同步
yum install ntp
ntpdate -u s2c.time.edu.cn
或者
date -s 20180503
3、免密钥 (远程执行命令)
在两个主节点生成密钥文件
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id ip
master-->master,node1,node2
node1-->master,node1,node2
4、修改hadoop配置文件
core-site.xml
hdfs-site.xml
同步到其它节点
scp * node1:`pwd`
scp * node2:`pwd`
5、删除hadoop数据存储目录下的文件 每个节点都需要删除
rm -rf /usr/local/soft/hadoop-2.7.6/tmp
6、启动zookeeper 三台都需要启动
zkServer.sh start
zkServer.sh status
7、启动JN 存储hdfs元数据
三台JN上执行 启动命令:
hadoop-daemon.sh start journalnode
8、格式化 在一台NN上执行
hdfs namenode -format
启动当前的NN
hadoop-daemon.sh start namenode
9、执行同步 没有格式化的NN上执行 在另外一个namenode上面执行
hdfs namenode -bootstrapStandby
10、格式化ZK 在已经启动的namenode上面执行
!!一定要先 把zk集群正常 启动起来
hdfs zkfc -formatZK
11、启动hdfs集群,在启动了namenode的节点上执行
start-dfs.sh
yarn 高可用
1、修改配置文件
yarn-site.xml
mapred-site.xml
同步到所有节点
2、启动yarn 在master启动
start-yarn.sh
3、在另外一台主节点上启动RM
yarn-daemon.sh start resourcemanager
master:8088
node1:8088
以上是关于Hadoop及其HA搭建的主要内容,如果未能解决你的问题,请参考以下文章