1.Hadoop完全分布式搭建
把所有需要的安装包通过xftp上传到虚拟机的指定目录存放
tar -zxvf jdk… -C /usr
vi /etc/profile
配置环境变量
export JAVA_HOME=/usr/project/jdk1.8.0_171
export CLASSPATH=.:
J
A
V
A
H
O
M
E
/
l
i
b
JAVA_HOME/lib
JAVAHOME/libJAVA_HOME/jre/lib:
C
L
A
S
S
P
A
T
H
P
A
T
H
=
CLASSPATH PATH=
CLASSPATHPATH=JAVA_HOME/bin:
J
A
V
A
H
O
M
E
/
j
r
e
/
b
i
n
:
JAVA_HOME/jre/bin:
JAVAHOME/jre/bin:PATH
验证jdk:java -version
ssh免密
生成密钥:ssh-keygen -t rsa
发送:ssh-copy-id -i .ssh/id_rsa.pub 主机名
验证:ssh 主机名
修改hosts文件配置IP与主机名映射关系
安装hadoop
解压安装:tar -zxvf hadoop -C /usr/
配置环境变量
export HADOOP_HOME=/usr/project/hadoop-2.7.3
export PATH=
H
A
D
O
O
P
H
O
M
E
/
b
i
n
:
HADOOP_HOME/bin:
HADOOPHOME/bin:HADOOP_HOME/sbin:$PATH
创建hadoop相关目录 mkdir
编辑core.site.xml文件
fs.defaultFS
hdfs://master:9000
io.file.buffer.size
131072
hadoop.tmp.dir
file:/var/hadoop/tmp
hdfs-site.xml文件
dfs.namenode.name.dir file:/var/hadoop/namenode dfs.namenode.data.dir file:/var/hadoop/disk1 dfs.namenode.data.dir file:/var/hadoop/disk2 dfs.replication 3yarn-site.xml文件
yarn.resourcemanager.address
master:8032
yarn.resourcemanager.scheduler.address
master:8030
yarn.resouremanager.resourcetracker.address
master:8031
yarn.resourcemanager.admin.address
master:8033
yarn.resourcemanager.webapp.address
master:8088
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
mapred-site.xml文件
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
master:10020
mapreduce.jobhistory.webapp.address
master:19888
修改slaves文件:编写三台主机名
master
slave1
slave2
修改hadoop-env.sh环境变量使其JDK文件生效
export JAVA_HOME=/usr/project/jdk1.8.0_171
将配置好的jdk、hadoop发送到slave服务器
scp -r /路径/ slave1:/路径
并配置环境变量
master首次启动需要格式化:hadoop namenode -format
注意:关于重复格式化后的解决问题
路径:/var/hadoop/tmp/dfs/data/current
最后启动所有服务:start-all.sh
登陆web的HDFS管理界面验证安装结果
http://master:50070
登陆web的RM管理界面验证安装结果
http://master:8088
Hbase组件部署(slave)
解压安装配置环境变量,环境变量看root用户需求
tar -zxvf
vi ~/.bashrc
export PATH=$PATH:/usr/project/hadoop/sbin:/usr/project/hadoop/bin:/usr/project/hbase/bin
修改配置文件hbase-env.sh
export JAVA-HOME=/usr/project/jdk1.8.0_171
export HABSE_CLASSPATH=/usr/project/hadoop/conf
export HBASE_MANAGES_ZK=true
修改配置文件hbase-site.xml
hbase.rootdir
hdfs://master:9000/hbase
hbase.cluster.distributed
true
验证是否安装成功
jps查看进程
用hbase shell 访问
bin/hbase shell
查看hbase版本信息
hbase version
启动hbase:start-hbase.sh
web访问:http://master:16010
zookeeper搭建
解压安装:tar -zxvf
配置环境变量
export ZOOKEEPER_HOME=/usr/project/zookeeper-3.4.5
PATH=
P
A
T
H
:
PATH:
PATH:ZOOKEEPER_HOME/bin
创建zkdata文件夹和zkdatalog文件夹
修改配置文件zoo.cfg
修改加入刚创建的文件夹路径
dataDir=/usr/project/zookeeper-3.4.5/zkdata
dataLogDir=/usr/project/zookeeper-3.4.5/zkdatalog
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
在zkdata目录下
vim myid
写入对应的端口ID123
发送到其他服务器
启动服务:bin/zkServer.sh start
查看状态:bin/zkServer.sh status
查看zookeeper版本:echo stat | nc localhost 2181
kafka单机版部署
解压安装:tar -zxvf 重命名:mv
配置环境变量
export KAFKA_HOME=/usr/project/kafka
PATH=
P
A
T
H
:
PATH:
PATH:KAFKA_HOME/bin
修改配置文件config目录下的
server.properties
设置如下参数
broker.id=2 对应myid值
log.dirs=/usr/project/kafka/logs #暂存数据目录
zookeeper.connect=slave1:2181 #改成对应的主机名
启动测试:
bin/kafka-server-start.sh -daemon config/server.properties
命令操作
测试创建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic name
通过list查看创建的topic
./kafka-topics.sh –list –zookeeper localhost:2181
生产消息测试
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
消费消息测试
./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
flume安装搭建
解压安装:tar -zxvf
修改配置文件flume-env.sh
加入配置jdk的环境变量:
export JAVA_HOME=/usr/project/jdk1.8.0_171
配置环境变量:
export FLUME_HOME=/usr/project/flume
export PATH=
P
A
T
H
:
PATH:
PATH:FLUME_HOME/bin
查看版本:flume-ng version
修改flume-env.sh
export JAVA_HOME=/usr/project/jdk1.8.0_171
flume安装完成
mysql安装搭建
1、配置源下载mysql
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
2、repo的安装
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
执行完成后会在/etc/yum.repos.d/目录下生成两个文件
mysql-community.repo
mysql-community-source.repo
3、使用yum命令安装y
注意:必须进入到/etc/yum.repo.d/目录后再执行
安装:yum install mysql-server
4、启动mysql
systemctl start mysqld
5、获取安装时的临时密码(第一次登陆的时候需要)在/etc/yum.repos.d/目录下执行
grep ‘temporary password’ /var/log/mysqld.log
注意:如果没有临时密码,则删除原来安装的mysql残留的数据
rm -rf /var/lib/mysql
再重新启动mysql:systemctl start mysqld
6、登陆mysql:mysql -uroot -p 密码
注意:如果登陆失败,修改配置文件跳过登陆
vim /etc/my.cnf
在mysqld后面任意一行添加“ skip-grant-tables ”跳过密码验证
重启mysql
7、登陆成功后修改密码
注意:这里会进行密码强度校验,默认为4
密码设置:
设置密码强度为低级:set global validate_password_policy=0;
设置密码长度:set global validate_password_length=4;
修改本地密码:alter user ‘root’@‘localhost’ identified by ‘123456’;
远程登录:
以新密码登陆MySQL:mysql -uroot -p123456
创建用户:create user ‘root’@’%’ identified by ‘123456’;
允许远程连接:grant all privileges on . to ‘root’@’%’ with grant option;
刷新权限:flush privileges;
关于mysql密码策略相关参数
1)、validate_password_length 固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6/validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
关于设置mysql字符集
mysql查询字符集:show variables like ‘char%’
修改文件my.cnf
在[mysqld]上面加入:
[client]
default-character-set=utf8
在[mysqld]下面加入:
character-set-server=utf8
hive组件部署
tar -zxvf
如果名字过长则重命名:mv /usr/project/hive
配置环境变量
export HIVE_HOME=/usr/project/hive
export PATH=
P
A
T
H
:
PATH:
PATH:HIVE_HOME/bin
解决版本冲突和jar包依赖问题
将hive的lib包中的jline jar包拷贝到hadoop的lib中
将mysql的驱动包拷贝到hive的lib目录下
删除/usr/project/hadoop-2.6.0/share/hadoop/yarn/lib/jline-0.9.94.jar这个文件
修改配置文件hive-env.sh,没有此文件就拷贝
修改HADOOP_HOME环境变量
HADOOP_HOME=/usr/project/hadoop-2.7.3
export HIVE_CONF_DIR=/usr/project/hive/conf
修改hive-site.xml文件
sqoop组件部署
解压安装:tar -zxvf
重命名:mv
环境变量:
export SQOOP_HOME=/
export PATH=
P
A
T
H
:
PATH:
PATH:SQOOP_HOME/bin
修改配置文件:sqoop-env.sh
根据自己安装的组件加入环境变量的路径
export HADOOP_COMMON_HOME=/usr/project/hadoop-2.7.3
export HADOOP_MAPRED_HOME=/usr/project/hadoop-2.7.3
将mysql的驱动包上传到sqoop的lib目录下
sqoop的相关命令
sqoop help
使用sqoop查询mysql中的数据库
sqoop list-databases
–connect jdbc:mysql://localhost:3306
–username root
–password 123456
scala安装
解压安装:tar -zxvf
重命名:mv
配置环境变量
export SCALA_HOME=/usr/project/scala
export PATH=
S
C
A
L
A
H
O
M
E
/
b
i
n
:
SCALA_HOME/bin:
SCALAHOME/bin:PATH
检查版本:scala -version
spark安装
解压安装:tar -zxvf
配置环境变量:
export SPARK_HOME=/usr/project/spark
export PATH=
S
P
A
R
K
H
O
M
E
/
b
i
n
:
SPARK_HOME/bin:
SPARKHOME/bin:PATH
修改配置文件spark-env.sh
export JAVA_HOME=/usr/project/jdk1.8.0_171
export HADOOP_HOME=/usr/project/hadoop-2.7.3
export SPARK_MASTER_HOST=172.16.11.20
export SPARK_MASTER_PORT=7077
启动spark:sbin/start-all.sh
测试:spark-shell
进入web界面:master:8080