hadoop集群搭建

hadoop集群搭建

hadoop 伪分布式环境搭建

2.1. 关闭防火墙
2.1.1. 查看防火墙状态

Systemctl status firewalld

2.1.2. 关闭防火墙

Systemctl stop firewalld

2.1.3. 查看防火墙开机启动状态

2.1.4. 关闭开机启动

Systemctl disable firewalld

2.2. 修改主机名

nmtui

2.3. 修改ip
2.4. 修改主机名和IP的映射关系

vi /etc/hosts

2.5. 安装jdk
2.5.1. 上传并解压jdk

tar -zxvf jdk-7u75-linux-x64.gz -C /hadoop/

2.5.2. 配置环境变量

 vi /etc/profile

增加以下配置:

export JAVA_HOME=/hadoop/jdk1.7.0_75/
export PATH=$PATH:$JAVA_HOME/bin

刷新配置,使环境变量生效:

source /etc/profile

2.6. 安装hadoop
2.6.1. 上传并解压Hadoop

   tar -zxvf hadoop-2.4.1.tar.gz -C /hadoop/

2.6.2. 配置环境变量

   vi /etc/profile

增加以下配置:

export HADOOP_HOME=/hadoop/hadoop-2.4.1/
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

刷新配置,使环境变量生效:

source /etc/profile

2.6.3. 修改配置文件
需要修改5个配置文件,分别是:

1、hadoop-env.sh

 export JAVA_HOME=/hadoop/jdk1.7.0_75/

2、core-site.xml:

<configuration>
<!-- 指定HDFS的namenode的通信地址 -->
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存放目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/data</value>
</property>
</configuration>

3、hdfs-site.xml:

<configuration>
<!-- 配置HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

4、mapred-site.xml:

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

5、yarn-site.xml:

<configuration>
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration> 

2.6.4. 格式化HDFS文件系统

hadoop namenode -format

2.6.5. 启动hadoop

  1. sbin/start-all.sh

为了安全起见,启动hadoop时,每启动一个服务都会让你输入密码,为了能够自动化运行hadoop,我们需要配置ssh免登陆,详见2.8章节
2.7. 验证Hadoop是否启动成功
2.7.1. 进程验证
输入命令jps,查看java进程,是不是有5个:
• NameNode
• SecondaryNameNode
• DataNode
• ResourceManager
• NodeManager
2.7.2. 控制台验证
hdfs管理界面:http://192.168.1.101:50070

yarn管理界面:http://192.168.1.101:8088

2.8. 配置本机ssh免登陆
2.8.1. 生成ssh免登陆密钥
1. ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
2.8.1. 公钥授权
1. #将公钥拷贝到要免密登陆的目标机器上
2. ssh-copy-id localhost
3. 或者
4. #把公钥追加到授权的key中
5. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3. 集群环境搭建
3.1. 集群简介
HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起
• HDFS集群:负责海量数据的存储,集群中的角色主要有 NameNode / DataNode
• YARN集群:负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager

3.2. 服务器准备
本案例使用虚拟机服务器来搭建HADOOP集群,所用软件及版本:
• Vmware 11.0
• Centos 6.5 64bit minimal
• jdk 1.7.0_75 64bit
• hadoop 2.6.4 64bit
3.3. 网络环境准备
• 采用NAT方式联网
• 网关地址:192.168.8.1
• 子网掩码:255.255.255.0
• 服务器节点IP地址:192.168.8.101
• 计算节点:192.168.8.102、192.168.8.103、192.168.8.104
3.4. 服务器系统设置
• 添加HADOOP用户
• 为HADOOP用户分配sudoer权限
• 同步时间
• 设置主机名
◦ hadoop01
◦ hadoop02
◦ hadoop03
◦ hadoop04
• 配置内网域名映射
◦ 192.168.8.101 hadoop01
◦ 192.168.8.102 hadoop02
◦ 192.168.8.103 hadoop03
◦ 192.168.8.104 hadoop04
• 配置ssh免密登陆
• 配置防火墙
3.5. Jdk环境安装
• 上传jdk安装包
• 解压安装包
• 配置环境变量 /etc/profile
3.6. HADOOP安装部署
• 上传hadoop安装包
• 解压安装包
• 配置环境变量 /etc/profile

3.6. HADOOP配置
1、vi hadoop-env.sh

1. export JAVA_HOME=/hadoop/jdk1.7.0_75/

2、vi core-site.xml

<configuration>
<!-- 指定HDFS的namenode的通信地址 -->
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop01:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存放目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/data</value>
</property>
</configuration>

3、vi hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/hadoop/data/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/hadoop/data/data</value>
</property>

<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>hadoop01:50090</value>
</property>
</configuration>

4、vi mapred-site.xml

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

5、vi yarn-site.xml

<configuration>
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

6、vi slaves
1. hadoop02
2. hadoop03
3. hadoop04
7、复制hadoop到其它节点以及Jdk

1. scp -r /hadoop/hadoop-2.6.4 root@hadoop02:/hadoop
2. scp -r /hadoop/hadoop-2.6.4 root@hadoop03:/hadoop
3. scp -r /hadoop/hadoop-2.6.4 root@hadoop04:/hadoop

7、复制/etc/profile到其它节点

scp -r /etc/profile root@hadoop02:/etc/profile
scp -r /etc/profile root@ hadoop03:/etc/profile
scp -r /etc/profile root@ hadoop04:/etc/profile

3.7. 启动集群
1、初始化HDFS

bin/hadoop namenode -format

2、启动HDFS

sbin/start-dfs.sh

3、启动YARN

sbin/start-yarn.sh

3.8. 验证

1、jps

2、http://hadoop01:50070
3、http://hadoop01:8088
4、hdfs dfsadmin –report

3.9. 测试
3.9.1. 上传文件到HDFS
hadoop fs -mkdir -p /wordcount/input
hadoop fs -put /hadoop/words.txt /wordcount/input
3.9.2. 运行一个mapreduce程序
在HADOOP安装目录下,运行一个示例mr程序
#cd $HADOOP_HOME/share/hadoop/mapreduce/
hadoop jar mapredcue-example-2.6.1.jar wordcount /wordcount/input /wordcount/output
4. hadoop的安全模式
hadoop集群在刚启动的时候,会进入安全模式,这时候namenode上只有元数据信息,还没有datanode的位置信息,需要所有的datanode向他报告位置,然后namenode会维护好这些datanode的位置信息,之后再正常提供服务。

如果需要强制离开安全模式:可以使用指令:hadoop dfsadmin -safemode leave

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值