Centos7安装hadoop2.X集群

准备工作:

1)安装VMware(激活什么的百度一下即可以解决),

2)下载Centos7镜像(建议下载Centos7 Minimal版本,因为其他版本一般都达到4G左右,minimal版本大概700M,如果电脑不给力安装非Minimal版本会很卡),下载地址:http://mirror.lzu.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso

3)准备好 jdk8,hadoop-2.6.0-cdh5.10.0.tar(建议使用cdh版本的hadoop,至于原因自行百度)

jdk8地址:http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz

hadoop-2.6.0-cdh地址:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.10.0.tar.gz

4)在VM中安装Centos系统(只需要安装一台,后面的可以通过克隆,最终集群有3台主机,具体的也自己去百度)

5) 安装完成后:关闭系统防火墙,注意:Centos7与以前的防火墙不一样,Centos用的是firewalld,

执行命令(root用户)

systemctl stop firewalld

systemctl disable firewalld

6)关闭SELinux

vi /etc/sysconfig/selinux          

设置 SELINUX=disabled

7)设置静态ip

1.首先设置虚拟机:编辑->虚拟网络编辑器->VMnet8->(右下角)更改设置->(VMnet8)选择NAT模式,NAT设置可以看到网关和子网,静态IP设为统一网络的IP即可

2 修改网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-eth0
 HWADDR=00:0c:29:d6:7f:53 #此地址可以通过ip addr获得
 TYPE=Ethernet
 BOOTPROTO=static
 IPADDR=192.168.26.20 #静态ip 本机的静态ip,自定,只要更虚拟机在同一网络即可
 NETMASK=255.255.255.0 #子网掩码
 NETWORK=192.168.26.2 #网关 网关为虚拟机的NAT网关
 NAME=eth0
 DEVICE=eth0
 ONBOOT=yes
 DNS1=192.168.26.2 #DNS可以写网关

3 重启服务
 systemctl restart network(如果出错则重启)

 注意:/etc/resolv.cfg如果ifcfg-eth0写了DNS则可以不修改,

4 测试

 ip addr

 输出信息可以看到设置的静态IP则设置成功

5 修改宿主机VMnet8的IP为与虚拟机在同一网络的静态IP
 网络和共享中心->VMnet8->属性->ipv4
 例如:
 ip地址:192.168.26.1
 子网掩码:255.255.255.0

 默认网关:192.168.26.2

 修改宿主机和Centos的hosts文件,添加以下内容

 master 192.168.26.20 #主节点

slave1 192.168.26.21 #从节点

slave2 192.168.26.22 #从节点

修改hostname: vi /etc/hostname

 master

创建用户,例如:hadoop

 命令:

 adduser hadoop

 passwd hadoop

6. 测试网络

ping 192.168.26.20

如果可以ping通,则表示设置成功

7.通过VM克隆系统,并设置对应的静态ip和hostname

准备完毕!

安装步骤:

1.安装jdk

1)上传tar包到服务器

2)解压到目录

3)配置环境变量

1.打开文件 vim /etc/profile

2.export JAVA_HOME=/usr/jdk目录/jdk8加压后得到的目录名

  export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  export PATH=$PATH:$JAVA_HOME/bin

4).刷新profile文件 命令:source /etc/profile

5).测试jdk的安装 java -version和javac

2. 配置ssh无密钥通信

(1)编辑vim /etc/ssh/sshd_config
把以下注释打开
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
重启ssh systemctl restart sshd.service
(1)ssh-keygen -t rsa
(2)cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys或cat id_rsa.pub>> authorized_keys

目录权限问题
~权限设置为700
~/.ssh权限设置为700
~/.ssh/authorized_keys的权限设置为600


(3)修改文件”authorized_keys”权限 权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用RSA功能
chmod 700 ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
(4)接下来是把公钥复制所有的Slave机器上,在下边的指令中,将公钥复制到了.ssh文件夹下,在初始状态下,Slave机器默认没有.ssh目录,Slave机器上没有创建的需要手动创建,已经有的忽略。使用下面的命令格式进行复制公钥:


scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/
例如:
scp ~/.ssh/id_rsa.pub hadoop@192.168.26.21:~/.ssh
scp ~/.ssh/id_rsa.pub hadoop@192.168.26.22:~/.ssh

(5)然后分别登录slave1和slave2,将id_rsa.pub 追加到authorized_keys中,并将其权限设置为600后删除id_rsa.pub
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm ~/.ssh/id_rsa.pub
.在master上hadoop用户登录slave上的Hadoop用户验证是否成功
ssh hadoop@192.168.26.21
ssh hadoop@192.168.26.22

【(6)slave无密码登录所有的master和slave互相免密码登录

和master无密码登录所有slave原理一样,就是把slave的公钥追加到master的".ssh"文件夹下的"authorized_keys"中,记得是追加(>>)。】

设置完了记得重启ssh服务


3.安装hadoop

1) 在master上传并解压hadoop包(我一般上传在/usr/modules目录下,以便于同意管理hadoop生态的组件):

tar -xzvf hadoop-2.6.0-cdh5.10.0.tar

修改hadoop目录名称 mv hadoop-2.6.0-cdh5.10.0.tar hadoop

2)、配置/usr/modules/hadoop/etc/hadoop目录下的core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.26.20:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/hadoop/tmp</value>
    </property>

</configuration>

3)、配置/usr/modules/hadoop/etc/hadoop目录下的hdfs-site.xml
<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoop/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoop/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>192.168.26.20:9001</value>
    </property>
    <property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
    </property>
<property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>

4)、配置/usr/modules/hadoop/etc/hadoop目录下的mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
  
</configuration>

5)、配置/usr/modules/hadoop/etc/hadoop目录下的yarn-site.xml
<configuration>
    <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>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>192.168.26.20:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>192.168.26.20:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>192.168.26.20:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>192.168.26.20:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>192.168.26.20:8088</value>
    </property>
</configuration>

6)、配置//usr/modules/hadoop/etc/hadoop目录下hadoop-env.sh、yarn-env.sh的JAVA_HOME,不设置的话,启动不了,
export JAVA_HOME=jdk路径(一般我也放在/usr/modules下)
10、配置/usr/modules/hadoop/etc/hadoop目录下的slaves,删除默认的localhost,增加2个从节点,
192.168.26.21
192.168.26.22

7)、将配置好的Hadoop复制到各个节点对应位置上,通过scp传送,
scp -r /usr/modules/hadoop 192.168.26.21:/home/
scp -r /usr/modules/hadoop 192.168.26.22:/home/

8)、在Master服务器启动hadoop,从节点会自动启动,进入/usr/modules/hadoop目录
(1)初始化,输入命令,bin/hdfs namenode -format
(2)全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh
(3)停止的话,输入命令,sbin/stop-all.sh
(4)输入命令,jps,可以看到相关信息

9)、Web访问,要先开放端口或者直接关闭防火墙
(1)输入命令,systemctl stop firewalld.service
(2)浏览器打开http://192.168.26.20:8088/

(3)浏览器打开http://192.168.26.20:50070/

大功告成!但这仅仅是学习大数据基本的知识,仅仅是一个开始,以后的路还长,需要花费很多时间,踩很多的坑!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值