首页 文章 精选 留言 我的

精选列表

搜索[环境],共10000篇文章
优秀的个人博客,低调大师

DKhadoop环境安装配置步骤详解

在上一篇的分享文章中我是给大家分享了运行部署hadoop的一些安装准备工作,这篇接上一篇继续为大家分享一些个人的学习经验总结。我学习用的是大快发行版DKHadoop,所以所有的经验分享都是以DKHadoop为基础,这里要先说明一下。个人觉得DKHadoop对新手还是算是很友好的了,新手朋友们可以大快搜索网站下载一个三节点的dkhadoop玩一下看看。 闲话到此结束,本篇重点整理的是服务器操作系统的配置问题,写的可能会有点长,需要一点点耐心看的哦! 1.修改权限 步骤:在准备工作中拷贝安装包DKHPlantform.zip到主节点/root/目录后,解压并修改文件权限(文件所有者可读可写可执行,与文件所有者属于一个用户组的其他用户可读可执行,其他用户组可读可执行)。 命令: cd /root/ unzip DKHPlantform.zip chmod -R 755 DKHPlantform 2.搭建hadoop集群设置SSH免密登录 步骤: 修改主机名 vi /etc/sysconfig/network reboot (1)修改本机hosts文件,写入对应关系 命令: vi/etc/hosts 通过按键盘上的insert或是I键进入编辑模式,编辑完成后按一下Esc键然后按一下按Shift+:键,输入wq 后回车就可以保存。输入q!后回车则是放弃保存并退出. 进入编辑模式后,按照规则写入主机与ip的对应关系(主机名称dk41是自己命名的,如下图)例: 192.168.1.41dk41 192.168.1.42 dk42 192.168.1.43dk43 编辑完后,保存退出。把对应关系拷到其他两台机器上。 命令: scp-r/etc/hosts192.168.1.42:/etc scp-r/etc/hosts192.168.1.43:/etc (2)执行集群之间免密前的准备工作 a)执行sshpass.sh的脚本的时候会去读sshhosts和sshslaves这两个文件,替换sshpass.sh中的master和slave文件。 修改文件sshhosts,输入全部机器的主机名,每行一个主机名(如下图) 命令: vi /root/DKHPlantform/autossh/sshhosts 通过按键盘上的insert或是I键进入编辑模式,编辑完成后按一下Esc键然后按一下按Shift+:键,输入wq,后回车就可以保存。输入q!后回车则是放弃保存并退出. 修改文件sshslaves,写入除主机名之外的所有机器名(如下图) 命令: vi /root/DKHPlantform/autossh/sshslaves 通过按键盘上的insert或是I键进入编辑模式,编辑完成后按一下Esc键然后按一下按Shift+:键,输入wq,后回车就可以保存。输入q!后回车则是放弃保存并退出. b)执行insExpect.sh,系统会装两个rpm包,在执行sshpass.sh的过程中无需再输密码和yes,脚本自动继续执行。 命令: cd/root/DKHPlantform/autossh ./insExpect.sh 按照提示多次输入yes和密码(如下图) c)执行changeMaster.sh脚本为了清空/root/.ssh目录下的所有文件(在/root/DKHPlantform/autossh目录下),避免在执行sshpass.sh脚本时产生的新密钥时与旧的密钥发生冲突。 命令: ./changeMaster.sh 按照提示输入(如下图) (3)执行集群免密(SSH) a)执行SSH: 命令: cd /root/ ./sshpass.sh 密码 123456为集群密码,根据自己实际情况输入。 b)防止访问服务器时某些服务被拦截,需关闭防火墙。 命令: cd /root/DKHPlantform/autossh ./offIptables.sh 3.安装双机热备份的MySQL 目的:存放Hive的元数据 步骤: (1)从主节点分发mysql安装目录到第二节点 命令: scp-r/root/DKHPlantform/mysqlInst/192.168.1.42:/root/ (2)主节点执行: 命令: cd /root/DKHPlantform/mysqlInst/ ./mysql.sh 1 ssh前往第二台机器(从节点)并执行: 命令: cd /root/mysqlInst/ ./mysql.sh2 (3)执行成功之后执行热备份(两台机器上都要执行,两个ip互换,41上写42,42上写41,密码是Mysql的密码为:123456。平台内已经设定好,请勿修改): 命令: source /etc/profile ./sync.sh192.168.1.xxx(另一台mysql地址)root123456 4.创建数据库 步骤: (1)导入MySQL数据表,只在主节点执行: 命令: mysql -uroot -p123456 <{ 此处为sql文件,主目录下文件: dkh.sql} 如:mysql -uroot -p123456 </root/DKHPlantform/dkh.sql (2)执行完后查看一下两台mysql的数据表是否存在,从节点查看执行: 命令: mysql-uroot-p123456showdatabases;

