elasticsearch备份与恢复1_安装Hadoop HDFS

先介绍一下背景:

我自己的两台虚拟机,一台部署了es,另一台安装hadoop HDFS作为索引备份的存储。

这里es版本是6.2.3,而Hadoop HDFS版本是2.7.1

这是第一篇:为虚拟机安装Hadoop HDFS

hadoop hdfs,提供的是分布式的文件存储,数据存储

这里我们在192.168.211.104的docker02上安装hadoop HDFS,由于只有一台机器,采用Hadoop伪分布式模式

安装过程(前提已经配置好jdk):

1、使用hadoop-2.7.1.tar.gz,使用XFTP上传到CentOS的/usr/local目录下。

2、将hadoop包进行解压缩:tar -zxvf hadoop-2.7.1.tar.gz

3、对hadoop目录进行重命名:mv hadoop-2.7.1 hadoop

4、配置hadoop相关环境变量,这样就不需要每次都切换到Hadoop的安装目录执行hadoop的相关命令了

vi ~/.bashrc

export JAVA_HOME=/usr/local/jdk1.8.0_171

export HADOOP_HOME=/usr/local/hadoop

export PATH=$PATH:JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source .bashrc

 

以上过程也可以

vi /etc/profile

         编辑相同内容之后

    source /etc/profile

5. 设置ssh免密登录

Hadoop通过SSH实现对各节点的管理,centos已经默认安装了ssh

可以用以下语句rpm –qa|grep ssh

接下来通过以下语句设置SSH免密码通信

测试ssh登录,再次登录就无须密码验证了

具体过程可参考:设置 SSH 通过密钥登录

6、在/usr/local目录下创建data目录

mkdir data

 

etc/hosts文件中加入

192.168.211.104 docker02

7、修改配置文件

cd /usr/local/hadoop/etc/Hadoop

1) 编辑hadoop-env.sh,找到HADOOP_OPTS修改为

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="

2) 编辑core-site.xml

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://192.168.211.104:9000</value>
</property>

3)编辑hdfs-site.xml

<property>
  <name>dfs.namenode.name.dir</name>
  <value>/usr/local/data/namenode</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/usr/local/data/datanode</value>
</property>
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>

其中变量dfs.replication指定了每个HDFS数据库的复制次数。通常为3,由于我们只有一台主机和一个伪分布式的DataNode,因此将此值修改为1

其中dfs.permissions的配置,其作用是禁止权限检查,这样方便我们在es上把snapshot传输到docker02上

4)编辑vi slaves

docker02

注意:不要忘记打开防火墙50070端口

 

通过上面的配置,Hadoop伪分布式配置就已经完成了,接下来启动hadoop

 

1)首先格式化namenode

hdfs namenode -format

2)执行完成之后,启动hdfs集群:

start-dfs.sh

验证启动是否成功:jps

看到

DataNode NameNode以及SecondaryNameNode都启动了,说明HDFS启动成功了

3)最后访问HDFS的50070端口,看datanodes部分

 

由于后面es与docker02的datanode要进行交互,所以不要忘记打开防火墙50010端口

 

4)停止hdfs集群的方法

stop-dfs.sh

 

接下来的第二部分索引备份和恢复参考:elasticsearch备份与恢复2_es使用snapshot和restore API

 

遇到的问题:

1)如果Hadoop中Datanode为空,那么要清空/usr/local/data的内容,再重新format

参考:hadoop中Datanode进程无法启动解决方法

2)如果防火墙开启了50070端口之后,端口仍无法打开,解决参考:

Hadoop 50070端口打不开,该如何排查?

猜你喜欢

转载自blog.csdn.net/u013905744/article/details/81557878