大数据环境手工搭建(持续更新中)

Linux版本:Centos6.5
虚拟机软件:VMware
连接工具: SecureCRTPortable
各个组件版本:
大数据环境手工搭建(持续更新中)_第1张图片
百度云链接:链接:https://pan.baidu.com/s/1A7TaiXbqevbFo9JBNp_fdw
提取码:z2k7

软件安装包均放在/software目录中,软件均安装在/app目录中。

1.准备三台虚拟机,将IP设置为静态IP,否则IP容易变动。

(1).vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改内容如下:

DEVICE="eth0"    #设备名称
BOOTPROTO="static"    #静态IP
HWADDR="00:0C:29:91:25:2F"    #MAC地址
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"    #网络类型
UUID="e5771686-c20e-4dbd-bb37-5378a6c80095"
DNS1="192.168.1.1"    #DNS
IPV6INIT="no"
USERCTL="NO"
IPADDR="192.168.198.135"    #IP
NETMASK="255.255.255.0"    #子网掩码
GATEWAY="192.168.1.1"    #网关`

大数据环境手工搭建(持续更新中)_第2张图片
修改完以后保存退出
三台依次修改

(3).修改完以后三台都要重启网卡
service network restart

(4).将三台虚拟机的防火墙全部关闭
防火墙的启动/停止/重启/查看
service iptables start
service iptables stop
service restart
service iptables status
chkconfig iptables off 关闭开机启动

2.修改三台虚拟机主机名
(1).vi /etc/sysconfig/network
Hostname后面即为主机名,可改为自己想要的,注意,三台虚拟机主机名要不相同。
大数据环境手工搭建(持续更新中)_第3张图片
三台依次修改

(2).更改/etc下的hosts文件
vi /etc/hosts
新增一行,内容为IP地址和主机名
大数据环境手工搭建(持续更新中)_第4张图片
三台依次修改

(3).重启
三台依次重启
reboot

(4).查看主机名
hostname
在这里插入图片描述
主机名修改成功

(5).添加对应名
修改hosts文件,添加这个集群中所有虚拟机对应的域名,然后将hosts文件复制到这个集群中所有的虚拟机中。
vi /etc/hosts
大数据环境手工搭建(持续更新中)_第5张图片
复制到其余虚拟机中:
scp -r /etc/hosts root@pzg2:/etc/
scp -r /etc/hosts root@pzg3:/etc/

3.三台虚拟机配置ssh免密
ssh-keygen -t rsa
敲三次回车
ssh-copy-id 主机名
每台虚拟机ssh-copy-id 连另外两台和自己

4.安装JDK

(1).解压jdk
将安装包解压到app目录中
tar -vzxf /software/jdk-8u191-linux-x64.tar.gz -C /app

(2).将解压的jdk分发到其余两台虚拟机的app目录中
scp -r /app/jdk1.8.0_191/ root@pzg2:/app/
scp -r /app/jdk1.8.0_191/ root@pzg3:/app/

(3).配置环境变量
vi /etc/profile
在最后添加

export JAVA_HOME=/app/jdk1.8.0_191/
export PATH=$JAVA_HOME/bin::$PATH:

将文件分发至其余两个节点
scp -r /etc/profile root@pzg2:/etc/
scp -r /etc/profile root@pzg3:/etc/

(4).source /etc/profile
使配置文件生效
三台依次运行此命令

(5).验证
java -version
在这里插入图片描述
看到这个则表明配置成功,另外两台也按照此步骤安装JDK。

5.安装Hadoop
每个虚拟机安装那些节点
pzg1:NameNode,DataNode,NodeManager,ResourceManage,jobhistory
pzg2:DataNode,NodeManager,SecondaryNameNode
pzg3:DataNode,NodeManager

(1).解压Hadoop
tar -vzxf /software/hadoop-2.5.2.tar.gz -C /app

(2).配置JDK路径,修改hadoop安装目录下etc/hadoop中的hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中的JDK路径。

(3).修改配置文件
进入解压后的etc/hadoop目录中

配置core-site.xml


fs.defaultFS
hdfs://pzg1:9000


