当前位置:   article > 正文

安装hadoop集群_将namenode中current下version的clusterid把datanode下的curr

将namenode中current下version的clusterid把datanode下的current的version覆

以下所有的操作都是CtntOS7系统并使用root用户权限,在此之前确定以下环境配置好:

1、配置虚拟机网络。

2、添加ip映射关系到hosts文件。

3、关闭防火墙以及selinux。

Master节点的安装配置:

1、下载解压JDK,并配置环境变量(8以上版本):

export JAVA_HOME=/home/java8
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
  • 1
  • 2
  • 3

使环境变量生效:source /etc/profile,顺便给解压后的文件夹改个名字。

2、下载解压hadoop包(略),并配置环境变量 vim /etc/profile。

export HADOOP_HOME=/home/hadoop-3.3.0
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  • 1
  • 2

使环境变量生效:source /etc/profile,顺便给解压后的文件夹改个名字。

修改home/hadoop-3.3.0/etc/hadoop/hadoop.env.sh ,将JAVA_HOME注释删掉,改成自己配置(和/etc/profile一样即可)

3、修改配置文件,需要修改的文件都在/hadoop-3.3.0/etc/hadoop/目录下:

​ 3.1 配置core-site.xml:在标签中添加如下配置:

<property>
		<name>fs.defaultFS</name>
		<value>hdfs://k8s-master:9000</value>
</property>
<property>
		<name>hadoop.tmp.dir</name>
		<value>/home/hadoop-3.3.0/hadoopdata</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

​ 3.2 配置HDFS文件系统,编辑hdfs-site.xml在添加如下配置:

<property>
		<name>dfs.replication</name>
		<value>3</value>
</property>
<property>
		<name>dfs.name.dir</name>
		<value>/usr/local/data/namenode</value>
</property>
<property>
		<name>dfs.data.dir</name>
		<value>/usr/local/data/datanode</value>
</property>
<property>
		<name>dfs.tmp.dir</name>
		<value>/usr/local/data/temp</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

​ 3.3 配置yarn-site.xml,同样在标签中添加如下配置:

<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>k8s-master</value>
</property>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

​ 3.4 配置MapReduce计算框架,编辑mapred-site.xml在配置如下:

<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
</property>
  • 1
  • 2
  • 3
  • 4

​ 3.5 配置slaves文件,该文件给出了Hadoop集群的所有slave节点(较新版本为workers,要在workers中添加master和slaves)。

#先删除localhost,然后根据自己的情况配置
k8s-node1
k8s-node2
  • 1
  • 2
  • 3

4、至此,主节点上的配置就已经完成,现在把主节点的配置复制到slave上

scp -r /home/hadoop-3.3.0 root@k8s-node1:/home
scp -r /home/hadoop-3.3.0 root@k8s-node2:/home
  • 1
  • 2

​ 完成以后,在slaves上配置JDK,同1。

5、格式化文件系统,只在master做就行了。

hadoop namenode -format
  • 1

6、启动和关闭Hadoop集群

进入hadoop安装目录的sbin文件夹下,运行如下命令:

#开启
start-dfs.sh
#关闭
stop-dfs.sh
#该目录下还有很多命令,看自己需要开启关闭哪个自行选择。
  • 1
  • 2
  • 3
  • 4
  • 5

7、验证Hadoop集群是否启动成功。

master执行jps
  • 1

如果出现namenode,datanode,jps,SecondNamenode这几个就算成功了。

同样在slave上执行jps验证。

还可以在浏览器上验证。success!

在这里插入图片描述

接下来是可能出现的几个问题:

1、ERROR:ATTEMPTING TO OPERATE ON HDFS NAMENODE AS ROOT

需要在所有节点start-dfs.sh,stop-dfs.sh 添加如下内容:

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
  • 1
  • 2
  • 3
  • 4

在所有start-yarn.sh,stop-yarn.sh添加以下内容:

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
  • 1
  • 2
  • 3

2、Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password

这其实是需要进行免密登录配置。

先在本机生成公钥:

ssh-keygen -t rsa
  • 1

连续三下回车,然后进入到.ssh目录下。

将本机的id_rsa.pub添加到其他机器中(master自身要执行:ssh-copy-id -i k8s-master):

ssh-copy-id -i k8s-node1
  • 1

重新启动hadoop。

3、jps后没有datanode。这个问题是由于多次格式化文件系统导致namenode的clusterID变了而dataNode的clusterID没变。只要到master的namenode/current/VERSION文件中把clusterID拷贝到datanode/current/VERSION中就可以了(slave最好也弄一下)。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号