搭建hadoop集群详细步骤

首先要准备好一台linux系统电脑,这里用的是VMware安装的CentOs6.7

  1. 网络配置工作

关闭防火墙

service iptables stop
chkconfig iptables off

配置网卡IP地址等

 vi/etc/sysconfig/network-scrips/ifcfg-etho

删除uuid和hwaddr

onboot=yes(开机自启动)
bootproto=static(静态ip)
IPADDR=192.168.2.240(ip地址)
NETMASK=255.255.255.0(子网掩码)
GATEWAY=192.168.2.1(网管)
DNS1=114.114.114.114
DNS2=192.168.2.1

重启网络

service network restart

用工具连接虚拟机
修改本机host名

hostname +主机名  (临时修改)
vi/etc/sysconfig/network(永久修改)
  1. 安装jdk

将jdk安装包放进目录下 解压

	tar -zxvf 文件名 -c 目录

配置jdk环境变量

	vi/etc/profile
	export JAVA_HOME=/usr/local/jdk1.8.0_102
	export PATH=$PATH:$JAVA_HOME/bin

重新加载一下文件

source /etc/profile
java -version 查看jdk版本
  1. 安装mysql(备用)
    删除mysql的东西

    rpm -e --nodeps mysql
    

    安装

    yum install -y mysql -server mysql-deve 
    

    启动mysql

    service mysqld start
    

    为mysql的root账号设置密码

    mysqladmin -u root password '123456'
    

    使用密码登陆mysql

    mysql -uroot -p123456
    

    给其他设备授权登录mysql

    use mysql
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    

    开机启动mysql

    chkconfig mysqld on
    
  2. 克隆多台虚拟机
    关机克隆,记得克隆前删除网卡的uuid跟hwaddr
    修改每个克隆机器的ip地址

    vi/etc/sysconfig/network-scripts/ifcfg-etho
    

    将克隆好的机器中
    vi /etc/udev/rules.d/70-persistent-net.rules的eth0网卡删除将eth1换成eth0
    重启虚拟机
    测试网络连通性
    修改hosts文件

    vi/etc/hosts
    

    将集群中的主机名ip地址添加进去
    并且修改自己的主机名

    vi /etc/sysconfig/network
    

配置集群之间免密登录 (可以用之前的ssh免密登录的脚本)

	yum install openssh-clients

测试ssh
ssh + ip
配置ssh免密登录

ssh-keygen -t rsa   生成公钥私钥
ssh-copy-id -i /root/.ssh/id_rsa.pub  group1  将自己的公钥发送给要设置免密的	其他机器
  1. 配置hadoop集群
    将官网下载的hadoop压缩包放入 解压到指定的目录下
    解压命令 tar-zxvf 文件名 +C 指定目录
    修改配置文件 进入hadoop配置文件目录 cd /hadoop-2.7.6/etc/hadoop/
    配置java的 环境变量 vi hadoop-env.sh
    export JAVA_HOME=/usr/local/jdk1.8.0_102 将自己的jdk安装目录配置进去
    配置hadoop集群的配置文件

cd 到hadoop的安装目录 进入etc/hadoop修改配置文件

vi core-site.xml  配置namenode在哪里  临时文件存储位置
<configuration>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://group1:9000</value>   
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop-2.7.6/tmp</value>
    </property>
    
    </configuration>
	
vi hdfs-site.xml	配置namenode存放数据目录以及备份数量设置secondarynamenode

<configuration>
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>/usr/local/hadoop-2.7.6/data/name</value>
    </property>
    <property>
    <name>dfs.datanode.data.dir</name>
    <value>/usr/local/hadoop-2.7.6/data/data</value>
    </property>
    <property>
    <name>dfs.replication</name>
    <value>3</value>
    </property>
    <property>
    <name>dfs.secondary.http.address</name>
    <value>group1:50090</value>
    </property>
  </configuration>

cp mapred-site.xml.tmp* mapred-site.xml
vi  mapred-site.xml		配置提交到yarn运行
<configuration>
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    </configuration>
	
vi  yarn-site.xml   配置yarn的一些参数

    <configuration>
    <!-- Site specific YARN configuration properties -->
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>group1</value>
    </property>
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    </configuration>
vi  slave  配置要启动的datanode节点
	group1
	group2
	group3

然后将整个hadoop目录以及环境变量文件(/etc/profile)发送一份给其他机器

	scp -r /usr/local/hadoop-2.7.6  group2:/usr/local/

9.启动以及查看是否成功
启动:初始化HDFS(在group1进行操作)(操作一次就ok)

		hadoop  namenode  -format
		
		启动hdfs   start-dfs.sh
		
		启动yarn   start-yarn.sh

通过网页查看 需要在windows的hosts文件中将虚拟机的Ip地址以及主机名对应起来才能通过主机名访问

		hdfs group1:50070    
		yarn group1:8088

猜你喜欢

转载自blog.csdn.net/qq_16583333/article/details/84171466