大数据环境搭建一、hadoop3.1.3集群搭建

一、服务器准备及前置操作:

准备要搭建集群的服务器

hostnameip地址
hcy-03192.168.0.111
hcy-04192.168.0.112
hcy-05192.168.0.113

1.关闭防火墙

chkconfig -off iptables	 (centos6)
chkconfig -off ip6tables	(centos6)
systemctl stop firewalld.service	(centos7)

如硬性需求不可关闭防火墙,那么就开放hadoop所需的端口,参考如下:https://www.cnblogs.com/tnsay/p/5753838.html

2.配置hostname与ip地址的映射关系:

集群内的所有服务器都需要配置

vim /etc/hosts

追加内容如下:

192.168.0.111 hcy-03
192.168.0.112 hcy-04
192.168.0.113 hcy-05

3.配置集群中的所有机器ssh免密

生成每台机器的ssh密钥,如下操作只在其中一台执行,之后通过ssh命令将密钥写入指定文件,再scp到其他机器。

ssh-keygen -t rsa #一路回车

将公钥添加到认证文件中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

并设置authorized_keys的访问权限

chmod 600 ~/.ssh/authorized_keys

这里在 192.168.0.111上执行,将两个子节点的认证文件追加到主节点的认证文件中

ssh 192.168.0.112 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
ssh 192.168.0.113 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

此时,主节点上的认证文件就含有三个主机的认证证书内容,分发整合后的文件到其它节点

scp ~/.ssh/authorized_keys 192.168.0.112:~/.ssh/
scp ~/.ssh/authorized_keys 192.168.0.113:~/.ssh/

三台机器都测试免密ssh是否成功,测试时,第一次,需要输入密码,之后就不需要输入密码了,ssh到其他主机后记得exit退出

4.关闭selinux

vim /etc/sysconfig/selinux	设置	SELINUX=disabled

我这里永久关闭了,如果需要临时关闭: setenforce 0

5.Hadoop运行环境需要安装jdk1.8

参考我的另一篇博客吧,不做赘述了,https://blog.csdn.net/qq_40137337/article/details/103141670
至此,前置操作结束,开始安装hadoop

二、安装hadoop

以下操作只在主节点执行

1.下载安装包:

https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz

直接wget即可,需要其他版本,到apache版本库自行找吧,附上地址:https://archive.apache.org/dist/

2.解压:

tar -xvzf hadoop-3.1.3.tar.gz -C /usr/local/

3.修改环境变量:

vim /etc/profile
export HADOOP_HOME=/usr/local/hadoop-3.1.3
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使环境变量生效source /etc/profile
检验一下环境变量:hadoop version

4.到解压目录下,开始修改各配置文件:

cd  /usr/local/hadoop-3.1.3/etc/hadoop/

这里只添加从节点(datanode)的hostname

vi workers 
hcy-04
hcy-05​

这里,提前安装了jdk1.8,JAVA_HOME配置成安装jdk的路径即可


vim hadoop-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_211
export HADOOP_HOME=/usr/local/hadoop
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

fs.defaultFs 指NameNode所在节点,value这里配置第一个节点;端口默认;hadoop.tmp.dir 指配置元数据存放的位置。value这里配置/opt/hadoop_tmp,需要自己创建对应文件夹。 后续如果查看fsiamge和edits文件,可以在这个目录下找。

vim core-site.xml  
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://hcy-03:9000</value>
</property>
<property>
	<name>hadoop.tmp.dir</name>
	<value>/usr/local/hadoop/tmp</value>
</property>

vim hdfs-site.xml
<property>
   <name>dfs.name.dir</name>
   <value>/usr/local/hadoop/dfs/name</value>
   <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
   <name>dfs.data.dir</name>
   <value>/usr/local/hadoop/dfs/data</value>
   <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
	<name>dfs.namenode.http-address</name>
	<value>hcy-03:50070</value>
</property>
<property>
	<name>dfs.namenode.secondary.http-address</name>
	<value>hcy-03:50090</value>
</property>
<property>
   <name>dfs.replication</name>
   <value>2</value>
</property>
<property>
      <name>dfs.permissions</name>
      <value>false</value>
      <description>need not permissions</description>
</property>

vim mapred-site.xml
<property>
    <name>mapred.job.tracker</name>
    <value>hcy-03:49001</value>
</property>
<property>
      <name>mapred.local.dir</name>
       <value>/usr/local/hadoop/var</value>
</property>
<property>
	<name>mapreduce.map.memory.mb</name>
	<value>1500</value>
	<description>每个Map任务的物理内存限制</description>
</property>
<property>
	<name>mapreduce.reduce.memory.mb</name>
	<value>3000</value>
	<description>每个Reduce任务的物理内存限制</description>
</property>
<property>
	<name>mapreduce.map.java.opts</name>
	<value>-Xmx1200m</value>
</property>
<property>
	<name>mapreduce.reduce.java.opts</name>
	<value>-Xmx2600m</value>
</property>
<property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
</property>

在命令行下输入如下命令:hadoop classpath,并将返回的地址复制,在配置下面的yarn-site.xml时会用到

vim yarn-site.xml 

刚才hadoop classpath 打印的结果,填到:yarn.application.classpath配置中

<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>hcy-03</value>
</property>
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
<property>
	<name>yarn.application.classpath</name>
	<value>/usr/local/hadoop/etc/hadoop:/usr/local/hadoop/share/hadoop/common/lib/*:/usr/local/hadoop/share/hadoop/common/*:/usr/local/hadoop/share/hadoop/hdfs:/usr/local/hadoop/share/hadoop/hdfs/lib/*:/usr/local/hadoop/share/hadoop/hdfs/*:/usr/local/hadoop/share/hadoop/mapreduce/lib/*:/usr/local/hadoop/share/hadoop/mapreduce/*:/usr/local/hadoop/share/hadoop/yarn:/usr/local/hadoop/share/hadoop/yarn/lib/*:/usr/local/hadoop/share/hadoop/yarn/*</value>
</property>
<property>
	<name>yarn.nodemanager.resource.memory-mb</name>
	<value>22528</value>
	<discription>每个节点可用内存,单位MB</discription>
</property>
<property>
	<name>yarn.scheduler.minimum-allocation-mb</name>
	<value>1500</value>
	<discription>单个任务可申请最少内存,默认1024MB</discription>
</property>
<property>
	<name>yarn.scheduler.maximum-allocation-mb</name>
	<value>16384</value>
	<discription>单个任务可申请最大内存,默认8192MB</discription>
</property>

至此配置完成

5.使用scp命令将主节点下的目录复制到各个从节点的相应位置上

scp -r /usr/local/hadoop/ root@hcy-04:/usr/local/
scp -r /usr/local/hadoop/ root@hcy-05:/usr/local/

在master中运行下述命令,格式化节点

hadoop namenode -format

运行之后不报错,并在倒数第五六行有successfully即为格式化节点成功
在主节点的sbin目录下执行 start-all.sh 脚本来启动集群
各几点使用jps命令查看节点是否启动
http://192.168.0.111:50070/ 进入web模式
http://192.168.0.111:8088/cluster 进入管理中心

ok,齐活!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值