hadoop集群搭建

0. Hadoop分布式环境搭建之环境介绍

我这里准备了三台机器,IP地址如下:

192.168.153.113 
192.168.153.186 
192.168.153.223

1. 网络配置

首先在这三台机器上修改主机名以及配置其他机器的主机名

1.1 修改主机名(三台机器都要修改)

[root@bigdata100 ~]# hostnamectl set-hostname bigdata100

1.2 编辑/etc/hosts配置文件(三台机器都要修改)

[root@bigdata100 ~]# vim /etc/hosts

修改为如下

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.153.113 bigdata100
192.168.153.186 bigdata101
192.168.153.223 bigdata102

1.3 配置ssh免密码登录(三台机器都要修改)

[root@bigdata100 ~]# ssh-keygen -t rsa  # 三台机器都需要执行这个命令生成密钥对

[root@bigdata100 ~]# ls .ssh/
authorized_keys  id_rsa  id_rsa.pub  known_hosts

[root@bigdata100 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata100
[root@bigdata100 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata101
[root@bigdata100 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata102

1.4 测试

[root@bigdata100 ~]# ping bigdata100
[root@bigdata100 ~]# ping bigdata101
[root@bigdata100 ~]# ping bigdata102
[root@bigdata100 ~]# ssh bigdata101
[root@bigdata100 ~]# ssh bigdata102

2. JDK安装与配置

下载压缩包 jdk-8u151-linux-x64.tar.gz

2.1 解压

[root@bigdata100 ~]# tar -zxvf jdk-8u151-linux-x64.tar.gz

2.2 移动到自己目录(这里我的目录是bigDataSoftware)

[root@bigdata100 ~]# mv ./jdk1.8.0_151 /home/bigDataSoftware/JDK_1.8

2.3 配置环境变量

[root@bigdata100 ~]# vim /etc/profile

在最后添加

export JAVA_HOME=/home/bigDataSoftware/JDK_1.8
export JRE_HOME=/home/bigDataSoftware/JDK_1.8/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH

加载配置文件,让其生效

[root@bigdata100 ~]# source /etc/profile

2.4 测试

[root@bigdata100 ~]# java -version
[root@bigdata100 ~]# javac -version

2.5 JDK及环境变量分发

[root@bigdata100 ~]# rsync -av /home/bigDataSoftware/JDK_1.8 bigdata101:/home/bigDataSoftware
[root@bigdata100 ~]# rsync -av /home/bigDataSoftware/JDK_1.8 bigdata101:/home/bigDataSoftware
[root@bigdata100 ~]# rsync -av /etc/profile bigdata101:/etc/profile
[root@bigdata100 ~]# rsync -av /etc/profile bigdata101:/etc/profile

3. Hadoop安装与配置

3.1 将Hadoop压缩包拖入解压

[root@bigdata100 /home/bigDataSoftware]# tar -zxvf hadoop-2.7.7.tar.gz

3.2 在hadoop-2.7.7文件夹里面先创建4个文件夹:

hadoop-2.7.7/hdfs
hadoop-2.7.7/hdfs/tmp
hadoop-2.7.7/hdfs/name
hadoop-2.7.7/hdfs/data

3.3 配置Hadoop文件

进入/home/bigDataSoftware/hadoop-2.7.7/etc/hadoop

3.3.1 配置core-site.xml文件

vim core-site.xml

在中加入以下代码:

<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/bigDataSoftware/hadoop-2.7.7/hdfs/tmp</value>
    <description>A base for other temporary directories.</description>
</property>
<property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
</property>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://bigdata100:9000</value>
</property>

注意:第一个属性中的value和我们之前创建的/hadoop-2.7.7/hdfs/tmp路径要一致。

3.3.2 配置 hadoop-env.sh文件

将JAVA_HOME文件配置为本机JAVA_HOME路径

# The java implementation to use.
export JAVA_HOME=/home/bigDataSoftware/JDK_1.8

3.3.3 配置 yarn-env.sh

将其中的JAVA_HOME修改为本机JAVA_HOME路径(先把这一行的#去掉)

# some Java parameters
export JAVA_HOME=/home/bigDataSoftware/JDK_1.8
if [ "$JAVA_HOME" != "" ]; then

3.3.4 配置hdfs-site.xml

在中加入以下代码

<property>
 <name>dfs.replication</name>
   <value>2</value>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/bigDataSoftware/hadoop-2.7.7/hdfs/name</value>
   <final>true</final>
</property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/home/bigDataSoftware/hadoop-2.7.7/hdfs/data</value>
   <final>true</final>
 </property>
 <property>
  <name>dfs.namenode.secondary.http-address</name>
   <value>bigdata100:9001</value>
 </property>
 <property>
   <name>dfs.webhdfs.enabled</name>
   <value>true</value>
 </property>
 <property>
   <name>dfs.permissions</name>
   <value>false</value>
 </property>

因为这里有两个从主机,所以dfs.replication设置为2

3.3.5 复制mapred-site.xml.template文件,并命名为mapred-site.xml

配置 mapred-site.xml,在标签中添加以下代码

<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

3.3.6 配置yarn-site.xml

在标签中添加以下代码

<property>
 <name>yarn.resourcemanager.address</name>
   <value>bigdata100:18040</value>
 </property>
 <property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>bigdata100:18030</value>
 </property>
 <property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>bigdata100:18088</value>
 </property>
 <property>
   <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>bigdata100:18025</value>
 </property>
 <property>
   <name>yarn.resourcemanager.admin.address</name>
   <value>bigdata100:18141</value>
 </property>
 <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
 </property>
 <property>
     <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
     <value>org.apache.hadoop.mapred.ShuffleHandler</value>
 </property>

3.3.7 配置slaves 文件

修改为如下

bigdata101
bigdata102

3.3.8 配置hadoop的环境,就像配置jdk一样

在/etc/profile文件最后添加如下

export HADOOP_HOME=/home/bigDataSoftware/hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

3.3.9 Hadoop分发

rsync -av /home/bigDataSoftware/hadoop-2.7.7/ bigdata101:/home/bigDataSoftware/hadoop-2.7.7/
rsync -av /home/bigDataSoftware/hadoop-2.7.7/ bigdata102:/home/bigDataSoftware/hadoop-2.7.7/

环境变量配置文件分发

rsync -av /etc/profile bigdata101:/etc/profile
rsync -av /etc/profile bigdata102:/etc/profile

分别在其他两台主机上source

3.4 Hadoop格式化及启停

hdfs namenode -format

hadoop启动

start-all.sh 

查看是否有一下进程启动

[root@bigdata100 ~]# jps
6256 Jps
5843 ResourceManager
5413 NameNode
5702 SecondaryNameNode

[root@bigdata101 ~]# jps
3425 DataNode
3538 NodeManager
3833 Jps

[root@bigdata102 ~]# jps
3425 DataNode
3538 NodeManager
3833 Jps

hadoop关闭

stop-all.sh

3.5 web管理

各机器的进程检查完成,并且确定没有问题后,在浏览器上访问主节点的50070端口,例如:192.168.153.115:50070。会访问到如下页面:

查看存活的节点:

如上,可以访问50070端口就代表集群中的HDFS是正常的。

接下来我们还需要访问主节点的8088端口,这是YARN的web服务端口,例如:192.168.153.115:18088。如下:

参考:
https://cloud.tencent.com/developer/article/1703113
https://blog.csdn.net/fanxin_i/article/details/80425461

问题:
hadoop启动start-all.sh,slave节点没有datanode的问题 https://blog.csdn.net/long085/article/details/78535873

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jumper17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值