大数据基础学习-1.CentOS-7.0环境安装和Hadoop2.6.0基础配置

一、CentOS7系统安装

1.安装CentOS7

1)在电脑上安装虚拟机软件VMworkstation12pro,并准备CentOS-7.0-1406-x86_64-DVD.iso镜像文件。

2)打开VMware,新建虚拟机,选择自定义安装。

接下来都选择默认选项,并点击下一步。完成后,出现masteractive虚拟机,这时候,点击CD/DVD,找到本地的CentOS-7.0-1406-x86_64-DVD.iso文件,点击确定,之后点击开启此虚拟机。

3)开启虚拟机,选择第一个install centosLinux7。鼠标点击黑色区域,进入到虚拟机里,同时按住Ctrl+Alt可以退出到主机。

4)选择语言后,进行手动分区。

点击安装位置。

选择“我要配置分区“,点左上角的“完成”,进入下面的界面。分区方案选择“标准分区”,并开始挂载分区,点击左下方“+”。

将/boot分区设为200M,文件系统方式为ext4,如图。设备类型选择标准分区。

同理:将/home目录设置为2G,文件系统方式为ext4,将swap分区设为2G,文件系统方式为swap。最后,给根分区/分配剩余的全部空间,文件系统方式为ext4,设备类型都选择标准分区。

分配完后,单击左上角的“完成”,出现如下界面,点击接受更改。

6)分区配置完成后,点击安装,在这个过程中配置ROOT密码。

注意:这里安装的是mini版本,即命令行模式,如果希望安装桌面版本,进入到Linux系统后,按照如下操作。

首先确保光盘或者ISO镜像文件正确连接到客户机。(也可以用网络下载的方式,因为速度慢,这里直接用安装时候用的iso文件进行GUI安装)

[root@localhost /]# mkdir /cdrom
[root@localhost /]# mount /dev/cdrom /cdrom
[root@localhost /]# ls /cdrom

确保centos7的镜像包挂载进来,如果发现镜像没有挂载进来,点击虚拟机右下角的光盘图标,选择设置,将ISO镜像文件挂载进来,再点击连接。

[root@localhost /]# vi /etc/yum.repos.d/local.repo

输入以下内容

[LocalRepo]
name=Local Repository
baseurl=file:///cdrom
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

 输入“cd /etc/yum.repos.d/”进入目录,使用mv命令将CentOS-Base.repo重命名,使它失效。

[root@localhost /]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@localhost /]# yum clean all
[root@localhost /]# yum install vsftpd
[root@localhost /]# yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

安装完成后,执行下面命令,启动桌面。

[root@localhost /]# startx

【安装好后,一般会直接进入桌面。如果出现了黑白的协议页面,按下'1'为阅读协议,‘q’为退出,‘c’继续,‘r’刷新。首先键入‘1’,阅读协议,接着键入‘2’,accept接受协议,接着键入‘c’,继续。之后再弹出的协议许可,直接都按‘c’和回车即可。】

[root@localhost /]# init 1 //切换到命令行模式

2.网络配置

1)点击虚拟机,选择设置,弹出如下窗口,点击网络适配器,选择NAT模式。

2)点击虚拟机的‘编辑’,选择‘虚拟网络编辑器’,弹出如下窗口,选择VMnet8,并点击‘更改设置’。

弹出如下窗口,选择VMnet8,点击NAT设置。

弹出如下窗口,记住子网IP和网关,设置虚拟机的IP将会用到这两个信息(当然,你也可以设置其他值)。

3)进入系统,输入命令ifconfig查看网卡ip信息【不同电脑ip或者网卡情况会有所不同】。

[root@localhost /]# ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 8132712  bytes 2582460617 (2.4 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8132712  bytes 2582460617 (2.4 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

为了能够通过远程工具连接,这里需要设置静态ip地址,并设置开机启动。

[root@localhost /]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
#BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes #开机启动
IPADDR0=192.168.101.101 #这里的ip需要和虚拟网络编辑器中查看的子网ip对应起来,保持前三位一致
PREFIX0=24 #子网掩码 等同于255.255.255.0
GATEWAY0=192.168.101.2 #网关
DNS1=114.114.114.114 #DNS服务

保存退出后,并重启网卡。