优秀的个人博客,低调大师

Dockerfile分离构建LNMP环境部署wordpress

最近忙着写自己的项目,也把一个站点的bbs论坛打算迁移到Docker中,测试没发现啥大问题。在单台上面的架构如下;(往后我们也是要讲到compose和swarm调度的慢慢来) 1、首先我们先安装一下docker,好多人都发现国内用yum安装有各种问题;这里我们用国内的https://www.daocloud.io.登录后注册,然后点击下载。里面有提示,我们点击Linxu安装然后复制代码执行到shell上即可。 [root@test nginx]# curl -sSL https://get.daocloud.io/docker | sh 2、安装好之后,安装dockhub加速器,点击加速器,复制代码粘贴到shell. [root@testnginx]#curl-sSLhttps://get.daocloud.io/daotools/set_mirror.sh|sh-shttp://681a96df.m.daocloud.io {"registry-mirrors":["http://681a96df.m.daocloud.io"], "live-restore":true } Success. Youneedtorestartdockertotakeeffect:sudosystemctlrestartdocker ##执行脚本,主要是把仓库地址写到daemon.json文件下。 [root@testnginx]#cat/etc/docker/daemon.json {"registry-mirrors":["http://681a96df.m.daocloud.io"], "live-restore":true } 3、准备工作都已经完成了,接下来我们来构建一下dockerfile在三个目录下,看下目录结构: [root@testtest]#tree-L2--charsetASCII |--mysql ||--Dockerfile ||--epel-6.repo ||--my.cnf |`--startup.sh |--nginx ||--Dockerfile ||--nginx-1.11.10 ||--nginx-1.11.10.tar.gz ||--nginx.conf |`--nginx_default.conf `--php-fpm |--Centos-6.repo |--Dockerfile |--epel-6.repo |--php-5.5.38 `--php-5.5.38.tar.gz 5、看一下nginx 的 Dockerfile: [root@testnginx]#catDockerfile #lnmpcentos6.0 fromcentos:centos6 MAINTAINERxiaoluo ENVAPP_DIR/web addnginx-1.11.10/nginx-1.11.10 RUNyum-ygroupinstall"DevelopmentTools""ServerPlatformDeveopment" RUNyum-yinstallopenssl-develpcre-devel RUNuseraddnginx-s/sbin/nologin RUNcd/nginx-1.11.10&&./configure--prefix=/usr/local/nginx--user=nginx--group=nginx--with-http_ssl_module--with-http_flv_module--with-http_stub_status_module--with-http_gzip_static_module--with-pcre&&make&&makeinstall RUNmkdir/usr/local/nginx/conf/vhosts RUNmkdir/var/log/nginx ADDnginx.conf/usr/local/nginx/conf/nginx.conf ADDnginx_default.conf/usr/local/nginx/conf/vhosts/default.conf EXPOSE80 CMD["/usr/local/nginx/sbin/nginx"] ##nginx 相关php配置: [root@testnginx]#catnginx_default.conf server{ listen80default_server; server_namelocalhost; #charsetkoi8-r; location/{ root/web; indexindex.phpindex.htmlindex.htm; } #redirectservererrorpagestothestaticpage/50x.html # error_page500502503504/50x.html; location=/50x.html{ rootAPP_DIR; } #Disablenginxlogwritefavicon.ico location=/favicon.ico{ log_not_foundoff; access_logoff; } #passthePHPscriptstoFastCGIserverlisteningonport9000 # location~\.php${ root/web; fastcgi_passphp:9000; #fastcgi_passunix:/tmp/php-fpm.sock; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; includefastcgi_params; } } ###php:9000是通过后面的--link 容器之间互联指定 6、开始构建nginx镜像: [root@testnginx]#dockerbuild-tlnmp/nginx:1.0. ##查看是否生成镜像: [root@testnginx]#dockerimages REPOSITORYTAGIMAGEIDCREATEDSIZE lnmp/nginx1.05f5d4169189d4minutesago669MB 7、开始构建php镜像: [root@testphp-fpm]#catDockerfile fromcentos:centos6 ADDCentos-6.repo/etc/yum.repos.d/CentOS-Base.repo ADDepel-6.repo/etc/yum.repos.d/epel.repo addphp-5.5.38/php-5.5.38 RUNyum-ygroupinstall"DesktopPlatformDevelopment" RUNyum-yinstalllibmcrypt-develbzip2-develgccopenssl-develphp-mcryptlibmcrypt RUNcd/php-5.5.38&&./configure--prefix=/usr/local/php--with-mysql=mysqlnd--with-pdo-mysql=mysqlnd--with-mysqli=mysqlnd--with-openssl--enable-mbstring--with-freetype-dir--with-jpeg-dir--with-png-dir--with-zlib--with-libxml-dir=/usr--enable-xml--enable-sockets--with-mcrypt--with-bz2--enable-fpm--with-gd&&make&&makeinstall RUNcp/php-5.5.38/php.ini-production/usr/local/php/etc/php.ini RUNmv/usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf RUNuseradd-M-s/sbin/nologinphp RUNsed-i-e's\;pid=run/php-fpm.pid\pid=run/php-fpm.pid\g'-e's\nobody\php\g'-e's\listen=127.0.0.1:9000\listen=0.0.0.0:9000\g'/usr/local/php/etc/php-fpm.conf RUNsed-i's\;daemonize=yes\daemonize=no\g'/usr/local/php/etc/php-fpm.conf EXPOSE9000 CMD["/usr/local/php/sbin/php-fpm"] 8、开始构建php镜像: [root@testphp-fpm]#dockerbuild-tlnmp/php:1.0. 9、构建mysql镜像的Dockerfile: [root@testmysql]#catDockerfile FROMcentos:centos6 MAINTAINERxiaoluo"18878774@163.com" RUNyuminstall-ymysql-servermysql ADD./startup.sh/opt/startup.sh RUNchmod+x/opt/startup.sh EXPOSE3306 CMD["/bin/bash","/opt/startup.sh"] ##启动脚本: [root@testmysql]#catstartup.sh #!/bin/bash if[!-f/var/lib/mysql/ibdata1];then mysql_install_db /usr/bin/mysqld_safe& sleep10s mysql-e"grantallprivilegeson*.*to'root'@'%'identifiedby'123456';FLUSHPRIVILEGES;" killallmysqld sleep10s fi /usr/bin/mysqld_safe **正常启动的时候,是没有问题的;当时当我们用-v做持久化的时候,好像说用户就失去对/var/lib/mysql的控制权,所以启动的时候我们要判断初始化才可以用-v来持久化相关目录,这个地方之前搞了好久就是挂不起来,后面原来是这个地方。 10、开始构建mysql镜像: [root@testmysql]#dockerbuild-tlnmp/mysql:1.0. 11、下面我们开始启动相关容器: [root@testweb]#dockerrun-dit--namephp-v/web:/weblnmp/php:1.0 [root@testweb]#dockerrun-dit--nameweb-p80:80-v/web:/web--linkphp:phplnmp/nginx:1.0 [root@testweb]#dockerrun-dit--namemysql-p3306:3306-v/opt/data:/var/lib/mysqllnmp/mysql:1.0 ##### [root@testmysql]#dockerps CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 3527cddb4c50lnmp/mysql:1.0"/bin/bash/opt/st..."4secondsagoUp3seconds0.0.0.0:3306->3306/tcpmysql fab93953c438lnmp/nginx:1.0"/usr/local/nginx/..."AboutaminuteagoUpAboutaminute0.0.0.0:80->80/tcpweb d5854337c10blnmp/php:1.0"/usr/local/php/sb..."3minutesagoUp2minutes9000/tcp php ##可以看到我们已经都启动了所有的容器了。 12、接下来我们登录一下mysql.创建一下wordpress使用的数据库: [root@testmysql]#mysql-uroot-p123456-h192.168.63.200 MySQL[(none)]>CREATEDATABASEwordpressDEFAULTCHARACTERSETutf8; QueryOK,1rowaffected(0.00sec) 13、然后我们把wordpress代码放到我们挂载的本地/web目录下面: [root@testweb]#wgethttps://cn.wordpress.org/wordpress-4.7.2-zh_CN.tar.gz #然后解压出来。我们直接访问一下当前主机的IP地址: 直接往下走注册即可: ##到此在Docker 分离下安装wordpress已经完成,但是我们要思考一个问题,就是有没有更好的方法统一编排一下这些容器呢,给容器更好的分组管理:可以留意一下docker-compose,在1.13之后更是结合栈来实现跨主机编排。 ##还有一个就是如何给这些容器做成集群管理,保证节点的高可用。和资源监控调度呢。可以看一下1.12之后的docker swarm,构建集群非常简单。

