使用Maven打包jar包并提交到storm拓扑上运行
使用maven编写Java代码并打包jar包是非常方便的,这篇文章介绍使用maven打包storm应用程序代码并提交到storm集群上的拓扑上运行。
使用idea和maven创建一个storm工程
点击Project
选择Maven
点击Next
输入工程名、GroupId、ArtifactId等,假设这里输入工程名为:com.monkey
默认打开一个pom.xml文件,在里面输入一下配置信息
1> 打开官网:Storm Core
选择版本,拷贝如下信息到pom.xml中,注意,需要手动创建<dependencies>*</dependencies>,并把下面的内容替换 * 号,另外,如果是本地测试,需要将provided修改为compile,如果是打成jar包并提交storm集群上,请使用provided
1234567<!-- https://mvnrepository.com/artifact/org.apache.storm/storm-core --><dependency> <grou ...
zookeeper 和 storm 安装与启动
Storm的运行需要Zookeeper的协助,主要是为了协调Storm无状态的Master守护进程Nimbus和Worker守护进程Supervisor。所以启动Storm之前需要首先启动Zookeeper,下面分三步进行介绍,注意,这里以单机模式测试,关于Zookeeper的Standalone集群部署请参考我的另一篇文章:Zookeeper集群部署, 关于storm的Standalone集群部署请参考我的文章:storm集群部署
安装jdk首先从Oracle官网下载jdk
其次,解压该压缩包
1tar -xzf jdk*
最后,将Java路径添加到环境变量
安装Zookeeper和Storm首先从官网下载Zookeeper (注意:3.4.14版本测试通过,而3.5.6不成功)和下载Storm
其次,解压两个压缩包
12tar -xzf zookeeper-3.4.14.tar.gztar -xzf apache-storm-2.1.0.tar.gz
最后,配置Zookeeper和Storm
配置Zookeeper
12345cd zookeepermkdir dat ...
git 知识汇总补充
Git的分支功能可以支持同时进行多个功能的开发和版本管理。
查看分支情况
查看当前分支和本地分支
1git branch
查看远程分支
1git branch -r
查看所有分支
1git branch -a
创建本地分支
直接创建本地分支
1git branch issue3
切换分支
1git checkout issue3
创建并切换本地分支
1git checkout -b issue3
合并分支使用如下命令合并分支,如果目前是在issue3分支,首先需要切换到master分支,然后再合并issue3分支到master分支
12git checkout mastergit merge issue3
除了merge命令外,还有一种命令可以合并分支,那就是rebase,更多内容可以查看:分支的合并
删除分支1git branch -d issue3
删除远程分支1git push origin --delete add-license-1
注意:删除远程分支不使用git branch -d,而是使用git push origin –del ...
git 基础知识
git 是一种分布式版本控制软件,最初由林纳斯·托瓦兹于2005年为了更好的管理Linux内核开发而设计。可以保存文件的更新记录,可以恢复以前的状态,显示编辑前后的差异。当同时上传新文件覆盖旧文件时,如果发生冲突会发出警告。
数据库git数据库分为远程数据库和本地数据库,如果想要公开本地数据库中的内容,可以上传到远程数据库。GitHub就是远程数据库的代码托管软件,可以免费公开也可以付费私享,团队协作开发。
本地数据库可以通过在本地创建全新的数据库,也可以从远程数据库克隆拉取。
当提交本地代码或文件修改时,应认真填写修改内容的提交信息,一般可以用”提交修改内容的摘要+修改理由“问模板提交信息。
git版本控制软件下,实际的工作目录称为工作树,数据库和工作树之间有索引,索引是为了向数据库提交作准备的区域。Git在执行提交的时候,不是直接将工作树的状态保存到数据库,而是将设置在中间索引区域的状态保存到数据库。因此,要提交文件,首先需要把文件加入到索引区域中。
git 安装从官网下载相应版本进行安装。官网地址:git-scm.com,安装完成后,使用如下命令测试git是否安装成功
1gi ...
Debian 系统如何增加系统用户和删除用户
Debian 系统是一各非常优秀的 Linux 操作系统,Ubuntu 是基于 Debian 的衍生版本,具有相同的包管理工具和系统命令。有时候我们需要给 Debian 系统的服务器添加用户,那么可以通过如下命令非常简单的操作。本篇演示默认在 root 用户下操作。
使用 adduser 添加用户1adduser jinzhongxu
该命令是 Perl 脚本命令,可以交互式的创建用户,需要设置新用户密码,并同时创建同名用户组和家目录。
将该用户添加到 sudo 次组(主组名同用户名)中,使其具有 sudo 权限,命令如下
123usermod -a -G sudo jinzhongxu# orgpasswd -a jinzhongxu sudo
从 sudo 组中删除用户
1gpasswd -d jinzhongxu sudo
使用 deluser 删除用户有时候不想再使用用户了,可以删除用户,同时也可以删除该用户所有的文件,使用如下命令
1deluser --remove-all-files jinzhongxu
其他添加用户命令其实,除了上面比较方面的 Perl 脚本 ...
国自然申请书的一些建议
国家自然科学基金对于科研人员是无比重要的,除了补充科研经费,同时在一定程度上也是检验一个科研人员科研能力的试金石,如在研究思想、研究敏锐性、研究方法、同行评议等方面。那如何写出一份高质量的国自然申请书呢,这里给出一些个人建议,供参考。
写申请书之前需要问自己几个问题,根据这几个问题来撰写
(立项依据)为什么要做该项目?提出科学问题
(研究背景)是否为前沿和热点研究问题?最好列出最近5年内国内外研究进展
(研究内容)做哪些事请能够解决提出的科学问题,实现预期目标?研究内容要与立项依据提出的问题一致,且有创新性
(研究方法)具体如何去做?
(研究可行性)自己在该领域有哪些前期积累?重点介绍曾经做过的相关前期工作,自己是项目的最佳实践者,该项目能够很好的执行并完成
(研究基础)为什么自己能够做该项目?要列出与研究内容相关的学术论文
从立项依据到研究内容,从研究内容到研究方法,从研究方法到研究基础,都是一环扣一环,环环相扣,不能错节。申请书中不能出现语言错误、格式错误等。
git 简单使用命令
使用GitHub来保存本地代码,既能够防止代码丢失,又能够与Coders交流互动,那么如何使用git命令提交本地代码呢,下面介绍一下流程.
远程GitHub已经建有一个仓库如果远程GitHub上已经建有一个仓库,或者通过网页建成一个仓库,使用如下步骤进行
克隆远程仓库网页上打开仓库首页,找到右上角的Clone or download
使用SSH克隆仓库1git clone git@github.com:user-name/your-repo-name.git
该方法需要事先将本地用户目录下的公钥拷贝到本人GitHub网站的设置中的SSH keys中,具体方法如下:
拷贝所有内容到GitHub主页—右上角Settings—左侧SSH and GPG keys—SSH keys—New SSH key—随便写个名字在title栏,并粘贴刚刚拷贝的内容到key栏中—Add SSH key
测试SSH连接情况:
在终端中输入一下命令
1ssh -T git@github.com
如果出现 Hi your-user-name! You’ve successfully authentica ...
使用SSH连接GitHub
d7420555dbd47e034be0c72be203a7e3c0038009fbac90832eee05d64deb9f3f0acde9064836640ae6531f0b14a54f46d64019169c9d66b08b8478fcf6616b32441c1b449fe9af0bc8539dfb72d746e799631d1d4e2b67787a2434396be4b035b78ce8eecdf0c5cd4d74a7dd21d726fba6505a15199526b483d13bc7451762323ee4d35165dced9c284aa0aa23ef4d26a6c74743fe855b2defa7c0d44434d1e6a50d97d87b763fe49148dbaa9aa81cdee94af4c4b51a6fff3d906b302cdeba49207d36c09c2a2ae52df929c6c46fb61cd6819bed1a4445b2df54a8e8540d560de19663db55a58c4ced4b94524aca35290ec513903f752226b ...
Windows10 子系统 Ubuntu 在硬盘上的路径
Windows10 的 Linux 子系统 Ubuntu 非常好用,能够与Windows10非常融洽的结合使用,既保留了Windows系统优秀的用户交互式,又提供了Linux系统开发的便捷,可谓是集成了两种操作系统的优点于一身。那么,如何互相访问两者的文件呢?下面给出两者相互访问的方法。
Ubuntu 访问 Windows 文件1cd /mnt/c/Users/xujin/Downloads
Windows 访问 Ubuntu 文件Ubuntu 用户家目录在Windows的如下路径
1E:\Users\xujin\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\jinzhongxu
使用intellij idea 编译项目到jar包
当我使用 Java 开发 Flink 时,遇到了一个问题,那就是如何使用 Intellij Idea 编译项目成jar包。经过调研,发现有两种方法来编译项目:
使用Intellij Idea编译
点击 File
点击 Project Structure
点击 Artifacts
点击 “+” 号
点击 JAR
点击 From modules with dependencies
选择 Main Class
点击 Apply && ok
点击 Build
点击 Build Artifacts
点击 Build
该方法可参考使用Intellij Idea打包java为可执行jar包
使用Maven编译在项目工作目录下,运行如下命令
mvn clean package
以上两种方法,都可以编译 Java 项目成jar包,然后就可以提交到 Flink 集群或web下运行。
Centos 给用户增加 sudo 权限
当给 Centos 增加新用户时,想配置新用户具有 sudo 权限,可是跟 Ubuntu 上不同,在 Ubuntu 上可以使用简单的命令
1usermod -aG sudo jinzhongxu
来给用户 jinzhongxu 增加 sudo 权限。但是,在 Centos 上却行不通,提示没有 sudo 组。那么在 Centos 上如何给用户增加 sudo 权限呢?
配置经过查看 /etc/sudoers 文件,发现 wheel 组下面的用户都可以具有 sudo 权限,因此,可以经新用户添加到 wheel 组,使其具有 sudo 权限,具体命令 (临时 root 权限) 如下
1usermod -aG wheel jinzhongxu
在命令行输入
1sudo yum update
可以发现,新用户 jinzhongxu 已经具有 sudo 权限了。
使用12# 普通用户使用 sudo 执行 root 权限清理内存sudo sync && sudo -u root sh -c "echo 1 > /proc/sys/vm/drop_caches ...