systemctl restart firewalld.service
----------------------------------有效----------
service network restart
/etc/sysconfig/network-scripts/ 网络设置
ifcfg-enp0s3
网卡1 仅主机(Host-only)网络
网卡2 网络地址转换(NAT)
网络设置 https://blog.csdn.net/qq_23033339/article/details/80867195?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
网卡:
IP4地址:192.168.181.1
网络掩码:255.255.255.0
DHCP服务器:
服务器地址:192.168.181.2
服务器网络掩码:255.255.255.0
最小地址:192.168.181.3
最大地址:192.168.181.254
flink
192.168.181.101 master
192.168.181.102 salve1
192.168.181.103 salve2
zookeeper
192.168.181.111 zk1
192.168.181.112 zk2
192.168.181.113 zk3
hadoop
192.168.181.121 node1
192.168.181.122 node2
192.168.181.123 node3
域名设置: vi /etc/hosts
sudo service network restart 重启生效
修改hostname, 修改完重启
hostnamectl set-hostname localhost
生成秘钥对:
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@salve1
scp ~/.ssh/authorized_keys root@master:~/.ssh/savle1_rsa
测试登录
ssh root@salve1
ssh root@salve2
wget安装
yum -y install wget
OpenSSL包含的软件包信息
rpm -qa|grep openssh
安装jdk
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
编辑环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
让profile立即生效:
source /etc/profile
添加执行权限:
命令:chmod +x jdk-8u131-linux-x64.rpm
执行rpm进行安装
命令:rpm -ivh jdk-8u131-linux-x64.rpm
查看JDK是否安装成功
命令:java -version
安装flink
https://blog.csdn.net/qq_37518574/article/details/106906403?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.channel_param
yum -y install net-tools
运行yum install net-tools 就OK了
netstat和ifconfig命令在安装了net-tools后都可以使用了
查看端口
netstat -anp |grep 8081
8081web页面不能访问
查看防火状态
systemctl status firewalld
CentOS7使用firewalld打开关闭防火墙与端口
1、firewalld的基本使用
启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl stop firewalld
禁用: systemctl disable firewalld
zk
tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz -C /opt/module/
/opt/module/apache-zookeeper-3.5.8/conf
dataDir=/opt/module/apache-zookeeper-3.5.8/Data
dataLogDir=/opt/module/apache-zookeeper-3.5.8/logs
server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk3:2888:3888
scp -r apache-zookeeper-3.5.8/ admin@node22:/opt/module/
echo 2 > myid
./bin/zkServer.sh start
./bin/zkServer.sh status
./bin/zkServer.sh stop
java.net.NoRouteToHostException: 没有到主机的路由 (Host unreachable)
----关防火墙
hadoop
安装ssh:
sudo apt-get install ssh
赋权限给脚本
chmod +x 脚本名称
wget http://apache.mirrors.tds.net//hadoop/common/hadoop-0.20.203.0/hadoop-0.20.203.0rc1.tar.gz
/usr/local/hadoop-2.10.1
/etc/profile
export HADOOP_HOME=/usr/local/hadoop-2.10.1
export PATH=$PATH:$HADOOP_HOME/bin
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/name1, /home/hadoop/name2</value> #hadoop的name目录路径
<description> </description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/data1, /home/hadoop/data2</value>
<description> </description>
</property>
<property>
<name>dfs.replication</name>
<!-- 我们的集群又两个结点,所以rep两份 -->
<value>2</vaue>
</property>
Flink ON YARN集群搭建
Flink on YARN的HA利用了YARN的任务恢复机制
这里也需要利用到Zookeeper恢复机制,主要是因为Flink ON YARN的虽然依赖YARN的任务恢复机制,但是Flink任务在恢复时,需要依赖检查点产生的快照。
而这些快照虽然配置在HDFS上,但是其元数据信息保存在Zookeeper中,所有我们还需要配置Zookeeper的信息
172.16.1.240 6楼打印机
服务器地址:192.168.56.100
最小地址:192.168.56.101
最大地址:192.168.56.254
网络掩码:255.255.255.0
192.168.56.101 m1
192.168.56.102 m2
192.168.56.103 s1
192.168.56.104 s2
192.168.56.105 s3
-r 不加-r相当于下载文件夹,而非文件
scp -r /opt root@s2:/opt
tar -xzvf hadoop-2.8.0.tar.gz
/usr/java/jdk1.8.0_131
/opt/hadoop/hadoop-2.8.0
/opt/hadoop/hadoop-2.8.0/etc/hadoop
新建hadoop用户
建议安装虚拟机时使用hadoop用户名,如果不是,新增一个hadoop用户:
sudo useradd -m hadoop -s /bin/bash
为hadoop用户设置密码,建议所有密码都设置为hadoop:
sudo passwd hadoop
为hadoop用户增加管理员权限:
sudo adduser hadoop sudo
安装Vim进行文本编辑:
sudo apt-get install vim
/opt/zookeeper
echo 2 > myid
/opt/zookeeper/bin
vi /etc/profile
export ZOOKEEPER_HOME=/opt/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
让/etc/profile文件修改后立即生效 ,可以使用如下命令: # source /etc/profile
错误: 找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain
目前的最新版本3.5.5开始,带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使用
bin/zkServer.sh start
bin/zkServer.sh status
bin/zkServer.sh stop
java.net.NoRouteToHostException: 没有到主机的路由 (Host unreachable)
解决:关防火墙,关防火墙
Initialization failed for Block pool <registering> (Datanode Uuid 4e9a850e-7816-4d1b-a5ca-fcd897e73d41) service to m1/192.168.56.101:9000. Exiting
执行hdfs namenode -format后,current目录会删除并重新生成,其中VERSION文件中的clusterID也会随之变化,而datanode的VERSION文件中的clusterID保持不变,造成两个clusterID不一致。
所以为了避免这种情况,可以再执行的namenode格式化之后,删除datanode的current文件夹,或者修改datanode的VERSION文件中出clusterID与namenode的VERSION文件中的clusterID一样,然后重新启动dfs
scp -r hadoop/ root@s2:/opt/hadoop/hadoop-2.8.0/etc/
首次启动命令
1、首先启动各个节点的Zookeeper,在各个节点上执行以下命令:
bin/zkServer.sh start
2、在某一个namenode节点执行如下命令,创建命名空间
hdfs zkfc -formatZK
3、在每个journalnode节点用如下命令启动journalnode
sbin/hadoop-daemon.sh start journalnode
4、在主namenode节点格式化namenode和journalnode目录
hdfs namenode -format ns
5、在主namenode节点启动namenode进程
sbin/hadoop-daemon.sh start namenode
6、在备namenode节点执行第一行命令,这个是把备namenode节点的目录格式化并把元数据从主namenode节点copy过来,并且这个命令不会把journalnode目录再格式化了!然后用第二个命令启动备namenode进程!
hdfs namenode -bootstrapStandby
sbin/hadoop-daemon.sh start namenode
7、在两个namenode节点都执行以下命令
sbin/hadoop-daemon.sh start zkfc
8、在所有datanode节点都执行以下命令启动datanode
sbin/hadoop-daemon.sh start datanode
日常启停命令
#启动脚本,启动所有节点服务
sbin/start-dfs.sh
#停止脚本,停止所有节点服务
sbin/stop-dfs.sh
http://m1:50070/
http://m2:50070/
configured parent znode /hadoop-ha/ns already exists
cd /root/hadoop/dfs/data
bin/hdfs haadmin -transitionToActive nn1
bin/hdfs haadmin -help
Usage: DFSHAAdmin [-ns <nameserviceId>]
[-transitionToActive <serviceId> [--forceactive]]
[-transitionToStandby <serviceId>]
[-failover [--forcefence] [--forceactive] <serviceId> <serviceId>]
[-getServiceState <serviceId>]
[-checkHealth <serviceId>]
[-help <command>]
自带的命令里,都提供了,若两者都是standby状态怎么执行。若两者都是active状态怎么执行
hdfs haadmin -transitionToActive <serviceId> 将<serviceId>namenode过渡到active状态
当前状态: nn1:standby nn2:active
执行hdfs haadmin -transitionToActive -forcemanual nn1 将nn1过渡为Active状态
执行hdfs haadmin -transitionToActive -forcemanual nn2 将nn2过渡为Active状态
当active节点正常时,使用hdfs haadmin -transitionToActive命令对两个namenode节点切换都不起作用.
----------------------------------------
执行hdfs haadmin -transitionToStandby -forcemanual nn2 将nn2过渡到standby状态:
当active节点正常时,执行hdfs haadmin -transitionToStandby命令可以将active的namenode节点转换成standby状态。
high-availability.storageDir
hdfs://ns
bin/start-cluster.sh
bin/stop-cluster.sh
netstat -tlnp
bin/start-zookeeper-quorum.sh
./bin/jobmanager.sh start
./bin/jobmanager.sh stop
http://s1:8081/#/overview
http://s2:8081/#/overview
--------------------------kafka----------------------------
https://kafka.apachecn.org/quickstart.html
创建一个名为“test”的topic,它有一个分区和一个副本:
> bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
现在我们可以运行list(列表)命令来查看这个topic:
# Start the Kafka broker service
$ bin/kafka-server-start.sh config/server.properties
> bin/kafka-topics.sh --list --zookeeper localhost:2181
test
运行 producer,然后在控制台输入一些消息以发送到服务器。
> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
This is a message
This is another message
Step 5: 启动一个 consumer
Kafka 还有一个命令行consumer(消费者),将消息转储到标准输出。
1
2
3
> bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
This is a message
This is another message
安装前的清理工作
rpm -qa | grep jdk
rpm -qa | grep gcj
yum -y remove java-xxx-xxx
添加执行权限:
命令:chmod +x jdk-8u131-linux-x64.rpm
执行rpm进行安装
命令:rpm -ivh jdk-8u131-linux-x64.rpm
jdk1.8.0_271-amd64
jdk1.8.0_131
/usr/local/jdk1.8.0_271
source /etc/profile
为了使用Hadoop功能(例如YARN,HDFS),必须为Flink提供所需的Hadoop类,因为默认情况下未捆绑这些类。
推荐的方法是通过HADOOP_CLASSPATH环境变量将Hadoop类路径添加到Flink 。
export HADOOP_CLASSPATH=`hadoop classpath`