优秀的个人博客,低调大师

(一)ActiveMQ :windows 环境搭建及配置

一、下载ActiveMQ 地址:http://activemq.apache.org/download-archives.html 目前是5.15.2版本 二、ActiveMQ目录 ![image](https://yqfile.alicdn.com/ae2f78e2004c2f5796309df09aeaf7f09d3c539f.png) bin:可执行文件 conf:所有配置文件 data:log日志文件,kahadb持久化数据库文件存储,临时文件 docs:文档 examples:小例子 lib:jar包库 webapps: activemq 监控台web程序 三、ActiveMQ启动 1.运行bin\activemq.bat ,但是需要通过命令行窗口启动 cd /d bin目录下 activemq start 2.根据操作系统位数,选择win32/win64直接运行actviemq.bat 四、重点配置 1.MQ相关配置:activemq.xml - 通信协议配置 <transportConnectors> <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB --> <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=1048576000"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=1048576000"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=1048576000"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1884?maximumConnections=1500&amp;wireFormat.maxFrameSize=1048576000"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=1048576000"/> </transportConnectors> (1)uri中Port:通信协议端口号 (2)uri中maximunConnections:通信协议最大连接数 (3)url中wireFormat.maxFrameSize代表支持协议的“一个完整消息”的最大数据量(单位为byte) 2.增加用户认证插件 <shutdownHooks> <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" /> </shutdownHooks> <!--此部分为添加的--> <plugins> <simpleAuthenticationPlugin anonymousAccessAllowed="true"> <users> <authenticationUser username="admin" password="admin" groups="users,admins"/> </users> </simpleAuthenticationPlugin> </plugins> 添加登录用户名与密码,及用户所属用户组 五、日志路径:activemqdata目录下六、访问监控台(old)默认访问地址:[localhost:8161]()此端口亦可修改:jetty.xml中找到port进行修改 到此activemq中间件在windows下已经搭建完成后续继续,《[ActiveMQ搭建最新的监控工具hawtio》]()