io.file.buffer.size
131072

fs.defaultFS为NameNode的地址
hadoop.tmp.dir为hadoop临时目录的地址,默认情况下,NameNode和DataNode的数据文件都会存在这个目录下的对应子目录下。应该保证此目录是存在的,如果不存在,先创建。

配置hdfs-site.xml



dfs.replication
3


dfs.block.size
268435456


dfs.namenode.name.dir
/app/bigdata/dfs/name


dfs.datanode.data.dir
/app/bigdata/dfs/data


fs.checkpoint.dir
/app/bigdata/dfs/secondaryname


fs.checkpoint.edits.dir
/app/bigdata/dfs/secondaryname


dfs.http.address
pzg1:50070


dfs.secondary.http.address
pzg2:50090


dfs.webhdfs.enabled
true


dfs.permissions
false


dfs.namenode.secondary.http-address是指定secondaryNameNode的http访问地址和端口号,因为在规划中,我们将pzg2规划为SecondaryNameNode服务器。

slaves
新增如下
pzg1
pzg2
pzg3
slaves文件是指定HDFS上有哪些DataNode节点。

配置yarn-site.xml


yarn.resourcemanager.hostname
pzg1


yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.resourcemanager.webapp.address
pzg1:8088
  
mapreduce.jobhistory.address  
 pzg1:10020  
  
  
mapreduce.jobhistory.webapp.address  
pzg1:19888  

配置mapred-site.xml
从mapred-site.xml.template复制一个mapred-site.xml文件。
cp app/hadoop-2.5.2/etc/hadoop/mapred-site.xml.template app/hadoop-2.5.2/etc/hadoop/mapred-site.xml
修改mapred-site.xml


mapreduce.framework.name
yarn
true


mapreduce.jobhistory.webapp.address
master:19888

mapreduce.framework.name设置mapreduce任务运行在yarn上。

mapreduce.jobhistory.webapp.address是设置历史服务器的web页面地址和端口号。

(4).分发Hadoop
scp -r app/hadoop-2.5.2/ root@pzg2:/app/
scp -r app/hadoop-2.5.2/ root@pzg3:/app/

(5).格式化
[root@pzg1 hadoop-2.5.2]# bin/hadoop namenode -format
如果需要重新格式化NameNode,需要先将原来NameNode和DataNode下的文件全部删除,不然会报错,NameNode和DataNode所在目录是在core-site.xml中hadoop.tmp.dir、dfs.namenode.name.dir、dfs.datanode.data.dir属性配置的。

(6).启动
启动hdfs
[root@pzg1 hadoop-2.5.2]# sbin/start-dfs.sh
启动YARN
[root@pzg1 hadoop-2.5.2]# sbin/start-yarn.sh
启动historyserver
mr-jobhistory-daemon.sh start historyserver
根据规划yarn.resourcemanager.hostname这个指定resourcemanager服务器指向pzg1。
查看HDFS Web页面

http://pzg1:50070/
大数据环境手工搭建(持续更新中)_第6张图片
查看YARN Web 页面

http://pzg1:8088/cluster
大数据环境手工搭建(持续更新中)_第7张图片
(7).配置Hadoop环境变量
vi /etc/profile
在文件后面增加

export HADOOP_HOME=//app/hadoop-2.5.2
export	PATH=$JAVA_HOME/bin:$PATH:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

在这里插入图片描述
将文件分发至其余两个节点
scp -r /etc/profile root@pzg2:/etc/
scp -r /etc/profile root@pzg3:/etc/

(8).source /etc/profile
使配置文件生效
三台依次运行此命令

(9).开启Hadoop
start-all.sh

pzg1:
大数据环境手工搭建(持续更新中)_第8张图片

pzg2:
大数据环境手工搭建(持续更新中)_第9张图片

pzg3:
在这里插入图片描述

