环境搭建
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了环境搭建相关的知识,希望对你有一定的参考价值。
参考技术A 1、先临时性设置虚拟机ip地址:ifconfig eth0 192.168.31.248,在/etc/hosts文件中配置本地ip(192.168.31.248)到host(spark1)的映射2、配置windows主机上的hosts文件:C:\Windows\System32\drivers\etc\hosts,192.168.31.248 spark1
3、使用Xmanager从windows上连接虚拟机
4、永久性配置CentOS网络
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.31.248
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
备注:另外两台的ip和domain别为
192.168.31.249(spark2)
192.168.31.250(spark3)
5、重启网卡
service network restart
6、即使更换了ip地址,重启网卡,可能还是联不通网。那么可以先将IPADDR、NETMASK、GATEWAY给删除,将BOOTPROTO改成dhcp。然后用service network restart重启网卡。此时linux会自动给分配一个ip地址,用ifconfig查看分配的ip地址。然后再次按照之前说的,配置网卡,将ip改成自动分配的ip地址。最后再重启一次网卡。
1、关闭防火墙
service iptables stop
chkconfig iptables off
vi /etc/selinux/config
SELINUX=disabled
自己在win7的控制面板中,关闭windows的防火墙!
2、配置dns服务器
vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
验证网络是否正常
ping www.baidu.com
1、修改repo
使用WinSCP(网上很多,自己下一个),将CentOS6-Base-163.repo上传到CentOS中的/usr/local目录下
cd /etc/yum.repos.d/
rm -rf *
mv 自己的repo文件移动到/etc/yum.repos.d/目录中:cp /usr/local/CentOS6-Base-163.repo .
修改repo文件,把所有gpgcheck属性修改为0
2、配置yum
yum clean all
yum makecache
yum install telnet
1、将jdk-7u60-linux-i586.rpm通过WinSCP上传到虚拟机中
2、安装JDK:rpm -ivh jdk-7u65-linux-i586.rpm
3、配置jdk相关的环境变量
vi .bashrc
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
source .bashrc
4、测试jdk安装是否成功:java -version
5、rm -f /etc/udev/rules.d/70-persistent-net.rules
说明:
1、安装上述步骤,再安装两台一模一样环境的虚拟机,因为后面hadoop和spark都是要搭建集群的。
2、集群的最小环境就是三台。因为后面要搭建ZooKeeper、kafka等集群。
3、另外两台机器的hostname分别设置为spark2和spark3即可,ip分别为192.168.31.249和192.168.31.250
4、在安装的时候,另外两台虚拟机的centos镜像文件必须重新拷贝一份,放在新的目录里,使用各自自己的镜像文件。
5、虚拟机的硬盘文件也必须重新选择一个新的目录,以更好的区分。
6、安装好之后,记得要在三台机器的/etc/hosts文件中,配置全三台机器的ip地址到hostname的映射,而不能只配置本机,这个很重要!
7、在windows的hosts文件中也要配置全三台机器的ip地址到hostname的映射。
1、首先在三台机器上配置对本机的ssh免密码登录
生成本机的公钥,过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下
ssh-keygen -t rsa
将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了
cd /root/.ssh
cp id_rsa.pub authorized_keys
2、接着配置三台机器互相之间的ssh免密码登录
使用ssh-copy-id -i spark命令将本机的公钥拷贝到指定机器的authorized_keys文件中(方便好用)
--------------------------------------------------------------------------------------------------------------
A为本地主机(即用于控制其他主机的机器) ;
B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;
A和B的系统都是Linux
在A上运行命令:
# ssh-keygen -t rsa (连续三次回车,即在本地生成了私钥(id_rsa) 与公钥 (id_rsa.pub),不设置密码)
# ssh root@10.9.192.44 "mkdir .ssh" (需要输入密码)
# scp ~/.ssh/id_rsa.pub root@192.168.60.110:.ssh/id_rsa.pub (需要输入密码)
在B上的命令:
# touch /root/.ssh/authorized_keys (如果已经存在这个文件, 跳过这条)
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys (将id_rsa.pub的内容追加到authorized_keys 中)
回到A机器:
# ssh root@192.168.60.110 (不需要密码, 登录成功)
A为本地主机(即用于控制其他主机的机器) ;
B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;
A和B的系统都是Linux
在A上运行命令:
# ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码)
# ssh test@192.168.60.110 "mkdir .ssh" (需要输入密码)
# scp ~/.ssh/id_rsa.pub test@192.168.60.110:.ssh/id_rsa.pub (需要输入密码)
在B上的命令:
# touch /home/test/.ssh/authorized_keys (如果已经存在这个文件, 跳过这条)
# cat /home/test/.ssh/id_rsa.pub >> /home/test/.ssh/authorized_keys (将id_rsa.pub的内容追加到authorized_keys 中)
修改test/.ssh和authorized_keys的权限
#chmod 700 test
#chmod 700 .ssh
#chmod 600 authorized_keys
回到A机器:
# ssh test@192.168.60.110 (不需要密码, 登录成功)
------------------------------------------------------------------------------------------------------------
flink开发环境搭建maven环境搭建IDEA环境搭建
目录:
maven环境搭建
maven 下载:https://maven.apache.org/download.cgi ,你也可以使用wget + url 下载。
命令:wget http://mirrors.advancedhosters.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
我下载的是3.6.3的版本,目前要求JDK 1.7或更高版本才能执行。
解压缩:命令:tar zvxf apache-maven-3.6.3-bin.tar.gz
安装:
这里我先生成了maven-install文件夹,apache-maven-3.6.3文件夹放在此文件夹中,现在修改maven镜像。进入maven的conf文件夹(在bin同级目录下),使用 vim settings.xml 编辑文本,输入反斜杠‘/’,搜索mirrors,按enter定位。设置如下代码:
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
参考文献:Linux安装maven
配置环境变量:
我先建立了apache-maven-3.6.3的软连接,命令:ln -s apache-maven-3.6.3 maven
配置环境变量:sudo vim /etc/profile
添加如下代码:
#maven
export MAVEN_HOME=/home/elfin/maven-install/maven
export PATH=$PATH:$MAVEN_HOME/bin
刷新配置:source /etc/profile
验证maven安装是否成功:mvn -v
可以看见已经安装成功了,返回了maven的版本以及Java的版本。
Back To Top Go To End
IDEA环境搭建
下载安装包,地址:https://download-cf.jetbrains.com/idea/ideaIC-2020.1.tar.gz
解压缩:tar zvxf idealC-2020.1.tar.gz
创建桌面快捷方式:
命令1:touch idea.desktop 生成桌面文件
命令2:vim idea.desktop 添加代码:
[Desktop Entry]
Name=IntelliJ IDEA
Comment=IntelliJ IDEA
Exec=/home/elfin/idea-install/idea-IC-201.6668.121/bin/idea.sh
Icon=/home/elfin/idea-install/idea-IC-201.6668.121/bin/idea.png
Terminal=false
Type=Application
Categories=Developer;
其中Exec指向你的启动文件,Icon指向图片。
命令3:chmod u+x idea.desktop 赋予权限
图标不正常显示:双击桌面快捷方式,选择信任,图标就正常显示了。
Back To Top Go To End
flink开发环境搭建
创建flink项目
方式一:curl https://flink.apache.org/q/quickstart.sh | bash -s 1.9.2
你可以打开脚本文件:https://flink.apache.org/q/quickstart.sh 代码如下:
#!/usr/bin/env bash
################################################################################
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
################################################################################
PACKAGE=quickstart
mvn archetype:generate \\
-DarchetypeGroupId=org.apache.flink \\
-DarchetypeArtifactId=flink-quickstart-java \\
-DarchetypeVersion=$1:-1.10.0 \\
-DgroupId=org.myorg.quickstart \\
-DartifactId=$PACKAGE \\
-Dversion=0.1 \\
-Dpackage=org.myorg.quickstart \\
-DinteractiveMode=false
#
# Give some guidance
#
echo -e "\\\\n\\\\n"
echo -e "\\\\tA sample quickstart Flink Job has been created."
echo -e "\\\\tSwitch into the directory using"
echo -e "\\\\t\\\\t cd $PACKAGE"
echo -e "\\\\tImport the project there using your favorite IDE (Import it as a maven project)"
echo -e "\\\\tBuild a jar inside the directory using"
echo -e "\\\\t\\\\t mvn clean package"
echo -e "\\\\tYou will find the runnable jar in $PACKAGE/target"
echo -e "\\\\tConsult our website if you have any troubles: http://flink.apache.org/community.html#mailing-lists"
echo -e "\\\\n\\\\n"
命令使用详情:第一次使用会下载很多包,下载时间较长,需要稍加等待。
这里面已经默认为你配置好了,但是有时我们想要自己配置,那么我们可以使用方式二。
方式二:注意 \\ 是终端换行符号,以下代码不能直接复制,因为格式的缘故,可能会出问题。
$ mvn archetype:generate \\
-DarchetypeGroupId=org.apache.flink \\
-DarchetypeArtifactId=flink-quickstart-java \\
-DarchetypeVersion=1.9.2
当然可以直接一行写出所有的命令行参数:
mvn archetype:generate -DarchetypeGroupId=org.apache.flink -DarchetypeArtifactId=flink-quickstart-java -DarchetypeVersion=1.9.2 -DarchetypeCatalog=internal
最后一个参数如果不加,你的创建过程可能会非常非常漫长,当然你可以下载相关文件到本地,然后令此参数为local。
创建成功。我们尝试用命令:mvn archetype:generate -DarchetypeGroupId=org.apache.flink -DarchetypeArtifactId=flink-quickstart-java -DarchetypeVersion=1.9.2 -DarchetypeCatalog=local 创建,同样也成功了。
IDEA-flink开发环境
IDEA导入已经创建的环境:打开IDEA之后open对应的项目,在terminal里输入:mvn clean package 打包项目(编译项目),clean是清除之前的打包。
核心依赖
打包时,核心依赖不会进行打包,因为核心依赖要尽可能小,避免冲突,一般运行环境都有这些包。核心依赖包含coordination、networking、checkpoints、failover、APIs、operations、resource management等必须的依赖。
应用依赖
核心依赖、应用依赖等都在porm.xml文件里可以进行配置。
groupId标签:一般我们设置为域名的顺序倒置,如org.flink
artifactId标签:可以理解为项目名
version标签:项目版本号,默认为:1.0-SNAPSHOT
packaging标签:我这里是jar包,因为使用Java开发
repositories标签:配置数仓信息,你可以配置公司的信息
dependencies标签:依赖,包含标签<scope>provided</scope>的是核心依赖,所以不是核心依赖就不要写这个子标签,不然打包时这个依赖不会配置。应用依赖使用的子标签是:<scope>runtime</scope>,注意与核心依赖的区分。
build标签:是打包编译时要配置的插件
Back To Top Go To End
清澈的爱,只为中国
以上是关于环境搭建的主要内容,如果未能解决你的问题,请参考以下文章