优秀的个人博客,低调大师

eclipse环境下:lombok安装及使用

lombok官网:https://projectlombok.org/ jar包下载路径:https://projectlombok.org/download lombok features:https://projectlombok.org/features/all lombok:通过注解方式减少POJO类的getter和setter等方法来消除冗余代码量 安装 1.下载 lombok.jar 2.官网说是可以双击安装,,,我用这种方法不可行 2.手动安装 (1)将lombok.jar移到eclipse的安装目录 (2)在eclipse.in文件最后加入下面两行 -Xbootclasspath/a:lombok.jar -javaagent:lombok.jar ============= -javaagent:xxx.jar 的jar名称 需要与根目录下的jar名一致, 不一致,可能会出现eclipse无法启动的情况。 (3)重启eclipse,进行代码测试 原始java代码: public class NoteTest { private int noteId; private String title; private String content; private int typeId; } class文件反编译后: public class NoteTest { private int noteId; private String title; private String content; private int typeId; public NoteTest() { 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 加入lombok注解后的java代码: @Data @NoArgsConstructor @AllArgsConstructor @ToString(exclude="typeId") public class NoteTest { private int noteId; private String title; private String content; private int typeId; } 加注解,经反编译: public class NoteTest { private int noteId; private String title; private String content; private int typeId; public int getNoteId() { return noteId; } public String getTitle() { return title; } public String getContent() { return content; } public int getTypeId() { return typeId; } public void setNoteId(int noteId) { this.noteId = noteId; } public void setTitle(String title) { this.title = title; } public void setContent(String content) { this.content = content; } public void setTypeId(int typeId) { this.typeId = typeId; } public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof NoteTest)) return false; NoteTest other = (NoteTest)o; if (!other.canEqual(this)) return false; if (getNoteId() != other.getNoteId()) return false; Object this$title = getTitle(); Object other$title = other.getTitle(); if (this$title != null ? !this$title.equals(other$title) : other$title != null) return false; Object this$content = getContent(); Object other$content = other.getContent(); if (this$content != null ? !this$content.equals(other$content) : other$content != null) return false; return getTypeId() == other.getTypeId(); } protected boolean canEqual(Object other) { return other instanceof NoteTest; } public int hashCode() { int PRIME = 59; int result = 1; result = result * 59 + getNoteId(); Object $title = getTitle(); result = result * 59 + ($title != null ? $title.hashCode() : 43); Object $content = getContent(); result = result * 59 + ($content != null ? $content.hashCode() : 43); result = result * 59 + getTypeId(); return result; } public NoteTest() { } public NoteTest(int noteId, String title, String content, int typeId) { this.noteId = noteId; this.title = title; this.content = content; this.typeId = typeId; } public String toString() { return (new StringBuilder("NoteTest(noteId=")).append(getNoteId()).append(", title=").append(getTitle()).append(", content=").append(getContent()).append(")").toString(); } }欢迎大家一起说出自己的想法。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册