6.安装Zookeeper
(1).解压zookeeper安装包
tar -vzxf /software/zookeeper-3.4.10.tar.gz -C /app/
(2).修改配置
进入conf目录下,先将zoo_samp.cfg文件改名
mv zoo_sample.cfg zoo.cfg
修改zoo.cfg文件
大数据环境手工搭建(持续更新中)_第10张图片

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/app/zkmyid/
clientPort=2181
server.1=pzg1:2888:3888
server.2=pzg2:2888:3888
server.3=pzg3:2888:3888

(3).创建文件
创建在zoo.cfg文件中dataDir指定的文件夹,在该文件夹下创建一个名为myid的文件
在这里插入图片描述
修改myid,填写每台机器在zoo.cfg中对应的编号,比如pzg1对应server.1,那么myid中应该写1,依次类推,pzg2的myid应该写2,pzg3的myid应该写3。
在这里插入图片描述

(4).分发文件
将zookeeper-3.4.10和zkmyid分发到其余的两个节点,修改zkmyid下的myid文件。

(5).配置环境变量
vi /etc/profile
新增如下

export ZooKeeper_HOME=/app/zookeeper-3.4.10
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH:$FLUME_HOME/bin:$PATH:$ZooKeeper_HOME/bin:$PATH

将profile分发至其余两个节点
scp -r etc/profile root@pzg2:/etc/
scp -r etc/profile root@pzg3:/etc/
在三台节点上使配置文件生效
source etc/profile

(6).zookeeper命令
在三台节点上分别开启zookeeper
zkServer.sh start
pzg1:
在这里插入图片描述
pzg2:
在这里插入图片描述
pzg3:
在这里插入图片描述
以打印日志方式启动zookeeper
zkServer.sh start-foreground
查看三台zookeeper状态
zkServer.sh status
重启zookeeper
zkServer.sh restart
关闭zookeeper
zkServer.sh stop
进入zookeeper shell
zkCli.sh,进入zk shell模式
进入zk shell后输入任意字符,可以列出所有的zookeeper命令。

7.安装flume(单节点)
(1).解压flume安装包
tar -vzxf /software/apache-flume-1.8.0-bin.tar.gz -C /app/

(2).配置环境变量

export FLUME_HOME=/app/apache-flume-1.8.0-bin
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH:$FLUME_HOME/bin:$PATH

使环境变量生效
source /etc/profile

(3).查验
输入flume-ng version
在这里插入图片描述
出现这个信息则安装成功。

8.安装Kafka
(1).解压kafka
tar -vzxf /software/kafka_2.12-2.1.0.tgz -C /app/

(2).修改配置文件
进入kafka安装目录下config文件夹
vi server.properties

broker.id=1
port=9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
############################# Log Basics #############################
log.dirs=/app/kafka_2.12-2.1.0/logdir
num.partitions=2
num.recovery.threads.per.data.dir=1
############################# Internal Topic Settings #############################
log.retention.hours=168
log.roll.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
log.cleaner.enable=true
############################# Zookeeper #############################
zookeeper.connect=pzg1:2181,pzg2:2181,pzg3:2181
zookeeper.connection.timeout.ms=6000
log.flush.interval.messages=10000
log.flush.interval.ms=3000
delete.topic.enable=true
host.name=pzg2

broker.id=1 (kafka节点ID,必须是唯一)

/app/kafka_2.12-2.1.0/logdir (kafka日志存放目录,手动创建)

log.retention.hours=168 (消息保存最长的时间)

log.segment.bytes=1073741824 (每一个segment文件的大小,默认是1G,可以更改)

zookeeper.connect=pzg1:2181,pzg2:2181,pzg3:2181 (kafka 连接zk的信息,必须配置)

delete.topic.enable=true (kafka 的topic是否物理删除,true-物理删除,false-逻辑删除)

host.name=pzg2 (kafka节点的主机名)

(3).分发配置文件,并修改
scp -r app/kafka_2.12-2.1.0/ root@pzg2:/app/
scp -r app/kafka_2.12-2.1.0/ root@pzg3:/app/
修改broker.id=1 和host.name=pzg2

(4).配置环境变量

export KAFKA_HOME=/app/kafka_2.12-2.1.0

export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH:$FLUME_HOME/bin:$PATH:$ZooKeeper_HOME/bin:$PATH:$
KAFKA_HOME/bin:$PATH

