目录
一、 修改主机名(三台) 3
- 首次切换到root用户:su 3
- 分别修改三台主机名为master,slave1,slave2 3
- 永久修改主机名 3
二、 配置host文件(三台) 3 - 查看各节点ip地址 3
- 将节点ip写进hosts文件:vi /etc/hosts 3
三、 关闭防火墙 3 - 关闭防火墙 3
- 查看防火墙状态 3
- 禁止启动,永久关闭防火墙 3
四、 时间同步 4 - 选择时区 4
- 选择TZ环境变量 4
- 下载ntp (三台机器) 4
- 设置master为时钟源(在master上进行操作) 4
(1) 第17行删掉注释 4
(2) 并将下方的0-3server注释掉 5 - 重启ntp服务 5
- 设置开机自启 5
- slave上手动同步时间 5
- 在其他机器上编写定时同步任务(在slave上执行) 6
- 关于crontab文件的一些例子 6
五、 配置ssh免密登陆 6
六、 安装JDK 8 - 在根目录下创建工作路径(三台) 8
- 解压至规定路径 /usr/java 8
- 修改环境变量 8
- 生效环静变量 8
- 查看JAVA版本 8
- 将JDK远程复制到slave1和slave2中(master上操作) 8
- 操作slave1和slave2的环境变量(步骤同master,并注意生效) 8
七、 安装zookeeper 8 - 修改主机名称到IP地址映射配置(三台) 8
- 创建zookeeper工作路径(三台) 9
- 配置文件conf/zoo.cfg 9
- zoo.cfg文件配置 9
- 在zookeeper的目录中,创建zkdata和zkdatalog两个文件夹 9
- 进入zkdata文件夹 cd zkdata,创建myid文件 vi myid 9
- 远程分发安装配置好的文件 10
- 设置myid 10
- 配置环境变量并启动ZooKeeper(三台) 10
- 启动ZooKeeper集群 10
八、 安装Hadoop 10 - 修改hosts文件(三台) 10
- 创建工作目录(master上操作) 11
- 将hadoop解压至工作目录 11
- 配置环境变量(三台) 11
- 生效 11
- 配置hadoop-env.sh 11
- 编辑core-site.xml 11
- 编辑yarn-site.xml 12
- 编写slaves文件和master文件 13
- 编辑hdfs-site.xml文件 13
- 编辑mapred-site.xml 14
- 分发hadoop 14
- 格式化Hadoop 15
- 开启集群 15
- 访问主节点master:50070 15
- hadoop脚本命令练习 16
- 使用浏览器对集群进行查看 16
九、 构建数据仓库 16 - 环境准备 16
(1) 修改hosts文件 16
(2) 开启zookeeper(三台) 16
(3) 开启hadoop(master) 16 - slave2上安装mysql server 17
(1)下载wget 17
(2)下载yum repo配置文件 17
(3)安装repo 17
(4)安装mysql 17 - 启动mySQL服务 17
- 获取初始密码,用于登录MySQL数据库 17
- MySQL密码安全策略设置 18
- 设置远程登录 18
- 创建数据库 18
- master,slave1上部署hive 18
(1) 创建工作路径 18
(2) 解压hive安装包 19
(3) 将安装包远程复制到slave1 19
(4) 修改/etc/profile文件设置hive环境变量 19 - 配置hive-env.sh文件 19
- 驱动拷贝 20
- 配置slave1上的hive-site.xml文件 20
- 在作为客户端的master上配置 21
(1) 解决版本冲突和jar包依赖问题 21
(2) 配置master上的hive-site.xml文件 21 - 启动hive 22
(1) slave1作为服务器端,开启hive server 22
(2) master作为客户端,启动hive 22
一、 最小化安装
-
yum -y install net-tools
-
yum -y install vim-enhanced
-
安装工具
yum install -y ntp net-tools nano
yum install -y wget
yum -y install mysql-community-server -
配置本地源
发信号给yum进程:pkill -9 yum
进入yum源配置文件:cd /etc/yum.repos.d
删除所有文件:rm -rf *
下载yum源:wget http://10.10.88.2:8000/bigdata/repofile/bigdata.repo
清除YUM缓存:yum clean all
二、 修改主机名(三台) -
首次切换到root用户:su
(以master节点为例)
-
分别修改三台主机名为master,slave1,slave2
hostnamectl set-hostname master
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2
bash 立即生效
-
永久修改主机名
编辑vim /etc/sysconfig/network文件,添加如下内容(以master节点为例):
NETWORKING=yes
HOSTNAME=master
保存退出
三、 配置host文件(三台)
-
查看各节点ip地址
各节点通过命令ifconfig查看
-
将节点ip写进hosts文件:vim /etc/hosts
scp /etc/hosts root@slave1:/etc/hosts
scp /etc/hosts root@slave2:/etc/hosts
四、 关闭防火墙
-
关闭防火墙
systemctl stop firewalld -
查看防火墙状态
systemctl status firewalld
-
禁止启动,永久关闭防火墙
systemctl disable firewalld.service
五、 时间同步 -
选择时区
tzselect
-
选择TZ环境变量
export TZ=Asia/Shanghai
-
下载ntp (三台机器)
yum install -y ntp
-
设置master为时钟源(在master上进行操作)
(1) 第17行删掉注释
命令:vim /etc/ntp.conf
找到对应位置,添加:restrict 192.168.206.128 nomodify notrap noquery
(这一步不用做好像也行)
(2) 并将下方的0-3server注释掉
并添加:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
保存退出
5. 重启ntp服务
启动服务:service ntpd start
(systemctl restart ntpd.service)
查看ntp状态时,可能会出现如下所示情况
① unsynchronised time server re-starting polling server every 8 s
② unsynchronised polling server every 8 s
这种情况属于正常,ntp服务器配置完毕后,需要等待5-10分钟才能与/etc/ntp.conf中配置的标准时间进行同步。
等一段时间之后,再次使用ntpstat命令查看状态,就会变成如下正常结果:
-
设置开机自启
chkconfig ntpd on
-
slave上手动同步时间
ntpdate master
-
在其他机器上编写定时同步任务(在slave上执行)
写一个定时任务 crontab -e
*/10 * * * * /usr/sbin/ntpdate master
(朝八晚五每隔半小时同步一次,不知道对不)
9. 关于crontab文件的一些例子
六、 配置ssh免密登陆
-
每个节点分别产生公私密钥(三台)
ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsa
-
将公钥复制成authorized_keys文件(仅在master上操作)
进入.ssh 文件夹 cd ~/.ssh
注意在.ssh/路径下操作 cat id_dsa.pub >> authorized_keys
在主机上连接自己,也叫master内循环
ssh master
- 让master通过ssh免密登陆两个子节点slave1和slave2
(在slave1中和slave2中操作)
进入.ssh 文件夹 cd ~/.ssh
复制master的公钥文件到当前的目录下,且重命名为master_dsa.pub:(子节点)
scp master:~/.ssh/id_dsa.pub ./master_dsa.pub
将master结点的公钥文件追加至authorized_keys文件
cat master_dsa.pub >> authorized_keys
在master上直接登录slave1: ssh slave1
同理slave2上也这么操作
4. 将子节点的公钥拷贝到主节点并添加进authorized_keys(子节点上执行)
scp ~/.ssh/id_dsa.pub root@master:~/.ssh/id_dsa_slave1.pub
scp ~/.ssh/id_dsa.pub root@master:~/.ssh/id_dsa_slave2.pub
然后在主节点上,将拷贝过来的两个公钥合并到authorized_keys文件中去(在master上执行)
cat id_dsa_slave1.pub >> authorized_keys
cat id_dsa_slave2.pub >> authorized_keys
5. 主节点上将authorized_keys文件拷贝到子节点的相应位置(master上执行)
scp ~/.ssh/authorized_keys root@slave1:~/.ssh/
scp ~/.ssh/authorized_keys root@slave2:~/.ssh/
这样便实现了各节点之间双向免密登陆
6. 或:
ssh-copy-id master (执行后输入yes,然后输入root密码,以下同理)
ssh-copy-id slave1
ssh-copy-id slave2
七、 安装JDK
-
在根目录下创建工作路径(三台)
mkdir -p /usr/java
mkdir -p /usr/zookeeper
mkdir -p /usr/hadoop
mkdir -p /usr/hive
mkdir -p /usr/hbase
mkdir -p /usr/scala
mkdir -p /usr/spark
cd /usr
chmod 777 java
chmod 777 zookeeper
chmod 777 hadoop
chmod 777 hive
chmod 777 hbase
chmod 777 scala
chmod 777 spark -
下载
wget http://47.92.249.178/bigdata/bigdata_tar/jdk-8u171-linux-x64.tar. gz -
解压至规定路径 /usr/java
cd /usr/java
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java/
-
修改环境变量
vim /etc/profile
并添加以下内容:‘
#set java
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
#set zookeeper
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10
PATH=$PATH:$ZOOKEEPER_HOME/bin
#set hadoop
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export CLASSPATH=$CLASSPATH