前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows上使用Ubuntu部署大数据环境

Windows上使用Ubuntu部署大数据环境

作者头像
码客说
发布2022-11-14 14:57:44
9050
发布2022-11-14 14:57:44
举报
文章被收录于专栏:码客

前言

本文所有的大数据软件都放在了下面的文件夹中

D:\Tools\BigData

使用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为服务

代码语言:javascript
复制
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:\Windows\System32\drivers\etc

添加

代码语言: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

如图

image-20220406184259930
image-20220406184259930

访问

我的服务器的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

代码语言:javascript
复制
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后进行如下配置

image-20221031165440233
image-20221031165440233

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;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • JDK
  • 环境设置
    • host
      • 免密登陆
      • Hadoop
        • 下载
          • 配置环境变量
            • 修改配置文件
              • 启动/停止
                • 访问
                  • 报错解决
                  • Flink
                    • 下载
                      • 配置环境变量
                        • 修改配置
                          • 访问 Flink UI
                          • Docker
                          • 数据同步
                            • Mysql
                              • 允许远程登录
                              • 设置密码永不过期
                          相关产品与服务
                          容器镜像服务
                          容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档