分发到另外两个节点
scp -r etc/profile root@pzg2:/etc/
scp -r etc/profile root@pzg3:/etc/
使配置文件生效
source /etc/profile

(5).命令
依次在各节点上启动kafka:
bin/kafka-server-start.sh config/server.properties &

或者后台启动:

nohup bin/kafka-server-start.sh config/server.properties &

依次在各节点上关闭kafka

kafka-server-stop.sh config/server.properties

9.安装MySQL(单节点)
(1).解压(安装在pzg2节点上)
tar -zxvf software/mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
将文件夹命名为mysql,完整路径为:

/usr/local/mysql

(2).添加系统mysql组和mysql用户
执行命令:groupadd mysql和useradd -r -g mysql mysql

(3).修改权限目录
cd /usr/local
sudo chown -R mysql:mysql /usr/local/mysql

(4).初始化MySQL配置表
cd /usr/local/mysql
sudo scripts/mysql_install_db --user=mysql

(5).启动、查看状态、重启、停止
先进入mysql安装目录
cd /usr/local/mysql
启动
sudo support-files/mysql.server start
查看状态
sudo support-files/mysql.server status
重启
sudo support-files/mysql.server restart

(6).进入mysql
sudo bin/mysql -u root -p
第一次进入提示输入密码时直接回车就可以进入

(7).修改root用户密码
use mysql;
UPDATE user SET password=password(“123456”) where user = ‘root’;
//123456是要将密码改为123456
flush privileges;
现在root用户密码即为123456
大数据环境手工搭建(持续更新中)_第11张图片

(8).使用Navicat连接linux中的mysql数据库
use mysql;
grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option;
–root为用户名,123456为密码,%表示所有的电脑都可以链接
flush privileges; --设置立即生效
大数据环境手工搭建(持续更新中)_第12张图片

连接成功
大数据环境手工搭建(持续更新中)_第13张图片

10.安装Hbase
(1).解压Hbase
tar -zxvf software/hbase-2.1.1-bin.tar.gz -C /app/

(2).修改配置文件
进入hbase解压的目录中的conf目录

修改 hbase-env.sh
在文件最后加入

export JAVA_HOME=/app/jdk1.8.0_191   #jdk安装目录
export HBASE_MANAGES_ZK=true    #如果使用独立安装的zookeeper这个地方就是false
export HADOOP_HOME=/app/hadoop-2.5.2	#jhadoop安装目录

修改hbase-site.xml



hbase.rootdir
hdfs://pzg1:9000/hbase#hbase共享目录,持久化hbase数据


hbase.cluster.distributed #是否分布式运行,false即为单机
true


hbase.zookeeper.quorum#zookeeper地址
pzg1,pzg2,pzg3


hbase.zookeeper.property.dataDir#zookeeper配置信息快照的位置
/app/zookeeper-3.4.10/zookeeper


hbase.hstore.to.time.purge.deletes
18000


修改regionservers
从机器的域名
pzg1
pzg2
pzg3
在这里插入图片描述
分发文件
scp -r app/hbase-2.1.1/ root@pzg2:/app/
scp -r app/hbase-2.1.1/ root@pzg3:/app/

(3).配置环境变量
vi /etc/profile

export HBASE_HOME=/app/hbase-2.1.1

export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH:$FLUME_HOME/bin:$PATH:$ZooKeeper_HOME/bin:$PATH:$KAFKA_HOME/bin:$PATH:$HBASE_HOME/bin:$PATH:

scp -r etc/profile root@pzg2:/etc/
scp -r etc/profile root@pzg3:/etc/

source /etc/profile 使配置生效

(4).命令
开启Hbase(开启hbase前需要先开zookeeper,hadoop)
start-hbase.sh
pzg1:
大数据环境手工搭建(持续更新中)_第14张图片

pzg2:
大数据环境手工搭建(持续更新中)_第15张图片

pzg3:
在这里插入图片描述

关闭Hbase
stop-hbase.sh(先关闭hadoop,再关闭zookeeper,后关闭hbase)

