Docker 通过 Linux 的命名空间实现了网络的隔离,又通过 iptables 进行数据包转发,让 Docker 容器能够优雅地为宿主机器或者其他容器提供服务。
Hadoop:
50070:HDFS WEB UI端口
8020 : 高可用的HDFS RPC端口
9000 : 非高可用的HDFS RPC端口
8088 : Yarn 的WEB UI 接口
8485 : JournalNode 的RPC端口
8019 : ZKFC端口
19888:jobhistory WEB UI端口
Zookeeper:
2181 : 客户端连接zookeeper的端口
2888 : zookeeper集群内通讯使用,Leader监听此端口
3888 : zookeeper端口 用于选举leader
Hbase:
60010:Hbase的master的WEB UI端口 (旧的) 新的是16010
60030:Hbase的regionServer的WEB UI 管理端口
Hive:
9083 : metastore服务默认监听端口
10000:Hive 的JDBC端口
Spark:
7077 : spark 的master与worker进行通讯的端口 standalone集群提交Application的端口
8080 : master的WEB UI端口 资源调度
8081 : worker的WEB UI 端口 资源调度
4040 : Driver的WEB UI 端口 任务调度
18080:Spark History Server的WEB UI 端口
Kafka:
9092: Kafka集群节点之间通信的RPC端口
Redis:
6379: Redis服务端口
CDH:
7180: Cloudera Manager WebUI端口
7182: Cloudera Manager Server 与 Agent 通讯端口
HUE:
8888: Hue WebUI 端口
hashcode 在散列结构中,根据算法划分区域,提高查找效率,不需要遍历所有对象去用equals比较。
equals在object中,只有比较了==,内存地址。如果是hashset,则需要再比较值,需要进行重写。
ThreadPoolExecutor.AbortPolicy:丢弃任务并抛出RejectedExecutionException异常。
ThreadPoolExecutor.DiscardPolicy:也是丢弃任务,但是不抛出异常。
ThreadPoolExecutor.DiscardOldestPolicy:丢弃队列最前面的任务,然后重新尝试执行任务(重复此过程)
ThreadPoolExecutor.CallerRunsPolicy:由调用线程处理该任务
corePoolSize workQueue maximumPoolSize
热部署 重新加载整个应用 释放内存 浪费时间
热加载 后台一条线程检测改变的class 只改变被修改得类
热加载 日志无法记录 风险过大
可重入锁: synchronied method1(){
synchronied method2()
}
拥有锁1之后不需要再次申请锁2 否则永远申请不到了 此对象的锁已经拥有 还未释放
AbstractQueuedSynchronizer 类是一个抽象类,它是所有的锁队列管理器的父类,JDK 中的各种形式的锁其内部的队列管理器都继承了这个类,
它是 Java 并发世界的核心基石。比如 ReentrantLock、ReadWriteLock、CountDownLatch、Semaphone、ThreadPoolExecutor 内部的队列管理器都是它的子类。
这个抽象类暴露了一些抽象方法,每一种锁都需要对这个管理器进行定制。而 JDK 内置的所有并发数据结构都是在这些锁的保护下完成的,它是JDK 多线程高楼大厦的地基
其中df -h和du -sh使用的比较多,一个统计整体磁盘情况,一个看单独目录点用情况
1.停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)
如果想要删除所有container的话再加一个指令:
docker rm $(docker ps -a -q)
2.查看当前有些什么images
docker images
3.删除images,通过image的id来指定删除谁
docker rmi <image id>
想要删除untagged images,也就是那些id为<None>的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要删除全部image的话
docker rmi $(docker images -q)
权限不足添加这个参数
docker run --privileged -it -d -p 50001:22 1e1148e4cc2c /usr/sbin/init
docker exec -it eloquent_hamilton /bin/bash
echo "root:123456"|chpasswd
yum install openssh-server
/etc/ssh/sshd_config 将其中USePAM参数设置为no
启动服务:systemctl start sshd.service
开机自启:systemctl enable sshd.service
可以把镜像看作类,把容器看作类实例化后的对象
hadoop fs适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统
hadoop dfs只能适用于HDFS文件系统
hdfs dfs跟hadoop dfs的命令作用一样,也只能适用于HDFS文件系统