前置环境准备 所需文件:Mysoft 获取到文件之后 请放入master中的根目录下 文件下载好在win下后键入:scp [Mysoft路径] root@[master的ip]:/ [按需求替换内容即可] 注意:mysort文件是放进" / "目录下去
需要关闭防火墙按顺序输入命令即可 firewall-cmd --state 查看防火墙状态 systemctl stop firewalld.service 停止firewall systemctl disable firewalld.service 禁止firewall开机启动 需要准备好三台虚拟机,都安装好Centos7系统,并用SSH工具连接好三台虚拟机。 推荐使用:Xshell
修改主机名(三台,分别是master,slave1,slave2)
需要准备好三台虚拟机,都安装好Centos7系统,并用SSH工具连接好三台虚拟机。master: hostnamectl set-hostname master slave1: hostnamectl set-hostname slave1 slave2: hostnamectl set-hostname slave2
在master的/etc/hosts中配置主机名和IP解析
使用 vi /etc/hosts
[键盘Shift+G处于最底部、键盘O回车一行] 在末尾添加主机名IP与解析
例如:127.0.0.1 master
配置免密 按需求键入命令即可 ssh-keygen -t rsa [键入此命令之后一直回车即可] ssh-copy-id -i root@master ssh-copy-id -i root@slave1 ssh-copy-id -i root@slave2
安装JDk
进进入/Mysoft解压JDK
键入tar -xzvf jdk-8u212-linux-x64.tar.gz -C /usr/local/src
[命令解析] tar -xzvf [JDK路径] -C [解压路径]
添加系统变量
使用vi /root/.bash_profile
[键盘Shift+G处于最底部、键盘O回车一行] 末尾处添加#JAVA export JAVA_HOME=/usr/local/src/jdk1.8.0_212 export PATH=$PATH:$JAVA_HOME/bin
刷新环境变量
使用source /root/.bash_profile
或者. /root/.bash_profile 即可刷新两台slave机器的变量使其生效
检查安装
用java -version校验一下是否成功,能输出JAVA版本号就是安装成功了。
将jdk、环境变量、hosts文件拷贝到两台slave中
拷贝slave1
scp -r /usr/local/src/jdk1.8.0_212/ slave1:/usr/local/src/ scp /root/.bash_profile slave1:/root/.bash_profile scp /etc/hosts slave1:/etc/hosts
拷贝slave2
scp -r /usr/local/src/jdk1.8.0_212/ slave2:/usr/local/src/ scp /root/.bash_profile slave2:/root/.bash_profile scp /etc/hosts slave2:/etc/hosts
完成后到slave1、slave2检查下jdk的安装
使用source /root/.bash_profile
或者. /root/.bash_profile 即可刷新两台slave机器的变量使其生效
才能使用java -version校验一下是否成功
能输出JAVA版本号就是安装成功了。
安装Hadoop
进入/Mysoft解压Hadooptar -zxvf hadoop-3.1.3.tar.gz -C /usr/local/src/
添加系统变量
使用vi /root/.bash_profile
[键盘Shift+G处于最底部、键盘O回车一行] 末尾处添加#Hadoop export HADOOP_HOME=/usr/local/src/hadoop-3.1.3 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
刷新环境变量
使用source /root/.bash_profile
或者. /root/.bash_profile 即可刷新系统变量使其生效
检查安装
用hadoop version校验安装是否成功,出现版本号就是成功了
编辑hadoop配置文件
把hadoop和环境变量传输到两个slave scp -r /usr/local/src/hadoop-3.1.3/ slave1:/usr/local/src scp -r /usr/local/src/hadoop-3.1.3/ slave2:/usr/local/src scp /root/.bash_profile slave1:/root/.bash_profile scp /root/.bash_profile slave2:/root/.bash_profile
将两台slave机器的变量刷新
使用source /root/.bash_profile
或者. /root/.bash_profile 即可刷新系统变量使其生效
格式化hdfs(master)
键入hdfs namenode -format
注意成功标识:Storage directory /opt/data/hadoop/dfs/name has been successfully formatted.
运行hadoop(master)
键入start-all.sh
输入完成后,直接键入jps,出现6个东西就对了
注意:每台机子都要去看一下是否成功
安装MySQL
进入/Mysoft解压mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar
键入tar -xvf mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar
这次不需要制定路径 直接解压到Mysoft里即可
使用yum安装MySQL
直接输入即可:yum -y install mysql-community-{server,client,common,libs}-*
启动mysql服务
设置开机自启动:systemctl enable mysqld.service
启动mysql:systemctl start mysqld.service
查看是否启动(绿色的标志就是启动成功):systemctl status mysqld.service
获取mysql初始密码 这里有两个办法(建议用第二个)
第一个办法:直接去看log文件 [cat /var/log/mysql.log | grep password]cat /var/log/mysql.log | grep password
第二个办法:直接查找 [grep “password is generated” /var/log/mysqld.log | awk ‘{print $NF}’]grep "password is generated" /var/log/mysqld.log | awk '{print $NF}'
初始化密码
键入mysql_secure_installation即可
之后输入获得到初始密码 然后输入新的密码 例如:123456 输入两次 然后 再输入两次
最后的y/n 依照顺序 y y n y y
密码必须要设置复杂性大写字母和数字以及符号
进入mysql设置权限
输入密码进入mysql:mysql -uroot -pMysql123...
直接在mysql shell键入 grant all privileges on *.* to '用户名'@'%' identified by '登录密码' with grant option
做完这些然后输入一个 “;”之后出现一个ok就得了
然后在输入:flush privileges 还是输入”;”之后出现一个ok就得了
最后输入:exit退出就好了
安装hive 进入Mysoft解压hive tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /usr/local/src cd /usr/local/src mv apache-hive-3.1.2-bin hive
添加系统变量
使用vi /root/.bash_profile
[键盘Shift+G处于最底部、键盘O回车一行] 末尾处添加#hive export HIVE_HOME=/usr/local/src/hive export PATH=$PATH:$HIVE_HOME/bin
刷新系统变量
使用source /root/.bash_profile
或者. /root/.bash_profile 即可刷新系统变量使其生效
在hive的conf目录下 新建hive-site.xml 下载hive-site-xml路径3:https://dl.shenyi.ink/?f=/big_data/hive/hive-site.xml
hive-site.xml 下载此文件 并修改里面的内容
将java连接mysql的驱动包拷贝到hive下的lib目录下 直接把复制即可
键入cp /mysort/mysql-connector-java-5.1.37.jar /usr/local/src/hive/lib/
将java连接mysql的驱动包拷贝到hive下的lib目录下
先位于hive根目录:cd ..
再键入
rm lib/guava-19.0.jar 后面出现一串东西直接输入 y 即可
直接键入即可cp /usr/local/src/hadoop-3.1.3/share/hadoop/common/lib/guava-27.0-jre.jar /usr/local/src/hive/lib/
修改hive配置文件
把hive和环境变量传输到两个slave
slave1scp -r /usr/local/src/hive/ slave1:/usr/local/src/
slave2scp -r /usr/local/src/hive/ slave2:/usr/local/src/
初始化mysql的数据架构 最后成功的效果
键入:schematool -dbType mysql -initSchema 即可 提示Initialization script completed就可以了schematool -dbType mysql -initSchema
校验hive安装(确保hadoop已经启动)
键入 hive
看到hive>后,输入show databases;
看到输出即为安装hive成功
安装zookeeper
进入/Mysoft解压zookeeper 并 重命名tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /usr/local/src cd /usr/local/src mv apache-zookeeper-3.5.7-bin zookeeper
添加系统变量
使用vi /root/.bash_profile
[键盘Shift+G处于最底部、键盘O回车一行] 末尾处添加#zookeeper export ZOOKEEPER_HOME=/usr/local/src/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin
刷新环境变量
使用source /root/.bash_profile
或者. /root/.bash_profile 即可刷新系统变量使其生效
进入zookeeper的conf下改配置
将zoo_sample.cfg改名zoo.conf,然后编辑zoo.cfgcp zoo_sample.cfg zoo.cfg
将下面这些直接复制进去即可dataDir=/usr/local/src/zookeeper/data dataLogDir=/usr/local/src/zookeeper/logs server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888
创建对应的数据目录 初始化id 这是都是直接键入即可
cd ..
echo 1 > /usr/local/src/zookeeper/data/myid
将配置好的ZOOKEEPER和环境变量 scp到slave1和slave2 scp -r /usr/local/src/zookeeper/ slave1:/usr/local/src scp -r /usr/local/src/zookeeper/ slave2:/usr/local/src scp /root/.bash_profile slave1:/root/ scp /root/.bash_profile slave2:/root/
修改对应机器的myid文件 改为2和3
去到slave1运行:(slave1)echo 2 > /usr/local/src/zookeeper/data/myid
去到slave2运行:(slave2)echo 3 > /usr/local/src/zookeeper/data/myid
三台机器分别运行 zkServer.sh start
每台机子都要先刷新环境变量
使用source /root/.bash_profile
或者. /root/.bash_profile 即可刷新系统变量使其生效
最后在用:
检查
运行完毕后 分别运行
查看状态 应该是1个leader和2个follower就对了
这一步如果出错了不压迫管他直接跳过
安装hbase
进入/Mysoft解压hbase 并 重命名tar -zxvf hbase-2.2.3-bin.tar.gz -C /usr/local/src/ cd /usr/local/src mv hbase-2.2.3 hbase
添加系统变量
使用vi /root/.bash_profile
[键盘Shift+G处于最底部、键盘O回车一行] 末尾处添加#hbase export HBASE_HOME=/usr/local/src/hbase export PATH=$PATH:$HBASE_HOME/bin
刷新环境变量
使用source /root/.bash_profile
或者. /root/.bash_profile 即可刷新系统变量使其生效
进入hbase/conf目录 分别修改hbase-env.sh和hbase-site.xml
修改regionservers 配置集群
vi regionservers
进去直接将第一个删掉把下面的slave1和slave2加上去即可
将配置好的HBase和环境变量 scp到slave1和slave2 scp -r /usr/local/src/hbase/ slave1:/usr/local/src scp -r /usr/local/src/hbase/ slave2:/usr/local/src scp /root/.bash_profile slave1:/root/ scp /root/.bash_profile slave2:/root/
启动服务
检查 如果没有出错 运行jps查看是否有HMaster或者HRegionServer,有的话就是启动成功了 运行hbase shell即可进入命令行,看到hbase(main):001:0即为成功。 接着输入list_namespace出现default和hbase两个namespace,这一步就彻底成功了。
安装flink
进入/Mysoft解压hbase 并 重命名tar -zxvf flink-1.14.0-bin-scala_2.12.tgz -C /usr/local/src cd /usr/local/src mv flink-1.14.0/ flink
添加系统变量
使用vi /root/.bash_profile
[键盘Shift+G处于最底部、键盘O回车一行] 末尾处添加#flink export FLINK_HOME=/usr/local/src/flink export PATH=$PATH:$FLINK_HOME/bin
刷新环境变量
使用source /root/.bash_profile
或者. /root/.bash_profile 即可刷新系统变量使其生效
进入flink/conf目录下 编辑flink-conf.yaml和workers
vi进去修改flink-conf.yamljobmanager.rpc.address: master (特别注意冒号后的空格,绝对不能省略!) classloader.check-leaked-classloader: false 这个如果找不到直接在最后加即可
vi进去修改workers (填入所有的节点主机名)
将配置好的flink和环境变量 scp到slave1和slave2
先cd ..回去再复制scp -r /usr/local/src/flink/ slave1:/usr/local/src scp -r /usr/local/src/flink/ slave2:/usr/local/src scp /root/.bash_profile slave1:/root/ scp /root/.bash_profile slave2:/root/
运行
运行start-cluster.sh 输出三个机器的starting即可
检查 完成后,运行jps,看到master上诱StandaloneSessionClusterEntrypoint和TaskManagerRunner 就是运行成功了。也可以用浏览器访问master节点的8081端口,能看到web管理界面也是 成功了。
跑任务 接着需要跑内置测试案例(比赛需要截图) 内置的案例在flink目录下的examples目录里,需要关注batch(批处理)和streaming(流处 理)目录
跑batch案例的方式:
跑batch案例的方式:
stop-cluster.sh
stop-cluster.sh
flink run -m yarn-cluster /usr/local/src/flink/examplebatch/WordCount.jar
link集群模式(flink集群需启动,hadoop无需启动) “建议用这一个”
start-cluster.sh
直接复制用这个无需启动hadoop:flink run /usr/local/src/flink/examples/batch/WordCount.jar
WordCount的运行结果是输出一堆(单词,数量)就对了
跑streaming案例的方式:开一个新的ssh,运行
nc -l -p 18888 (如果nc没找到,yum install nc)
在原来的ssh中运行
flink run /usr/local/src/flink/examples/streaming/SocketWindowWordCount.jar --hostname master --port 18888
到nc的ssh中,输入几个单词即可,例如jack tom jack jack smith love love help word 然后可以在网页控制台中,task manager,逐个点开节点,看stdout,哪个有内容就截图哪个 截完图后记得取消任务(Running Job->Cancel)
要是出错了也不管它
安装spark
安装sparktar -zxvf spark-3.1.1-bin-hadoop3.2.tgz -C /usr/local/src cd /usr/local/src mv spark-3.1.1-bin-hadoop3.2/ spark
添加系统变量
使用vi /root/.bash_profile
[键盘Shift+G处于最底部、键盘O回车一行] 末尾处添加#spark export SPARK_HOME=/usr/local/src/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
进入spark的conf目录下 编辑spark-env.sh和workers
spark-env.shcp spark-env.sh.template spark-env.sh
将下面的配置直接添加到最后即可export JAVA_HOME=/usr/local/src/jdk1.8.0_212 export SPARK_MASTER_HOST=master export SPARK_MASTER_PORT=7077 export SPARK_CONF_DIR=/usr/local/src/spark/conf export HADOOP_CONF_DIR=/usr/local/src/hadoop-3.1.3/etc/hadoop/
workerscp workers.template workers
进去之后把最后面的localhost删掉加上下面的配置
cp将hive的conf下面的hive-site.xml拷到spark的conf下面 cp /usr/local/src/hive/conf/hive-site.xml /usr/local/src/spark/conf/
拷贝 将mysql-connector-java-5.1.37.jar 拷贝到sparl下面的jars下
cp /mysort/mysql-connector-java-5.1.37.jar /usr/local/src/spark/jars/
将配置好的spark和环境变量 scp到slave1和slave2
先cd ..回去scp -r /usr/local/src/spark/ slave1:/usr/local/src scp -r /usr/local/src/spark/ slave2:/usr/local/src scp /root/.bash_profile slave1:/root/ scp /root/.bash_profile slave2:/root/
运行
进入spark/sbin目录,运行./start-all.sh
(一定要进来了再运行,要不启动的是hadoop)
进去之后直接运行: ./start-all.sh
检查 完毕后jps看看,master中有Master和Worker就对了。浏览器访问master的8080也可以看到 状态
跑任务 接着需要跑内置测试案例 (比赛需要截图)
spark on yarn(spark集群无需启动,但 需启动hadoop)spark-submit --master yarn --class org.apache.spark.examples.SparkPi /usr/local/src/spark/examples/jars/spark-examples_2.12-3.1.1.jar 100
spark集群模式(spark集群需启动,hadoop无需启动)
建议先用这个因为不用启动hadoopspark-submit --master spark://master:7077 --class org.apache.spark.examples.SparkPi /usr/local/src/spark/examples/jars/spark-examples_2.12-3.1.1.jar 100
运行的输出结果类似于Pi is roughly 3.142xxxxxxxxx就对了,比赛截图需要前后多几行。 补充说明:运行spark/bin目录下的spark-shell可以进入spark的命令行。
安装flume
进入/Mysoft解压flume 并 重命名tar -xzvf apache-flume-1.9.0-bin.tar.gz -C /usr/local/src/ cd /usr/local/src mv apache-flume-1.9.0-bin flume
添加系统变量
使用vi /root/.bash_profile
[键盘Shift+G处于最底部、键盘O回车一行] 末尾处添加#flume export FLUME_HOME=/usr/local/src/flume export PATH=$PATH:$FLUME_HOME/bin
接下来配置采集器内容 配置文件都放在flume/conf目录里 新建port.conf和file.conf
启动flume测试
测试网络监听(直接复制即可)
flume-ng agent -c conf -f /usr/local/src/flume/conf/port.conf --name a1 -Dflume.root.logger=INFO,console
然后去另外两台机子输入:yum install -y nc
之后输入:nc master 18888
最后退出直接Ctrl+C即可从任意一台机器,用nc连接到master的18888端口:nc master 18888 然后随便输入一些东西回车,看master的flume上是否有收到数据
测试文件变化
flume-ng agent -c conf -f /usr/local/src/flume/conf/file.conf --name a2 -Dflume.root.logger=INFO,console
再开一个ssh链接到master,运行echo “test” >> /tmp/test.txt 看看flume上是否有检测到变化echo "test" >> /tmp/test.txt
slave1输入的
master看到的
安装kafka
进入/Mysoft解压kafka 并 重命名tar -xzvf kafka_2.12-2.4.1.tgz -C /usr/local/src/ cd /usr/local/src/ mv kafka_2.12-2.4.1/ kafka
添加系统变量
使用vi /root/.bash_profile
[键盘Shift+G处于最底部、键盘O回车一行] 末尾处添加#kafka export KAFKA_HOME=/usr/local/src/kafka export PATH=$PATH:$KAFKA_HOME/bin
刷新环境变量
使用source /root/.bash_profile
或者. /root/.bash_profile 即可刷新系统变量使其生效
进入kafka下config目录中 编辑server.properties (master slave1 slave2 都要编辑)
server.properties (有的直接改,没有的新增)
broker.id=1 (master是1,slave1是2,slave2是3) hostname=172.16.x.x(分别是各个机器的IP) zookeeper.connect=master:2181,slave1:2181,slave2:2181 listeners=PLAINTEXT://0.0.0.0:9092 advertised.listeners=PLAINTEXT://172.16.100.1:9092(分别是各个机器的IP) advertised.host.name=master(分别是各个机器的机器名)
如果有一些没有的话直接就复制即可
第三个和第四个不用修改,记得要对应每一台机子的ip以及其他配置
将配置好的kafka和环境变量 scp到slave1和slave2 scp -r /usr/local/src/kafka/ slave1:/usr/local/src scp -r /usr/local/src/kafka/ slave2:/usr/local/src scp /root/.bash_profile slave1:/root/ scp /root/.bash_profile slave2:/root/
分别对应修改两台slave上的server.properties。
cd /usr/local/src/kafka/config/
启动
接下来可以启动kafka(确保ZOOKEEPER正常运行了,三台机器都要运行):kafka-server-start.sh -daemon /usr/local/src/kafka/config/server.properties
启动后,运行jps,查看是否有kafka和QuorumPeerMain(这个是ZOOKEEPER的进程)
安装Clickhouse
进入/Mysoft解压Clickhouse 并 重命名tar -zxvf clickhouse-common-static-21.9.6.24.tgz -C /tmp tar -zxvf clickhouse-client-21.9.6.24.tgz -C /tmp tar -zxvf clickhouse-server-21.9.6.24.tgz -C /tmp
依次安装common、client、serversh /tmp/clickhouse-common-static-21.9.6.24/install/doinst.sh sh /tmp/clickhouse-client-21.9.6.24/install/doinst.sh sh /tmp/clickhouse-server-21.9.6.24/install/doinst.sh
前两个运行没有任何提示就是成功了第三个sh的,运行后会询问default user的密码,按比赛要求输入密码。接着会询问是否允许远 程连接,输入y。 密码设置看个人 安装完成后,为了后续配置方便,给相关文件夹777权限。 chmod -R 777 /var/lib/clickhouse/ /var/log/clickhouse-server/ /etc/clickhouse-server/ /etc/clickhouse-client/
需要修改配置 特别是要改端口(要不会和hadoop的9000端口冲突)
vi /etc/clickhouse-server/config.xml
config.xml (直接改对应行,去掉注释,修改内容)<listen_host>::</listen_host> <timezone>Asia/Shanghai</timezone> <tcp_port>9002</tcp_port>
可以直接在vi里用/查找
启动
systemctl enable clickhouse-server
systemctl start clickhouse-server
没有任何东西出现就OK了
检查
启动后,使用clickhouse-client -h 172.16.100.1 --port 9002 -u default --password 你设置的密码
连接到数据库,出现master:就是成功了 可以输入show databases;查看数据库
特殊情况 如果你不记得密码了 clickhouse 用户信息 在配置文件/etc/clickhouse-server/users.xml里 可以通过修改这个配置文件 修改密码 clickhouse默认密码加密传输,所以我们要设置密文,使用加密算法sha256 密码生成可以使用命令
echo -n 密码 | sha256sum | tr -d ‘-‘
如 echo -n a123b456 | sha256sum | tr -d ‘-‘
则会输 5b28b1d5ee792ea157182cfd12caec6c31cb1a689f21b4a9b71bc7dc5c057223
使用vi命令修改文件 vi /etc/clickhouse-server/users.xml使用/找到密码位置,注释掉,添加我们的新密码 <password_sha256_hex>5b28b1d5ee792ea157182cfd12caec6c31cb1a689f21b4a9b71bc7dc5c057223</password_sha256_hex> 如果你记得密码 这一步可以忘掉
安装redis
比赛不涉及redis安装
环境准备tar -xzvf redis-6.2.6.tar.gz -C /usr/local/src/ cd /usr/local/src/ mv redis-6.2.6/ redis
接着安装编译环境 yum install -y gcc automake autoconf libtool make
编译
这两条可直接复制即可cd redis/src make PREFIX=/usr/redis install 完成后redis就编译好了 位于cd /usr/redis/bin
启动
使用默认配置文件即可:/usr/redis/bin/redis-server /usr/local/src/redis/redis.conf >> /dev/null &
检查
启动后,使用连接测试即可
./redis-cli
出现127.0.0.1:6379>即为成功
如何在master直接启动
先回到master,然后进行:
vi /root/.bash_profile 配置一下#redis export REDIS_HOME=/usr/redis/ export PATH=$PATH:$REDIS_HOME/bin
保存出来刷新一下:
然后直接就可以启动了:
出现127.0.0.1:6379>即为成功
这个是在这个目录下master启动