进入命令行
hbase shell
在这里插入图片描述
退出命令行
quit

(5).错误解决
请参考下面的网址
https://www.cnblogs.com/xubiao/p/7844466.html

11.安装Hive
(1).解压Hive安装包
tar -zxvf software/apache-hive-1.2.2-bin.tar.gz -C app/

(2).导入mysql驱动包
导入mysql驱动包到hive安装目录下的bin目录中
在这里插入图片描述

(3).修改配置文件
进入hive的conf目录中
vi hive-site.xml
添加以下内容




        
                hive.metastore.local
                true
        
         
                javax.jdo.option.ConnectionURL
                jdbc:mysql://192.168.198.136:3306/myhive?characterEncoding=UTF-8
        
        
                javax.jdo.option.ConnectionDriverName
                com.mysql.jdbc.Driver
        
        
                javax.jdo.option.ConnectionUserName
                root
        
        
                javax.jdo.option.ConnectionPassword
                123456
        

其中:
192.168.198.136 是mysql安装节点的ip
myhive 是要在mysql中创建一个名为myhive的数据库,如果没用的话则hive启动时报错
root 是mysql用户名
123456 是root用户的密码

修改完成,保存退出。

(4).配置环境变量

export HIVE_HOME=/app/apache-hive-1.2.2-bin

export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH:$FLUME_HOME/bin:$PATH:$ZooKeeper_HOME/bin:$PATH:$KAFKA_HOME/bin:$PATH:$HBASE_HOME/bin:$PATH:$HIVE_HOME/bin:$PATH:

保存退出

source /etc/profile
使环境变量生效

(5).启动Hive
先开启Hadoop
在开启MySQL
最后启动Hive
在这里插入图片描述
因为已经配置了环境变量,所以直接输入Hive即可。

12.安装Storm
(1).解压文件
tar -zxvf software/apache-hive-1.2.2-bin.tar.gz -C app/

(2).修改配置文件
进入到storm安装目录下的conf目录
vi storm.yaml

storm.local.dir: "/app/apache-storm-1.2.2/local"
storm.zookeeper.port: 2181
storm.zookeeper.servers:
      - "pzg1"
      - "pzg2"
      - "pzg3"
nimbus.seeds: ["pzg1"]
ui.host: 0.0.0.0
ui.port: 8080
supervisor.slots.ports:
      - 6700
      - 6701
      - 6702
      - 6703

storm.local.dir:storm日志所在的目录,需手动创建
storm.zookeeper.port:zookeeper端口号
storm.zookeeper.servers:指定storm使用的zk集群
nimbus.seeds:指定storm集群中的nimbus节点所在的服务器
supervisor.slots.ports:指定supervisor节点上,启动worker时对应的端口号,每个端口对应槽,每个槽位对应一个worker

将storm分发到其余两个虚拟机中
scp -r app/apache-storm-1.2.2/ root@pzg2:/app/
scp -r app/apache-storm-1.2.2/ root@pzg3:/app/

(3).配置环境变量
vi /etc/profile

export STORM_HOME=/app/apache-storm-1.2.2

export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH:$FLUME_HOME/bin:$PATH:$ZooKeeper_HOME/bin:$PATH:$KAFKA_HOME/bin:$PATH:$HBASE_HOME/bin:$PATH:$HIVE_HOME/bin:$PATH:$STORM_HOME/bin:$PATH:

分发到其余两个虚拟机
scp -r etc/profile root@pzg2:/etc/
scp -r etc/profile root@pzg3:/etc/

在三台虚拟机中使环境变量生效
source /etc/profile

(4).开启storm
开启storm前必须先开启zookeeper
在Desktop(Master)上启动nimbus进程
storm nimbus &
在这里插入图片描述
在Desktop(Master)上启动UI进程

storm ui &
在这里插入图片描述
在所有的Slave上启动supervisor进程

storm supervisor &
在这里插入图片描述
开启后,可以去网页中查看
http://192.168.198.135:8080
大数据环境手工搭建(持续更新中)_第16张图片

你可能感兴趣的:(大数据)