前言
本文所有的大数据软件都放在了下面的文件夹中
D:ToolsBigData
使用Windows中的Ubuntu进行启动
对应Ubuntu中的路径为
/mnt/d/Tools/BigData
Ubuntu的本地IP为
192.168.3.80
Taier
文档:https://dtstack.github.io/Taier/docs/guides/introduction/
视频:https://www.bilibili.com/video/BV13L4y1L71w/
源码:https://github.com/DTStack/Taier
JDK
官方下载JDK 网址
或者 链接:https://pan.baidu.com/s/1JdPCMMEq178hXV5V4Ild3Q 密码:03l1
比如下载的文件为jdk-8u221-linux-x64.rpm
更改文件权限
代码语言:javascript复制chmod 755 jdk-8u221-linux-x64.rpm
安装
代码语言:javascript复制tar -zxvf jdk-8u341-linux-x64.tar.gz -C /usr/local
安装后的路径为/usr/local/jdk1.8.0_341
为空的话要配置java-home
否则无法配置Tomcat
为服务
cd /etc/profile.d/
创建配置文件
代码语言:javascript复制vi /etc/profile.d/jdk.sh
加入:
代码语言:javascript复制export JAVA_HOME=/usr/local/jdk1.8.0_341
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
配置立即生效
代码语言:javascript复制source /etc/profile
查询java版本
代码语言:javascript复制java -version
查看java-home
代码语言:javascript复制echo $JAVA_HOME
环境设置
host
hostname
代码语言:javascript复制vi /etc/hostname
设置为
代码语言:javascript复制master
修改hosts文件
代码语言:javascript复制vi /etc/hosts
配置为
代码语言:javascript复制192.168.3.80 master
测试
代码语言:javascript复制ping master
Windows下
修改hosts文件
C:WindowsSystem32driversetc
添加
代码语言:javascript复制192.168.3.80 master
免密登陆
生成密钥对
代码语言:javascript复制mkdir ~/.ssh
cd ~/.ssh
#生成秘钥,之后一路回车即可,不需要输入任何内容。我之前已经生成过,所以提示是否overwrite。如果是第一次生成,不会有这个提示。
ssh-keygen -t rsa
#将公钥复制到制定文件
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
#测试ssh连接,首次连接需要输入yes,但不需要输入密码,之后不需要输入yes,如果能不输入密码连接,就配置成功了
ssh master
Hadoop
下载
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/
解压
代码语言:javascript复制tar -zxvf hadoop-2.7.7.tar.gz
mkdir -p /mnt/d/Tools/BigData/
mv hadoop-2.7.7 /mnt/d/Tools/BigData/
cd /mnt/d/Tools/BigData/hadoop-2.7.7
配置环境变量
代码语言:javascript复制cd /etc/profile.d/
创建配置文件
代码语言:javascript复制vi /etc/profile.d/hadoop.sh
内容设置为
代码语言:javascript复制#HADOOP_HOME
export FLINK_HOME=/mnt/d/Tools/BigData/flink-1.12.7
export PATH=$PATH:$FLINK_HOME/bin
export PATH=$PATH:$FLINK_HOME/sbin
配置生效
代码语言:javascript复制source /etc/profile
查看是否生效
代码语言:javascript复制echo $HADOOP_HOME
修改配置文件
注意
本文是伪分布式部署
进入配置文件目录
代码语言:javascript复制cd $HADOOP_HOME/etc/hadoop
hadoop-env.sh
将原本的JAVA_HOME 替换为绝对路径就可以了
代码语言:javascript复制export JAVA_HOME=/usr/local/jdk1.8.0_341
注意
虽然系统已经设置
JAVA_HOME
,但是运行时依旧无法找到,所以配置的绝对路径
core-site.xml
代码语言:javascript复制<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/mnt/d/Tools/BigData/hadoop-2.7.7/tmp</value>
<description></description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
hdfs-site.xml
代码语言:javascript复制<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/mnt/d/Tools/BigData/zdata/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/mnt/d/Tools/BigData/zdata/dfs/data</value>
</property>
</configuration>
mapred-site.xml
代码语言:javascript复制<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml
代码语言:javascript复制<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
剔除警告(可选):
log4j.properties
添加
代码语言:javascript复制log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR
启动/停止
代码语言:javascript复制sudo chmod -R 755 $HADOOP_HOME
rm -rf $HADOOP_HOME/tmp
hdfs namenode -format
这个操作主要是创建fsimage和edits文件。
只要看到信息中有一句关键:
INFO common.Storage: Storage directory /mnt/d/Tools/BigData/zdata/dfs/name has been successfully formatted.
则格式化成功.
运行
代码语言:javascript复制bash $HADOOP_HOME/sbin/start-all.sh
输入
代码语言:javascript复制jps
如图
访问
我的服务器的IP为 192.168.3.80
HDFS监控页面查询:
http://192.168.3.80:50070/
查看文件可以访问这个地址
http://192.168.3.80:50070/explorer.html#/
Yarn监控页面查询:
http://192.168.3.80:8088/cluster
停止
代码语言:javascript复制bash $HADOOP_HOME/sbin/stop-all.sh
报错解决
ssh: connect to host localhost port 22: Connection refused
解决方法: 确定安装ssh:
包含了SSH服务 sudo apt-get install openssh-server
和客户端 sudo apt-get install openssh-client
sudo apt-get install ssh
启动sshd:
代码语言:javascript复制sudo service ssh start
检验方法:
代码语言:javascript复制ssh localhost
又报错
Permission denied (publickey).
允许ssh密码登录权限
登录目标机器,打开
代码语言:javascript复制vi /etc/ssh/sshd_config
修改PasswordAuthentication no
为:PasswordAuthentication yes
。
允许root登录
代码语言:javascript复制PermitRootLogin yes
然后重启服务。
代码语言:javascript复制service ssh restart
Flink
下载
下载地址
https://archive.apache.org/dist/flink/
这里下载1.12.7版本
https://archive.apache.org/dist/flink/flink-1.12.7/
https://archive.apache.org/dist/flink/flink-1.12.7/flink-1.12.7-bin-scala_2.12.tgz
解压
代码语言:javascript复制tar zxvf flink-1.12.7-bin-scala_2.12.gz
配置环境变量
代码语言:javascript复制cd /etc/profile.d/
创建配置文件
代码语言:javascript复制vi /etc/profile.d/flink.sh
内容设置为
代码语言:javascript复制#FLINK_HOME
export FLINK_HOME=/mnt/d/Tools/BigData/flink-1.12.7
export PATH=$PATH:$FLINK_HOME/bin
配置生效
代码语言:javascript复制source /etc/profile
查看是否生效
代码语言:javascript复制echo $FLINK_HOME
修改配置
修改flink/conf/masters,slaves,flink-conf.yaml
代码语言:javascript复制[admin@node21 conf]$ sudo vi masters
node21:8081
[admin@node21 conf]$ sudo vi slaves
node22
node23
[admin@node21 conf]$ sudo vi flink-conf.yaml
taskmanager.numberOfTaskSlots:2
jobmanager.rpc.address: node21
访问 Flink UI
运行
代码语言:javascript复制bash $FLINK_HOME/bin/start-cluster.sh
Flink有个UI界面,可以用于监控Flilnk的job运行状态 http://localhost:8081/
停止
代码语言:javascript复制bash $FLINK_HOME/bin/stop-cluster.sh
Docker
Windows下的Ubuntu中不能安装Docker
需要Windows中安装Docker Desktop后进行如下配置
Ubuntu中配置
代码语言:javascript复制echo "export DOCKER_HOST='tcp://0.0.0.0:2375'" >> ~/.bashrc
source ~/.bashrc
这样就可以正常访问Docker了
代码语言:javascript复制docker ps
下面Ubuntu中安装Docker的方法在Windows下的Ubuntu中并不生效
安装
代码语言:javascript复制curl -sSL https://get.daocloud.io/docker | sh
启动
代码语言:javascript复制service docker start
但是发现并不能启动
数据同步
Mysql
代码语言:javascript复制jdbc:mysql://master:3306/ztest?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&rewriteBatchedStatements=true&allowMultiQueries=true
允许远程登录
代码语言:javascript复制GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'psvmc123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit
设置密码永不过期
代码语言:javascript复制ALTER USER 'root'@'%' PASSWORD EXPIRE NEVER;
flush privileges;