[root@localhost /]# service network restart
Restarting network (via systemctl):                        [  确定  ]
[root@localhost /]# ping wwww.baidu.com
PING ps_other.a.shifen.com (220.181.57.217) 56(84) bytes of data.
64 bytes from 220.181.57.217 (220.181.57.217): icmp_seq=1 ttl=128 time=48.5 ms
64 bytes from 220.181.57.217 (220.181.57.217): icmp_seq=2 ttl=128 time=41.8 ms

说明网卡正常,能正常访问网络,为了能够方便访问虚拟机,可以选择xshell软件进行远程连接,这里就不再赘述。

4)配置主机名称,关闭防火墙。

编辑~/.bashrc,并添加如下内容

[root@localhost /]# vim ~/.bashrc
#iptables -F #清除预设表filter中所有规则链中的规则,centos7中防火墙默认不是这个。
#setenforce 0 #表示关闭selinux防火墙
hostname masteractive #配置主机名
[root@localhost /]# source ~/.bashrc #使配置文件生效
[root@masteractive ~]# systemctl stop firewalld.service  # 关闭防火墙
[root@masteractive ~]# systemctl status firewalld  # 查看防火墙状态, inactive 表示关闭

5)配置host

[root@masteractive ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.101.101 masteractive 
192.168.101.102 masterstandby
192.168.101.103 slave1
192.168.101.104 slave2

3.安装vim

因为centos7没有安装vim,所以需要额外安装。

[root@masteractive ~]# rpm -qa | grep vim
vim-minimal-7.4.160-1.el7.x86_64
vim-common-7.4.160-2.el7.x86_64
vim-enhanced-7.4.160-2.el7.x86_64
vim-filesystem-7.4.160-2.el7.x86_64

若vim已经正确安装,则会显示上面几个包的名称,如果缺少了其中某个,执行:yum -y install +缺少的包名,下载安装该包即可。(注:执行  yum install vim -y 可一键自动安装)

4.构建集群

重复上述虚拟机安装和配置操作,再创建3台虚拟机作为从节点,主机名和ip地址如下。创建4台虚拟机的目的是为了在学习Hadoop2.0时,搭建高可用的集群。在学习时,一般不会用到这么多台机器,1台虚拟机搭建伪分布式即可。

192.168.101.102 masterstandby
192.168.101.103 slave1 
192.168.101.104 slave2 

【当然,也可以采用复制虚拟机或者克隆的方式产生多台虚拟机,但由于是复制操作,虚拟机网卡将会一模一样,MAC值将会重复,导致不能上网,需要再手动修改,解决办法这里就不展开了。如果修改不成功再查找原因将耗费更多时间,得不偿失,建议直接安装,可以当做练手。】

5.ssh免密登录

建立每台机器的互信关系,使得每台机子之间登录不需要密码。

[root@masteractive src]# ssh-keygen    #然后回车然后回车(回两次车)
[root@masteractive src]# cd ~/.ssh/
[root@masteractive .ssh]# ll
total 16
-rw-r--r--. 1 root root1179 Jan 30 08:05 authorized_keys
-rw-------. 1 root root1675 Jan 30 08:00 id_rsa
-rw-r--r--. 1 rootroot  393 Jan 30 08:00 id_rsa.pub
-rw-r--r--. 1 root root1971 Jan 30 08:07 known_hosts

Id_rsa.pub是共钥文件,id_rsa是密钥文件,将id_rsa.pub文件内容拷贝给authorized_keys(注:如果没有authorized_keys这个文件,需先创建),在其他节点上同理操作,并将其他节点上Id_rsa.pub文件里面的内容全部拷贝到主节点的authorized_keys中,masteractive节点再将最终的authorized_keys分发给其他节点。

[root@masteractive .ssh]# scp -rp authorized_keys slave1:~/.ssh/  #同理拷贝给slave2和masterstandby
[root@masteractive .ssh]# ssh slave1    #第一次可能会要求输入密码,输入密码回车后登录到从节点,第二次将会自动登录

二、安装jdk1.8

1.安装jdk-8u144-linux-x64

通过xshell的Xftp插件(需要安装xftp),将jdk-8u144-linux-x64.tar.gz拖到/usr/local/src/目录下(当然也可根据习惯采用其他目录)。

[root@masteractive src]# tar xvzf jdk-8u144-linux-x64.tar.gz #安装jdk

2.配置环境变量

在~/.bashrc文件的底部添加java环境变量:

[root@masteractive src]# vim ~/.bashrc
export JAVA_HOME=/usr/local/src/jdk1.8.0_144
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
[root@master src]# source ~/.bashrc   #生效一下
[root@masteractive src]# scp -rp jdk1.8.0_144 masterstandby:/usr/local/src/  #同理将jdk分发到slave1和slave2,路径保持一致,再分别给masterstandby、slave1和slave2配置环境变量。

三、hadoop2.0 安装

基础环境准备完毕后,开始大数据的基础学习,首先安装的就是hadoop-2.6.0-cdh5.7.0(采用cdh的原因是版本比较稳定)。

http://archive.cloudera.com/cdh5/cdh/5/

[root@masterstandby src]# yum install -y wget #如果没有wget命令就安装一下
[root@masterstandby src]# wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz #下载Hadoop

1.安装hadoop-2.6.0-cdh5.7.0.tar.gz

[root@masteractive src]# tar xvzf hadoop-2.6.0-cdh5.7.0.tar.gz
[root@masteractive src]# cd hadoop-2.6.0-cdh5.7.0/
[root@masteractive hadoop-2.6.0-cdh5.7.0]# mkdir tmp 

2.修改配置文件

[root@masteractive hadoop-2.6.0-cdh5.7.0]# cd etc/hadoop

1)core-site.xml

