Hadoop集群搭建
网站首页 文章专栏 Hadoop集群搭建
Hadoop集群搭建
编辑时间:2019-05-06 18:10 作者:毛毛小妖 浏览量:175 评论数:0

一、准备Linux环境(虚拟机)

1、先将虚拟机的网络模式选为NAT

2、修改主机名

vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=hdp-node-01

3、修改IP

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
BOOTPROTO="static" 
HWADDR="00:0C:29:3C:BF:E7"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
IPADDR="192.168.1.101" #根据实际情况填写
NETMASK="255.255.255.0" 
GATEWAY="192.168.1.101" #根据实际情况填写

4、修改主机名和IP的映射关系

vim /etc/hosts

192.168.1.101  hdp-node-01
192.168.1.102  hdp-node-02
192.168.1.103  hdp-node-03

5、关闭防火墙(centos)

#查询防火墙状态
firewall-cmd --state
#关闭防火墙
systemctl stop firewalld.service
#关闭开机制动启动
systemctl disable firewalld.service

6、重启Linux  

reboot

二、安装JDK

1、上传jdk到 /home/hadoop/app目录

2、解压jdk

#创建文件夹
mkdir /home/hadoop/app
#解压
tar -zxvf jdk1.7.tar.gz -C /home/hadoop/app

3、将java添加到环境变量中

vim /etc/profile
#在文件最后添加

export JAVA_HOME=/home/hadoop/app/jdk1.7
export PATH=$PATH:$JAVA_HOME/bin

4、刷新配置

source /etc/profile

三、安装hadoop集群

1、上传hadoop安装包到/home/hadoop/app目录下

2、修改配置文件

  cd  /home/hadoop/app/hadoop-2.6.5/etc/hadoop

(1)vi  hadoop-env.sh

 # 配置jdk路径

export JAVA_HOME=/home/hadoop/app/jdk1.7

(2)vi  core-site.xml,请自行建立/tmp/name,/tmp/data 子文件,当然你可以自行指定存放目录

<configuration>
	<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://hdp-node-01:9000</value>
	</property>

	<!-- 指定hadoop运行时产生文件的存储目录 -->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/home/HADOOP/apps/hadoop-2.6.1/tmp</value>
	</property>
</configuration>

(3)vi  hdfs-site.xml,请建立data文件夹

<configuration>
	<#namenode元数据保存地址>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>/home/hadoop/data/name</value>
	</property>
	
	<#datanode元数据保存地址>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>/home/hadoop/data/data</value>
	</property>

	<#hdfs副本个数>
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>

	<#配置hdfs的web管理界面的访问地址>
	<property>
		<name>dfs.secondary.http.address</name>
		<value>hdp-node-01:50090</value>
	</property>
</configuration>

(4) vi  mapred-site.xml.template

<configuration>
	<!-- 指定mr运行在yarn上 -->
	<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>hdp-node-01</value>
	</property>

	<!-- reducer获取数据的方式 -->
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
</configuration>

(6)vi  salves(配置集群机器)

hdp-node-01 
hdp-node-02 
hdp-node-03

(7)将hadoop添加到环境变量中

vim /etc/profile

#hadoop
HADOOP_HOME=/home/apache/hadoop-2.9.1
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
export HADOOP_HOME PATH

source /etc/profile

(8)验证hadoop

hadoop version

Hadoop 2.6.5
Subversion https://github.com/apache/hadoop.git -r e8c9fe0b4c252caf2ebf1464220599650f119997
Compiled by sjlee on 2016-10-02T23:43Z
Compiled with protoc 2.5.0
From source with checksum f05c9fa095a395faa9db9f7ba5d754
This command was run using /home/hadoop/app/hadoop-2.6.5/share/hadoop/common/hadoop-common-2.6.5.jar

3、启动集群

初始化HDFS

hadoop  namenode  -format

启动hadoop

cd /hadoop-2.9.1/sbin/
./start-dfs.sh
./start-yarn.sh
./mr-jobhistory-daemon.sh start historyserver

验证是否启动成功   使用jps命令验证查看进程是否启动

6113 ResourceManager
6260 Jps
5797 DataNode
6199 NodeManager
5948 SecondaryNameNode

http://127.0.0.1:50075(HDFS管理界面)


http://127.0.0.1:8088 (MR管理界面)

四、配置ssh免登陆

1、生成ssh免登陆密钥

#进入到我的home目录
cd ~/.ssh

ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
ssh-copy-id localhost
---------------------------

2、ssh免登陆

生成key:
ssh-keygen
复制从A复制到B上:
ssh-copy-id B

3、验证

ssh localhost/exit,ps -e|grep ssh
ssh A #在B中执行

五、测试集群

1、上传文件到HDFS

  从本地上传一个文本文件到hdfs的/wordcount/input目录下

  [HADOOP@hdp-node-01 ~]$ HADOOP fs -mkdir -p /wordcount/input

  [HADOOP@hdp-node-01 ~]$ HADOOP fs -put /home/HADOOP/somewords.txt  /wordcount/input

2、运行一个mapreduce程序

  在HADOOP安装目录下,运行一个示例mr程序

  cd $HADOOP_HOME/share/hadoop/mapreduce/

  hadoop jar mapredcue-example-2.6.1.jar wordcount /wordcount/input  /wordcount/output 

注:转载于渐行渐远的记忆

来说两句吧
最新评论
    还没有人评论哦,快来坐沙发吧!