Hadoop集群搭建图文教程 - 弦月春风 (wl621.com)
Hadoop集群搭建图文教程 - 弦月春风 (wl621.com)
SSH免密连接 - 弦月春风 (wl621.com)
163邮箱
EE5GAdv8 e9JqKEi5 bYkhkCVT
https://www.bilibili.com/video/BV1yK4y197Pb/
本地源:http://172.31.201.110/bigdata/
注: 选手 验证题目的时间,会影响得分,在虚拟机做完题目需及时提交 。
1 点击问号的图标会展示当前步骤的详细描述
2 用户在将一个题目步骤后,需在此对应的步骤上点击立即验证,系统会判定当前步骤
关闭防火墙:(三台机器)
systemctl stop firewalld
systemctl disable firewalld
修改主机名:(三台机器)
hostnamectl set-hostname master
bash
主机与ip映射:(三台机器)
vim /etc/hosts
时间同步:
选择时区: tzselect(三台执行)5911
下载ntp(三台机器都执行)
⚫ yum install -y ntp
master作为 ntp服务器,修改 ntp配置文件。( master上执行 ,注意空格问题
⚫ vim /etc/ntp.conf
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10 #stratum设置为其它值也是可以的,其范围为 0~15
修改后注意保存退出。
重启ntp服务 (master上执行 )
⚫ /bin/systemctl restart ntpd.service
其他机器进行 同步 (在 slave1 slave2中执行)
⚫ ntpdate master
ssh免密:
repo:
cd /etc/yum/repos.d
jdk:(三台机器)
先在/usr下makedir java hbase scala spark
然后在/usr/java下 wget http://192.168.1.1/bigdata/bigdata_tar/jdk-8u171-linux-x64.tar.gz
解压: tar -xzvf jdk-8u171-linux-x64.tar.gz
检查:java-version
分发:scp -r /usr/java/ root@slave1:/usr/
scp -r /usr/java/ root@slave2:/usr/
scp /etc/profile root@slave1:/etc/
scp /etc/profile root@slave2:/etc/
然后再在三台节点上source /etc/profile然后再 java -version
然后点立即验证
环境变量
vim /etc/profile
完了要生效一下source /etc/profile
#java
export JAVA_HOME=/usr/java/jdk1.8.0_171
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
#hive
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH= P A T H : PATH: PATH:HIVE_HOME/bin
#zookeeper
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10
export PATH= P A T H : PATH: PATH:ZOOKEEPER_HOME/bin
#scala
export SCALA_HOME=/usr/scala/scala-2.11.12
export PATH= P A T H : PATH: PATH:SCALA_HOME/bin
#spark
export SPARK_HOME=/usr/spark/spark-2.4.0-bin-hadoop2.7
export PATH= P A T H : PATH: PATH:SPARK_HOME/bin
#hbase
export HBASE_HOME=/usr/hbase//hbase-1.2.4
export PATH= P A T H : PATH: PATH:HBASE_HOME/bin
#hadoop
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export CLASSPATH= C L A S S P A T H : CLASSPATH: CLASSPATH:HADOOP_HOME/lib
export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin
Zookeeper集群搭建
-
下载⽂件 wget http://xxxxx
-
解压 tar- -xzvf xxx.tar.gz
-
配置系统环境变量 ZOOKEEPER_HOME
-
配置 zoo.cfg ⽂件(在conf目录下)
先复制一下:cp zoo_sample.cfg zoo.cfg
dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
- 配置 myid ⽂件 注意id的号码
在 /usr/zookeeper/zookeeper-3.4.10/zkdata 下
makedir myid
- 分发⽂件 scp -r /usr/zookeeper/ root@slave1:/usr/
scp -r /usr/zookeeper/ root@slave2:/usr/
然后修改2与3的myid
- 3台主机分别启动zk服务 zkServe.sh start && zkServer.sh status
启动与查看状态:在bin目录下执行服务脚本
Hadoop集群搭建
-
下载⽂件2.7.3
-
解压⽂件
-
配置系统环境变量HADOOP_HOME ,把bin和sbin2个⽬录都添加到系统环境变量PATH,不
要忘记⽣效和分发到另外2台服务器
-
配置⽂件:参考地址https://hadoop.apache.org/docs/r2.7.3/
-
hadoop-env.sh :配置JAVA_HOME 系统环境变量
-
core-site.xml :Hadoop的核⼼配置,uri,临时⽬录等
-
hdfs-site.xml :hdfs分布式⽂件系统的配置,副本因⼦、namenode、
datanode的元数据路径等
-
mapred-site.xml :MapReduce计算框架使⽤的资源调度框架
-
yarn-site.xml :yarn资源调度框架相关的配置,
resourcemanager,nodemanager
-
slaves :DataNode,NodeManager
-
master :NameNode,ResourceManager
-
分发⽂件到另外2台服务器
-
在master上格式化namenode hdfs namenode -format
-
启动Hadoop分布式集群start-all.sh
-
在3台服务器上分别执⾏jps 查看启动的进程
vim hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_171
vim core site.xml
fs.default.name
hdfs://master:9000
hadoop.tmp.dir
/usr/hadoop/hadoop 2.7.3/hdfs/tmp
A base for other temporary directories.
io.file.buffer.size
131072
fs.checkpoint.period
60
fs.checkpoint.size
67108864
cp mapred site.xml.template mapred site.xml
vim mapred site.xml
指定 Mapreduce运行在 yarn上 ---->
mapreduce.framework.name
yarn
vim yarn site.xml
指定 ResourceManager的地址 ---->
yarn.resourcemanager.address
master:18040
yarn.resourcemanager.scheduler.address
master:18030
yarn.resourcemanager.webapp.address
master:18088
yarn.resourcemanager.resource tracker.address
master:18025
yarn.resourcemanager.admin.address
master:18141
指定 reducer获取数据的方式 ---->
yarn.nodemanager.aux services
mapreduce_shuffle
yarn.nodemanager.auxservices.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
vim hdfs site.xml
dfs.replication
2
dfs.namenode.name.dir
file:/usr/hadoop/hadoop 2.7.3/hdfs/name
true
dfs.datanode.data.dir
file:/usr/hadoop/hadoop 2.7.3/hdfs/data
true
dfs.namenode.secondary.http address
master:9001
dfs.webhdfs.enabled
true
dfs.permissions
false
编辑master和slave
scp r /usr/hadoop root@slave1:/usr/
scp r /usr/hadoop root@slave2:/usr/
格式化,在master中进入Hadoop目录:hadoop namenode format
启动:cd /usr/hadoop/hadoop 2.7.3
sbin/start all.sh
Hbase集群搭建
-
下载软件
-
解压
-
配置系统环境变量HBASE_HOME
-
修改配置⽂件参考地址:http://hbase.apache.org/book.html#distributed
-
hbase-env.sh :配置系统环境变量JAVA_HOME ,关闭hbase⾃带的zk集群
-
hbase-site.xml :配置hbase在hdfs上的存储位置,使⽤的zk集群,zk集群元数
据存放位置,开启分布式等
-
regionservers :RegionServer服务器节点
-
将Hadoop集群的core-site.xml,hdfs-site.xml ⽂件软连到Hbase配置⽬录ln -s
$HADOOP_HOME/etc/hadoop/core-site.xml $HBASE_HOME/conf/
-
将⽂件分发到另外2台服务器
-
启动Hbase集群start-hbase.sh
Hive数仓集群
安装MySQL服务
-
确认是否使⽤了本地源及是否有mysql源
-
安装yum install mysql-community- y
-
启动服务systemctl start mysqld
-
查看初始密码cat /var/log/mysqld.log | grep password
-
使⽤初始密码登陆mysql -u root -p
-
修改全局密码安全策略set global validate_password_policy=0;set global
validate_password_length=4;
-
修改root⽤户密码alter user ‘root’@‘localhost’ identified by ‘123456’;
-
创建远程可登陆的root⽤户create user ‘root’@’%’ with grant option;flush
privileges;
- 创建数据库
安装Hive
-
下载软件
-
解压
-
配置系统环境变量HIVE_HOME
-
下载jdbc驱动到$HIVE_HOME/lib
-
将⽂件分发到指定的服务器;
-
修改制定节点上的jlin cp $HIVE_HOME/lib/jlin-2.12.jar
$HADOOP_HOME/share/hadoop/yarn/lib
-
配置⽂件(按照题⽬要求,将哪个节点作为master)
-
hive-site.xml :使⽤jdbc连接MySQL数据库,jdbc启动器、数据库⽤户名、密
码、hive数仓在HDFS上的位置
-
hive-env.sh :配置HADOOP_HOME 系统环境变量
-
到指定的服务器上进⾏配置(hive的slave节点)
-
系统环境变量HIVE_HOME
-
hive-site.xml :配置数仓在HDFS上的位置、thrift地址等(可以多client同时登录
Hive)
-
hive-env.sh :配置HADOOP_HOME 系统环境变量
-
在指定的hive master节点上启动hive的metastore 服务nohup hive --service
metastore > /dev/null 2>&1 &
- 在指定的hive slave节点上启动hive client或直接执⾏创建数据库命令hive -e
‘create database hive_db;show databases;’
Spark集群
安装Scala
-
下载软件
-
解压
-
配置系统环境变量SCALA_HOME 3个节点执⾏scala -version
安装Spark
-
下载软件
-
解压
-
配置系统环境变量SPARK_HOME
-
配置⽂件,参考地址https://spark.apache.org/docs/2.4.0/
-
spark-env.sh :配
置JAVA_HOME,SCALA_HOME,HADOOP_CONF_DIR,SPARK_MASTER_IP,SPARK_WORKER
_MEMORY
-
slaves 中添加⼯作节点的主机名
-
分发⽂件
-
在指定的节点上启动Spark集群$SPARK_HOME/sbin/start-all.sh
-
在节点上分别执⾏jps 查看进程信息
PYTHON爬⾍
- 使⽤requests,bs4,lxml 等模块爬取论坛内所有的帖⼦;注意:将爬取下的数据存⼊
指定的⽂件,字段与字段之间使⽤逗号分隔,注意写⼊⽂件中字段的顺序
-
在hive中创建数据库和数据表,注意:使⽤的数据库和数据表中字段的名称
-
将本地⽂件系统的⽂件导⼊到hive数据表中load data local inpath ‘path’
overwrite into table table_name