<configuration>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/src/hadoop-2.6.0-cdh5.7.0/tmp</value>
        </property>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://masteractive:9000</value>
        </property>
</configuration>

默认的hadoop.tmp.dir是/tmp/hadoop-${user.name},此时有个问题就是NameNode会将HDFS的元数据存储在这个/tmp目录下,如果操作系统重启了,系统会清空/tmp目录下的东西,导致NameNode元数据丢失,应该修改这个路径,所以在上面创建了tmp目录。

fs.default.name是namenode的RPC交互端口,默认是8020,这里改成9000是为了今后在spark中不会有端口冲突的问题。

2)hadoop-env.sh

export JAVA_HOME=/usr/local/src/jdk1.8.0_144  #添加java路径

3)mapred-site.xml

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

指定mapreduce运行在yarn框架上。

4) hdfs-site.xml

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
</configuration>

dfs.replication配置HDFS存储时数据的备份数量。

5)yarn-env.sh

export JAVA_HOME=/usr/local/src/jdk1.8.0_144 #配置jdk路径

6)yarn-site.xml

<configuration>
	<property> 
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>masteractive</value>
        </property>
</configuration>

NodeManager上运行的附属服务,需配置成mapreduce_shuffle,yarn框架才可运行MapReduce程序。yarn.resourcemanager.hostname指定了Resourcemanager运行在哪个节点上。

7)slaves

masteractive
masterstandby
slave1
slave2

因为要配置伪分布式,所以主节点masteractive也作为slave节点。

8)分发hadoop到从节点

[root@masteractive src]# scp-rp hadoop-2.6.0-cdh5.7.0 slave1:/usr/local/src/ #同理发送给slave2和masterstandby

9)配置hadoop环境变量,在~/.bashrc后面继续添加如下内容。

export HADOOP_HOME=/usr/local/src/hadoop-2.6.0-cdh5.7.0
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin

3.启动hadoop

在masteractive节点上,格式化hdfs文件系统,启动hadoop集群。

[root@masteractive bin]# ./hadoop namenode -format
[root@masteractive hadoop-2.6.0-cdh5.7.0]# ./sbin/start-all.sh
[root@masteractive hadoop]# jps
21216 NodeManager
21121 ResourceManager
20986 SecondaryNameNode
20715 NameNode
20813 DataNode
21534 Jps

在其他接点上,使用jps查看,只有namenode和datanode两个进程。

【注:有时候会发现DataNode未启动的问题,这很可能是clusterid的问题,因为如果多次格式化namenode,会导致主从的clusterid不一致。解决方法:删除tmp目录,目的是删除里面dfs文件夹下的data和name目录,之后再创建tmp目录,重新格式化即可。】

如果遇到主机无法用域名ping通虚拟机的问题,则修改C:\Windows\System32\drivers\etc的hosts,添加内容如下:

192.168.101.101 masteractive masteractive

 

到这里,就把hadoop的虚拟机环境搭建起来了,再继续学习时,将会安装其他组件,例如zookeeper、hive、HBASE、flume、kafka、storm、spark等等,在学习这些组件时,都有详细安装说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值