首页 文章 精选 资源 留言

精选列表

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

解决centos7连不上网 ping其他网站ping不通

第一步: 今天6转到7发现一个问题连不上网 首先最基本的检查看一下是否有虚拟机网络,如果下图没有再往下看 打开虚拟机-》编辑-》虚拟网络编辑器里面设置一下 上图完成之后看下是否出现如图一的连接图标 第二部:点击编辑虚拟机(虚拟机右键-》设置)->硬件-》网络适配器-》点击NAT模式-》确定 第三部:root账户登录-》打开network-scripts文件夹-》查看ifcfg-eno后面数组例如我的16777736-》编辑该文件-》把文件ONBOOT=no改为yes 如果不知道文件输入ip addr看一下文件名叫什么 第四部:按esc输入:wq(保存并退出)重启network执行下面的命令 service network restart 这里大部分能上网了 ping www.baidu.com看一下是否能ping通(ctrl+c终止ping) 番外:后面测试发现有的还是不能上网,关闭虚拟机,打开虚拟机安装目录找到.vmx文件右键编辑打开在里面 加入一行ethernet0.virtualDev = "e1000"保存启动 例如:我的D:\Documents\Virtual Machines\CentOS 64 位\CentOS 64 位.vmx

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

CentOS7下安装配置Spark-2.0.1集群

Spark是一个快速、通用的计算集群框架,它的内核使用Scala语言编写,它提供了Scala、Java和Python编程语言high-level API,使用这些API能够非常容易地开发并行处理的应用程序。 下面,我们通过搭建Spark集群计算环境,并进行简单地验证,来体验一下使用Spark计算的特点。无论从安装运行环境还是从编写处理程序(用Scala,Spark默认提供的Shell环境可以直接输入Scala代码进行数据处理),我们都会觉得比Hadoop MapReduce计算框架要简单得多,而且,Spark可以很好地与HDFS进行交互(从HDFS读取数据,以及写数据到HDFS中)。 安装配置 下载安装配置Scala 1 2 3 wgethttp: //www .scala-lang.org /files/archive/scala-2 .10.3.tgz tar xvzfscala-2.10.3.tgz 在~/.bashrc中增加环境变量SCALA_HOME,并使之生效: 1 2 3 export SCALA_HOME= /usr/scala/scala-2 .10.3 export PATH=$PATH:$SCALA_HOME /bin 下载安装配置Spark 我们首先在主节点m1上配置Spark程序,然后将配置好的程序文件复制分发到集群的各个从结点上。下载解压缩: 1 2 3 wgethttp: //d3kbcqa49mib13 .cloudfront.net /spark-0 .9.0-incubating-bin-hadoop1.tgz tar xvzfspark-0.9.0-incubating-bin-hadoop1.tgz 在~/.bashrc中增加环境变量SPARK_HOME,并使之生效: 1 2 3 export SPARK_HOME= /home/shirdrn/cloud/programs/spark-0 .9.0-incubating-bin-hadoop1 export PATH=$PATH:$SPARK_HOME /bin 在m1上配置Spark,修改spark-env.sh配置文件: 1 2 3 cd /home/shirdrn/cloud/programs/spark-0 .9.0-incubating-bin-hadoop1 /conf cp spark- env .sh.templatespark- env .sh 在该脚本文件中,同时将SCALA_HOME配置为Unix环境下实际指向路径,例如: 1 export SCALA_HOME= /usr/scala/scala-2 .10.3 修改conf/slaves文件,将计算节点的主机名添加到该文件,一行一个,例如: 1 2 3 4 5 s1 s2 s3 最后,将Spark的程序文件和配置文件拷贝分发到从节点机器上: 1 2 3 4 5 scp -r~ /cloud/programs/spark-0 .9.0-incubating-bin-hadoop1shirdrn@s1:~ /cloud/programs/ scp -r~ /cloud/programs/spark-0 .9.0-incubating-bin-hadoop1shirdrn@s2:~ /cloud/programs/ scp -r~ /cloud/programs/spark-0 .9.0-incubating-bin-hadoop1shirdrn@s3:~ /cloud/programs/ 启动Spark集群 我们会使用HDFS集群上存储的数据作为计算的输入,所以首先要把Hadoop集群安装配置好,并成功启动,我这里使用的是Hadoop 1.2.1版本。启动Spark计算集群非常简单,执行如下命令即可: 1 2 cd /home/shirdrn/cloud/programs/spark-0 .9.0-incubating-bin-hadoop1/ sbin /start-all .sh 可以看到,在m1上启动了一个名称为Master的进程,在s1上启动了一个名称为Worker的进程,如下所示,我这里也启动了Hadoop集群: 主节点m1上: 1 2 3 4 5 6 54968SecondaryNameNode 55651Master 54814NameNode 从节点s1上: 1 2 3 4 5 33592Worker 33442TaskTracker 33336DataNode 各个进程是否启动成功,也可以查看日志来诊断,例如: 主节点上: 1 tail -100f$SPARK_HOME /logs/spark-shirdrn-org .apache.spark.deploy.master.Master-1-m1.out 从节点上: 1 tail -100f$SPARK_HOME /logs/spark-shirdrn-org .apache.spark.deploy.worker.Worker-1-s1.out Spark集群计算验证 我们使用我的网站的访问日志文件来演示,示例如下: 1 2 3 27.159.254.192--[21 /Feb/2014 :11:40:46+0800] "GET/archives/526.htmlHTTP/1.1" 20012080 "http://shiyanjun.cn/archives/526.html" "Mozilla/5.0(WindowsNT5.1;rv:11.0)Gecko/20100101Firefox/11.0" 120.43.4.206--[21 /Feb/2014 :10:37:37+0800] "GET/archives/417.htmlHTTP/1.1" 20011464 "http://shiyanjun.cn/archives/417.html/" "Mozilla/5.0(WindowsNT5.1;rv:11.0)Gecko/20100101Firefox/11.0" 统计该文件里面IP地址出现频率,来验证Spark集群能够正常计算。另外,我们需要从HDFS中读取这个日志文件,然后统计IP地址频率,最后将结果再保存到HDFS中的指定目录。 首先,需要启动用来提交计算任务的Spark Shell: 1 bin /spark-shell 在Spark Shell上只能使用Scala语言写代码来运行。 然后,执行统计IP地址频率,在Spark Shell中执行如下代码来实现: 1 2 3 val file =sc.textFile( "hdfs://m1:9000/user/shirdrn/wwwlog20140222.log" ) valresult= file .flatMap(line=>line. split ( "\\s+.*" )).map(word=>(word,1)).reduceByKey((a,b)=>a+b) 上述的文件hdfs://m1:9000/user/shirdrn/wwwlog20140222.log是输入日志文件。处理过程的日志信息,示例如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 14 /03/06 21:59:23INFOExecutor:RunningtaskID20 36 14 /03/06 21:59:23INFOBlockManager:Foundblockbroadcast_11locally 37 14 /03/06 21:59:23INFOBlockFetcherIterator$BasicBlockFetcherIterator:Getting1non-zero-bytesblocksoutof1blocks 38 14 /03/06 21:59:23INFOBlockFetcherIterator$BasicBlockFetcherIterator:Started0remotegets in 1ms 39 14 /03/06 21:59:23INFOExecutor:Serializedsizeofresult for 20is19423 40 14 /03/06 21:59:23INFOExecutor:Sendingresult for 20directlytodriver 41 14 /03/06 21:59:23INFOTaskSetManager:FinishedTID20 in 17msonlocalhost(progress:0 /1 ) 42 14 /03/06 21:59:23INFOTaskSchedulerImpl:RemoveTaskSet20.0frompool 43 14 /03/06 21:59:23INFODAGScheduler:CompletedResultTask(20,0) 44 14 /03/06 21:59:23INFODAGScheduler:Stage20(collectat<console>:13)finished in 0.016s 45 14 /03/06 21:59:23INFOSparkContext:Jobfinished:collectat<console>:13,took0.242136929s 46 14 /03/06 21:59:23INFOExecutor:FinishedtaskID20 47 res14:Array[(String,Int)]=Array((27.159.254.192,28),(120.43.9.81,40),(120.43.4.206,16),(120.37.242.176,56),(64.31.25.60,2),(27.153.161.9,32),(202.43.145.163,24),(61.187.102.6,1),(117.26.195.116,12),(27.153.186.194,64),(123.125.71.91,1),(110.85.106.105,64),(110.86.184.182,36),(27.150.247.36,52),(110.86.166.52,60),(175.98.162.2,20),(61.136.166.16,1),(46.105.105.217,1),(27.150.223.49,52),(112.5.252.6,20),(121.205.242.4,76),(183.61.174.211,3),(27.153.230.35,36),(112.111.172.96,40),(112.5.234.157,3),(144.76.95.232,7),(31.204.154.144,28),(123.125.71.22,1),(80.82.64.118,3),(27.153.248.188,160),(112.5.252.187,40),(221.219.105.71,4),(74.82.169.79,19),(117.26.253.195,32),(120.33.244.205,152),(110.86.165.8,84),(117.26.86.172,136),(27.153.233.101,8),(123.12... 可以看到,输出了经过map和reduce计算后的部分结果。 最后,我们想要将结果保存到HDFS中,只要输入如下代码: result.saveAsTextFile("hdfs://m1:9000/user/shirdrn/wwwlog20140222.log.result") 查看HDFS上的结果数据: 1 2 3 4 5 6 7 [shirdrn@m1~]$hadoopfs- cat /user/shirdrn/wwwlog20140222 .log.result /part-00000 | head -5 (27.159.254.192,28) (120.43.9.81,40) (120.43.4.206,16) (120.37.242.176,56) (64.31.25.60,2) 本文转自crazy_charles 51CTO博客,原文链接:http://blog.51cto.com/douya/1863288,如需转载请自行联系原作者

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

CentOS7下Elastic Stack 5.0日志分析系统搭建

一、概述 Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。 Logstash是一个开源的用于收集,分析和存储日志的工具。 Kibana也是一个开源和免费的工具,Kibana可以为Logstash和ElasticSearch提供的日志分析友好的Web界面,可以汇总、分析和搜索重要数据日志。 Beats是elasticsearch公司开源的一款采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集器的统称,可以直接把数据发送给Elasticsearch或者通过Logstash发送给Elasticsearch,然后进行后续的数据分析活动。Beats由如下组成: 1.Packetbeat:是一个网络数据包分析器,用于监控、收集网络流量信息, Packetbeat嗅探服务器之间的流量,解析应用层协议,并关联到消息的处理, 其支持ICMP (v4 and v6)、DNS、HTTP、Mysql、PostgreSQL、Redis、 MongoDB、Memcache等协议; 2. Filebeat:用于监控、收集服务器日志文件,其已取代 logstash forwarder; 3.Metricbeat:可定期获取外部系统的监控指标信息,其可以监控、收集 Apache、HAProxy、MongoDB、MySQL、Nginx、PostgreSQL、 Redis、System、Zookeeper等服务; 4.Winlogbeat:用于监控、收集Windows系统的日志信息; 5. Create your own Beat:自定义beat ,如果上面的指标不能满足需求,elasticsarch鼓励开发者 使用go语言,扩展实现自定义的beats,只需要按照模板,实现监控的输入,日志,输出等即可。 Beats 将搜集到的数据发送到 Logstash,经 Logstash 解析、过滤后,将其发送到 Elasticsearch 存储,并由 Kibana 呈现给用户。 Beats 作为日志搜集器没有Logstash 作为日志搜集器消耗资源,解决了 Logstash 在各服务器节点上占用系统资源高的问题。 Elastic Stack官方下载地址:https://www.elastic.co/downloads。 二、开源实时日志分析系统Elastic Stack 5.0部署: A.安装依赖包JDK ①关闭防火墙 1 2 3 4 #cat/etc/selinux/config|grep-v"#" SELINUX=disabled ##关闭selinux SELINUXTYPE=targeted #systemctlstopfirewalld##关闭防火墙 ②下载安装JDK 1 2 3 4 5 6 #wgethttp://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm #yuminstalljre##这里我只安装的是jre环境,一样可用 #java-version openjdkversion "1.8.0_111" OpenJDKRuntimeEnvironment(build1.8.0_111-b15) OpenJDK64-BitServerVM(build25.111-b15,mixedmode B.安装Elasticsearch ①下载安装elasticsearch 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #rpm--importhttps://artifacts.elastic.co/GPG-KEY-elasticsearch #cat>/etc/yum.repos.d/elasticsearch.repo<<EOF [elasticsearch-5.x] name=Elasticsearchrepository for 5.xpackages baseurl=https: //artifacts .elastic.co /packages/5 .x /yum gpgcheck=1 gpgkey=https: //artifacts .elastic.co /GPG-KEY-elasticsearch enabled=1 autorefresh=1 type =rpm-md EOF #yuminstallelasticsearch #systemctlstartelasticsearch #systemctlstatuselasticsearch #/usr/share/elasticsearch/bin/elasticsearch-V##查看elasticsearch版本 Version:5.0.1,Build:080bb47 /2016-11-11T22 :08:49.812Z,JVM:1.8.0_111 注:安装后出现如下问题,致使elasticsearch无法启动 1 2 3 4 5 6 7 #systemctlstatuselasticsearch OpenJDK64-BitServerVMwarning:Ifthenumberofprocessorsisexpectedtoincreasefromone, then youshouldconf...CThreads=N OpenJDK64-BitServerVMwarning:INFO:os::commit_memory(0x0000000085330000,2060255232,0)failed;error= 'Cannota...' (errno=12) #ThereisinsufficientmemoryfortheJavaRuntimeEnvironmenttocontinue. #Nativememoryallocation(mmap)failedtomap2060255232bytesforcommittingreservedmemory. #Anerrorreportfilewithmoreinformationissavedas: #/tmp/hs_err_pid11084.log 解决: 配置elasticsearch下的jvm.options: 1 2 3 4 5 #vi/etc/elasticsearch/jvm.options -Xms4g ##启用如下两项 -Xmx4g ##-Xms2g##关闭如下两项 ##-Xmx2g ②ElasticSearch默认的对外服务的HTTP端口是9200,节点间交互的TCP端口是9300。 1 #ss-tlnp|grep-E'9200|9300' ③测试服务 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #curl-XGEThttp://localhost:9200 { "name" : "XVY0Ovb" , "cluster_name" : "elasticsearch" , "cluster_uuid" : "tR_H9avzT6Kf4hXWTIfWyA" , "version" :{ "number" : "5.0.1" , "build_hash" : "080bb47" , "build_date" : "2016-11-11T22:08:49.812Z" , "build_snapshot" : false , "lucene_version" : "6.2.1" }, "tagline" : "YouKnow,forSearch" } 也可以使用如下命令测试 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #curl-i-XGET'localhost:9200/' HTTP /1 .1200OK content- type :application /json ;charset=UTF-8 content-length:327 { "name" : "XVY0Ovb" , "cluster_name" : "elasticsearch" , "cluster_uuid" : "tR_H9avzT6Kf4hXWTIfWyA" , "version" :{ "number" : "5.0.1" , "build_hash" : "080bb47" , "build_date" : "2016-11-11T22:08:49.812Z" , "build_snapshot" : false , "lucene_version" : "6.2.1" }, "tagline" : "YouKnow,forSearch" } C.安装Logstash 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #rpm--importhttps://artifacts.elastic.co/GPG-KEY-elasticsearch #cat>/etc/yum.repos.d/logstash.repo<<EOF [logstash-5.x] name=Elasticrepository for 5.xpackages baseurl=https: //artifacts .elastic.co /packages/5 .x /yum gpgcheck=1 gpgkey=https: //artifacts .elastic.co /GPG-KEY-elasticsearch enabled=1 autorefresh=1 type =rpm-md EOF #yuminstalllogstash #systemctlstartlogstash #systemctlstatuslogstash #/usr/share/logstash/bin/logstash-V##查看logstash版本 logstash5.0.1 D.安装Kibana ①安装Kibana 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #rpm--importhttps://artifacts.elastic.co/GPG-KEY-elasticsearch #cat>/etc/yum.repos.d/kibana.repo<<EOF [kibana-5.x] name=Kibanarepository for 5.xpackages baseurl=https: //artifacts .elastic.co /packages/5 .x /yum gpgcheck=1 gpgkey=https: //artifacts .elastic.co /GPG-KEY-elasticsearch enabled=1 autorefresh=1 type =rpm-md EOF #yuminstallkibana #systemctlstartkibana #systemctlstatuskibana #/usr/share/kibana/bin/kibana-V##查看kibana版本 5.0.1 ②只需更改如下配置 1 2 #cat/etc/kibana/kibana.yml|grep-v"#" server.host: "192.168.147.128" ③检测服务 1 #ss-tlnp|grep5601##Kibana默认进程名:node,端口5601 浏览器输入http://localhost:5601 E、Beats安装部署 a.安装部署Filebeat ①安装Filebeat 1 2 3 4 5 6 #curl-L-Ohttps://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.0.1-x86_64.rpm #rpm-ivhfilebeat-5.0.1-x86_64.rpm #systemctlstartfilebeat #systemctlstatusfilebeat #filebeat.sh-version##查看版本 filebeatversion5.0.1(amd64),libbeat5.0.1 ②配置Filebeat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #cd/etc/filebeat #cpfilebeat.ymlfilebeat.yml.bak #vi/etc/filebeat/filebeat.yml##配置filebeat #=============Filebeatprospectors=============== filebeat.prospectors: -input_type:log paths: - /var/log/ *.log #====================Outputs===================== #-------------Elasticsearchoutput--------------- output.elasticsearch: #Arrayofhoststoconnectto. hosts:[ "localhost:9200" ] #----------------Logstashoutput----------------- output.logstash: #TheLogstashhosts hosts:[ "localhost:5043" ] ##只需配置该处,其他默认即可 #filebeat.sh-configtest-e##验证配置文件 ③配置Logstash 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #cat/etc/logstash/conf.d/logstash.conf input{ beats{ port=> "5043" } } filter{ grok{ match=>{ "message" => "%{COMBINEDAPACHELOG}" } } geoip{ source => "clientip" } } output{ elasticsearch{ hosts=>[ "localhost:9200" ] } } #systemctlrestartlogstash##重启logstash #/usr/share/logstash/bin/logstash-f/etc/logstash/conf.d/logstash.conf--config.test_and_exit##验证配置文件 SendingLogstashlogsto /var/log/logstash which isnowconfiguredvialog4j2.properties ConfigurationOK #ss-tlnp|grep-E'5043|9600' ④配置kibana 浏览器输入http://localhost:5601,配置filebeat的索引(只需输入filebeat-*即可)。 在第一个框里输入filebeat-*后稍等片刻,kibana会自动识别,OK后下面的按钮会由灰色变为可操控的按钮"Create",如上图所示。点击该按钮后,最后就会呈现如下图所示: 我们再回过头新建logstash的索引,浏览器输入http://localhost:5601,点击左边栏的”Management” ===> 然后点击“index Patterns” ===> ===> 然后点击“Add New” ===> ===> 点击“Crete”按钮创建logstash索引,创建完成后即会展现如下图所示: b.安装部署Packetbeat ①安装配置Packetbeat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 #yuminstalllibpcap #curl-L-Ohttps://artifacts.elastic.co/downloads/beats/packetbeat/packetbeat-5.0.1-x86_64.rpm #rpm-ivhpacketbeat-5.0.1-x86_64.rpm #cat/etc/packetbeat/packetbeat.yml ====================Networkdevice=================== packetbeat.interfaces.device:any ##捕获所有消息发送或接收的网络接口 ========================Flows======================== packetbeat.flows: timeout:30s period:10s ==================Transactionprotocols============== ##如下是packetbeat默认支持的主要协议及端口 packetbeat.protocols.icmp: enabled: true packetbeat.protocols.amqp: ports:[5672] packetbeat.protocols.cassandra: ports:[9042] packetbeat.protocols.dns: ports:[53] include_authorities: true include_additionals: true packetbeat.protocols.http: ports:[80,8080,8000,5000,8002] packetbeat.protocols.memcache: ports:[11211] packetbeat.protocols.mysql: ports:[3306] packetbeat.protocols.pgsql: ports:[5432] packetbeat.protocols.redis: ports:[6379] packetbeat.protocols.thrift: ports:[9090] packetbeat.protocols.mongodb: ports:[27017] packetbeat.protocols.nfs: ports:[2049] =========================General========================= =========================Outputs========================= -------------------Elasticsearchoutput------------------ output.elasticsearch: hosts:[ "localhost:9200" ] ---------------------Logstashoutput--------------------- output.logstash: hosts:[ "localhost:5043" ] ##只需配置该处,其他默认即可 =============================Logging===================== ②验证配置并启动packetbeat 1 2 3 4 5 6 7 #packetbeat.sh-version##查看packetbeat版本 packetbeatversion5.0.1(amd64),libbeat5.0.1 #packetbeat.sh-configtest-e##测试配置文件 ...... ConfigOK #systemctlstartpacketbeat #systemctlstatuspacketbeat ③配置Kibana(新建packetbeat索引) 在http://localhost:5601下新建索引页面输入“packetbeat-*”,之后kibana会自动更新,在“Time-field name”下面的三个选项中选择“@timestamp”,最后点击“Create”创建即可。 创建完成后,kibana显示如下: c.安装部署Metricbeat ①安装配置metricbeat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #curl-L-Ohttps://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-5.0.1-x86_64.rpm #rpm-ivhmetricbeat-5.0.1-x86_64.rpm #cat/etc/metricbeat/metricbeat.yml =================Modulesconfiguration================= metricbeat.modules: ----------------------SystemModule--------------------- -module:system metricsets: -cpu -load -filesystem -fsstat -memory -network -process enabled: true period:10s processes:[ '.*' ] =========================General======================= =========================Outputs======================= -------------------Elasticsearchoutput---------------- output.elasticsearch: hosts:[ "localhost:9200" ] ---------------------Logstashoutput------------------- output.logstash: hosts:[ "localhost:5043" ] ##只需配置该项,其他默认即可 =======================Logging========================= ②验证配置并启动metricbeat 1 2 3 4 5 #metricbeat.sh-version##查看版本信息 metricbeatversion5.0.1(amd64),libbeat5.0.1 #metricbeat.sh-configtest-e##验证配置文件 #systemctlstartmetricbeat #systemctlstatusmetricbeat ③配置kibana(新建metricbeat索引) 在http://localhost:5601下新建索引页面输入“metricbeat-*”,之后kibana会自动更新,在“Time-field name”下面的选项中选择“@timestamp”,最后点击“Create”创建即可。 最后呈现如下图所示: 注1: 关于ELK Stack的一些查询语句: ①查询filebeat 1 #curl-XGET'http://localhost:9200/filebeat-*/_search?pretty' ②查询packetbeat 1 #curl-XGET'http://localhost:9200/packetbeat-*/_search?pretty' ③查询metricbeat 1 #curl-XGET'http://localhost:9200/metricbeat-*/_search?pretty' ④查询集群健康度 1 #curl'localhost:9200/_cat/health?v' ⑤查看节点列表 1 2 3 #curl'localhost:9200/_cat/nodes?v' ipheap.percent ram .percentcpuload_1mload_5mload_15mnode.rolemastername 127.0.0.1379330.050.070.41mdi*XVY0Ovb ⑥列出所有索引 1 2 3 4 5 6 7 8 9 10 11 12 #curl'localhost:9200/_cat/indices?v' healthstatusindexuuidprirepdocs.countdocs.deletedstore.sizepri.store.size yellow open filebeat-2016.11.28Mn4MzxdTRaCj9iseutcmqA512012kb12kb yellow open filebeat-2016.11.29iMrr710mT42mApxdV62k-A51159065.9kb65.9kb yellow open packetbeat-2016.11.29wkTcIwD6RgiiCFwlWBIILA51565201.6mb1.6mb yellow open customerNvxXLgHoREefJLRhot13Ug5100800b800b yellow open packetbeat-2016.11.28Beoe07S7QB-dntNV4nxJNQ5124460676.4kb676.4kb yellow open test M7WbkYq2QNmeJ9NOyMfMZA5100800b800b yellow open logstash-2016.11.28pcb_84ChSBe9A7VRd-SQNw511610123.2kb123.2kb yellow open metricbeat-2016.11.29AmVeT1xCQGCnxlAFXUxhYw5194459037.6mb37.6mb yellow open logstash-2016.11.296PCKMYKCSVmPfdg-Sx2ARA5185772020.3mb20.3mb yellow open .kibanaQYTg0I5KS-yc3d7GSey3Zw1150102kb102kb 注2: 如果搭建期间有什么不清楚或不了解的,建议去看官方文档,文档地址如下: https://www.elastic.co/guide/index.html 注3:如需创建自己的beat,该处有教程可供学习: http://www.itnose.net/detail/6675459.html 本文转自 结束的伤感 51CTO博客,原文链接:http://blog.51cto.com/wangzhijian/1878636

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

阿里云服务器Centos7如何配置与启动tomcat

注意,请先到阿里云官网 领取幸运券,除了价格上有很多优惠外,还可以参与抽奖。详见:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=2a7uv47d&utm_source=2a7uv47d 通过Xshell连接到阿里云服务器,如下图所示。当然你也可以使用其他的工具比如putty类似的工具连接。 下载comcat的tar.gz包,然后通过Xftp或者其他工具传到服务器上去,Xftp的安装使用见我另一篇经验文章,在些略过。 通过如下命令解压到指定目录下去: tar zxvf apache-tomcat-7.0.69.tar.gz -C /usr/java/tomcat 然后进入tomcat文件夹中的bin文件夹,编辑setclasspath.sh 在末尾加入如下两行即可完成tomcat环境变量的配置 export JAVA_HOME=/usr/java/jdk/jdk1.8.0_112 export JRE_HOME=/usr/java/jdk/jdk1.8.0_112/jre 记得保存哦。 然后在命令行界面通过cd命令进入tomcat的bin目录,运行startup.sh即可启动tomcat,如下所示。 启动成功后会显示如下信息,最后一行显示Tomcat started. 启动成功后在浏览器输入ip地址:8080,如下图所示。 当出现tomcat的那个猫则表示服务器上可以部署项目了。

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

CentOS7 + Python3 + Django(rest_framework) + MariaDB + nginx + uwsgi 部...

这是一个 Django 环境部署教程,也是一个我坑爹的 Django 环境部署记录: 开始撸代码之前有两点需要提醒: 本教程完美适配如题开发环境但不局限于此环境,其他开发环境仅需将命令操作转换为当前环境下的命令即可; 我写作的顺序是我个人体验比较好的操作顺序仅供参考; 开撸: 1. MariaDB 的安装与部署 # yum 安装 yum -y install mariadb mariadb-server mariadb-devel # 安装完成MariaDB,首先启动MariaDB systemctl start mariadb # 设置开机启动 systemctl enable mariadb # 接下来进行MariaDB的相关简单配置 mysql_secure_installation #首先是设置密码,会提示先输入密码 Enter current password for root (enter for none):# 初次运行直接回车 #设置密码 Set root password? [Y/n] # 是否设置root用户密码,输入y并回车或直接回车 New password: # 设置root用户的密码 Re-enter new password: # 再输入一次你设置的密码 #其他配置 Remove anonymous users? [Y/n] # 是否删除匿名用户 Disallow root login remotely? [Y/n] #是否禁止root远程登录 Remove test database and access to it? [Y/n] # 是否删除test数据库 Reload privilege tables now? [Y/n] # 是否重新加载权限表 #初始化MariaDB完成,接下来测试登录 mysql -uroot -ppassword 注意:切记安装 mariadb-devel ( Ubuntu下是 mysql-dev )否则在下面安装 Python 的 mysqlclient 包的时候可能会出现 mysql_config not found 的错误 2. Python3的安装与部署 在 CentOS 中默认安装了 Python2 如果你是基于 Python2 开发的话可以直接使用,但也要注意版本尽量升级到 Python2 的最新版 1. 安装 Python3 所需依赖 CentOS 里面是 XXX-devel ,如果在 Ubuntu 下安装则要改成 XXX-dev # 为 CentOS 系统增加编译功能 yum gcc-c++ # 安装这些模块都是为了成功编译安装 Python3,防止出现各种异常 yum install wget openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel # 安装这个模块是为了让 uwsgi 支持使用 -x 选项,能通过 xml 文件启动项目 yum install libxml* 各个依赖的用途我就不展开讲了,如果好奇的话可以去百度,度娘都知道 提醒一点:如果你之前已经尝试过一次安装并且失败了,可以看一下是不是少装了某项依赖,在依赖完整的情况下,安装完 Python3 后会自动附带安装 pip 2. 编译安装 Python3.X 点击查看 Python 官方 FTP 地址 # 点击上面的官方 FTP 地址选择你想要的版本和压缩方式,获取下载连接 # 本例以 Python3.6.3 为例 # 在合适的路径(推荐在用户根路径下如 /home 或者 /root )下执行下载命令: wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz # 下载完成后执行解压命令: tar -zxvf Python-3.6.3.tar.gz # 进入解压后的 Python-3.6.3 文件,依次执行以下命令: # 编译设置将 Python3 安装到 /usr/local/python3/ 路径下 ./configure --prefix=/usr/local/python3 make make install # 创建 Python3 软连接,方便直接在命令行使用 Python3 和 pip3 直接调用 Python3 和 pip3 ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 3. 利用 pip3 安装必要的 Python 包 # 升级 pip3 到最新版本 pip3 install --upgrade pip # 安装需要的包( django djangorestframework mysqlclient ) pip3 install django djangorestframework mysqlclient # 创建 django-admin 软连接 ln -s /usr/local/python3/bin/django-admin /usr/bin/django-admin 3. uwsgi 的安装 本文推荐使用 pip3 直接下载安装 uwsgi 若想使用其他安装方法请自行百度 # 下载安装 uwsgi pip3 install uwsgi # 创建 uwsgi 软连接 ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi3 4. Django 项目创建、下载 在适合的位置用 django-admin startproject myproject 创建自己的项目或者用 Git , FTP上传工具等上传、克隆自己的项目本文采用新建项目的方式呈现此过程: # 在合适的地方创建用来存放 Django 项目的目录 mkdir /var/www # 进入目录 cd /var/www # 创建 Django 项目 django-admin startproject myproject # 进入项目 cd myproject # 查看项目目录 ls myproject manage.py # 其中 myproject 为项目配置文件目录 manage.py 为 Django 命令行工具 # 记住我刚刚定义的几个名词: # 项目目录:/var/www/myproject # 项目配置文件目录:/var/www/myproject/myproject # 这在后面的配置中有很大的作用千万别搞混 # 下面,进入项目配置文件目录修改部署需要的配置 cd myproject vim settings.py # 必须修改的有(本设置不适合在上线项目中使用) # 1. 修改 ALLPWED_HOSTS = ['*'] # 2. 修改 DATABASES 如下(相应位置改为你的项目的相应值): DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 数据库类型 'NAME': 'test', # 项目数据库名称 'HOST': '127.0.0.1', # 数据库地址 'PORT': '3306', # 端口号 'USER': 'root', # 数据库用户名 'PASSWORD': 'root', # 数据库密码 } } # 注意:如果你是上传的自己在本地环境写好的程序别忘了同步数据库 5. uwsgi 设置 在适当的目录下创建 uwsgi 配置文件本文采用 xml 配置文件,需要更多类型配置文件请自行百度 # 进入项目目录 cd /var/www/myproject # 创建编辑 uwsgi 配置文件(文件名自起) vim uwsgiset.xml # 内容如下 <uwsgi> <socket>127.0.0.1:8997</socket><!-- 内部端口,自定义 --> <chdir>/var/www/myproject</chdir><!-- 项目目录 --> <module>myproject.wsgi</module><!-- wsgi 启动文件 --> <processes>4</processes> <!-- 进程数 --> <daemonize>uwsgi.log</daemonize><!-- 日志文件路径 --> <pidfile>uwsgi.pid</pidfile><!-- uwsgi 管理文件路径,用来重启 uwsgi --> </uwsgi> # 更多配置信息请自行百度 # 在项目目录( /var/www/myproject )下启动: uwsgi3 -x uwsgiset.xml # 提醒 [uWSGI] parsing config file myproject.xml 则启用成功 # 注意仅仅是启用成功 6. nginx 下载、设置和启用 # [必须]安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装: yum install gcc-c++ # [必须]PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令: yum install -y pcre pcre-devel # [自选]zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。 yum install -y zlib zlib-devel # [自选]nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。 yum install -y openssl openssl-devel # 官网下载 Ngxin # 直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html # 推荐选择稳定版下载 : 当前版本 1.12.2 # 下载链接: https://nginx.org/download/nginx-1.12.2.tar.gz wget -c https://nginx.org/download/nginx-1.12.2.tar.gz # 解压 用到了之前下载的zlib库 若没下载可选择其他方式解压 tar -zxvf nginx-1.12.2.tar.gz # 编译前初始化配置 cd nginx-1.12.2 # 进入nginx目录 ./configure # 使用默认配置 # 编译安装 make make install # 查找安装路径 [root@Ryoma nginx-1.12.2]#whereis nginx nginx: /usr/local/nginx # 启动、停止 nginx cd /usr/local/nginx/sbin/ # 进入 nginx sbin 目录 ./nginx # 启动 nginx ./nginx -s quit # 此方式停止步骤是待 nginx 进程处理任务完毕进行停止 ./nginx -s stop # 此方式相当于先查出 nginx 进程id再使用kill命令强制杀掉进程 ./nginx -s reload # 重新加载 #查询 nginx 进程: ps aux|grep nginx # 配置 nginx vim /usr/local/nginx/conf/nginx.conf # 个人配置图如下 # :wq保存后进入 /usr/local/nginx/sbin/ 目录 # 先检查配置文件是否有错 ./nginx -t # 没有错就执行以下命令: ./nginx # 终端没有任何提示就证明 nginx 启动成功,可以通过链接查看 nginx 是否启动成功: # http://192.168.1.111 (请将该ip替换成你的服务器ip) 若出现 nginx 错误,请自行查阅 nginx 错误日志 (默认在 /usr/local/ngxin/logs/error.log)若出现 internal server error ,请查看 uwsgi 日志 (位置请看 uwsgi xml 配置文件) 理论上来说到这里你就能看到你的 Django 项目启动成功了,如果过程中出现了任何你自己无法解决的问题,欢迎留言或邮件联系我~

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

搭建企业级大数据平台Cloudera Manager + CDH 5.8 + CentOS7

【本文转载自:www.bigdata-star.com】 前言 在搭建CM之前。。本人也是纯人工的把hadoop生态圈常用组件自己集成了一遍。。途中遇到各种坑,比如版本不匹配导致的一系列问题。。但自己尝试一下是好的!因为手把手的纯命令行的搭建可以让你更了解它们!但是到了企业中是不可能这样滴,因为有诸多的劣势,试问如果一个集群有1000个节点,你怎么去人工搭?如果要全部升级,你又怎么人工处理?还有前面说的,版本不匹配问题各种坑。所以还是要用图形化的,管理性强的工具,比如CM。 Cloudera Manager功能 CM功能强大,主要表现在几个方面: 集群管理:比如添加节点,删除节点 配置管理:之前我们手工配置的那些配置文件比如core-site.xml,hdfs-site.xml,zoo.cfg等等,我们都可以通过图形化界面来配置。 日志管理:之前我们发现bug了,跑不起来了,得手工去看日志,比如,现在通通可以在CM上查看了! 监控:实时监控集群的各种运行状态,cpu,磁盘等的使用率 诊断:对集群出现的问题进行诊断,对出现的问题给出建议解决方案。 整合Hadoop生态圈中的组件:直接一键安装,再也不用担心版本匹配问题了! CM架构 Agent:安装在每台主机上。该代理负责启动和停止的过程,拆包配置,触发装置和监控主机。Server:CM的主节点,服务安装配置启动、角色停止启动、管理Agent。Management Service:预警,监控,警报和报告功能。Database:存储配置和监视信息。Cloudera Repository:软件由Cloudera 管理分布存储库。Clients:是用于与服务器进行交互的接口: Admin Console - 基于Web的用户界面与管理员管理集群和Cloudera管理。 API - 与开发人员创建自定义的Cloudera Manager应用程序的API。 搭建CM平台步骤 搭建CM平台大致可以分为六部曲: 服务器配置:安装操作系统、配置网络、关闭防火墙、同步服务器时钟等。 资源准备:如JDK和Mysql的安装配置,以及下载好CM所需要的资源包。 安装 Cloudera 管理器。 安装 CDH 集群。 安装所需要的Hadoop服务 集群完整性检查,包括 HDFS 、 MapReduce等是否可以正常运行 服务器配置 网络配置 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728 TYPE=Ethernet NAME=eno16777728 DEVICE=eno16777728 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.109.140 NETMASK=255.255.255.0 GATEWAY=192.168.109.2 [root@localhost ~]# vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=cm-master [root@localhost ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.109.141 cm-slave1 192.168.109.142 cm-slave2 192.168.109.140 cm-master 注意不要手贱把前两行删掉!很多软件是直接找localhost。 [root@localhost ~]# vim /etc/resolv.conf search localdomain nameserver 192.168.109.2 nameserver 8.8.8.8 网络配置已经完成,重启网络服务[root@localhost ~]# service network restart 防火墙配置 [root@cm-master ~]# service firewalld statusRedirecting to /bin/systemctl status firewalld.service● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-03-31 01:17:17 PDT; 37min ago Main PID: 766 (firewalld) CGroup: /system.slice/firewalld.service └─766 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid 通过查看防火墙状态,我们看到它是active状态的,得把它禁用了:[root@cm-master ~]# systemctl stop firewalld.service[root@cm-master ~]# systemctl disable firewalld.servicestop只是暂时停用,disable设置开启 Selinux配置 这东西太麻烦了,对很多权限严格控制,导致无法正常运行的情况。[root@cm-master ~]# vim /etc/selinux/config SELINUX=disabled 时钟同步 master机器上配置:[root@cm-master /]# service ntpd startRedirecting to /bin/systemctl start ntpd.service[root@cm-master /]# vim /etc/ntp.conf slave机器上配置:[root@cm-slave1 ~]# ntpdate cm-master31 Mar 20:21:45 ntpdate[3298]: the NTP socket is in use, exiting[root@cm-slave1 ~]# crontab -eno crontab for root - using an empty onecrontab: installing new crontab 0-59/10 * * * * /usr/sbin/ntpdate cm-master 免密登陆 [root@cm-master /]# ssh-keygen[root@cm-master /]# ssh-copy-id 192.168.109.141 [root@cm-master /]# ssh-copy-id 192.168.109.142 资源准备 JDK的安装 卸载掉系统自带的jdk[root@cm-master usr]# rpm -qa | grep jdk java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64[root@cm-master usr]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64[root@cm-master usr]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64[root@cm-master usr]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64[root@cm-master usr]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64 安装jdk由于cm会默认到这个/usr/java/去找jdk,所以请安装到/usr/java/ [root@cm-master usr]#mkdir /usr/java/将下载好的java tar包通过工具传输到此目录下,解压[root@cm-master java]#tar -zxvf jdk-7u80-linux-x64.tar.gz 配置java_home[root@cm-master usr]# vim /etc/profile export JAVA_HOME=/usr/java/jdk1.7.0_80 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar [root@cm-master usr]# source /etc/profile 检测是否成功[root@cm-master usr]# java -version java version "1.7.0_80"Java(TM) SE Runtime Environment (build 1.7.0_80-b15)Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode) Mysql的安装 其实CM默认使用的是PostgreSQL 但是大部分企业还是使用mysql作为存储数据库。而且大部分人都比较熟悉Mysql。所以我们也使用Mysql。 卸载系统自带的数据库 [root@cm-master ~]# rpm -qa | grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64[root@cm-master ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64 解压mysql tar包[root@cm-master local]# tar -xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar 安装依赖包和RPM包[root@cm-master mysql]# yum install numactl libaio [root@cm-master mysql]# rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm[root@cm-master mysql]# rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm[root@cm-master mysql]# rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm[root@cm-master mysql]# rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm[root@cm-master mysql]# rpm -ivh mysql-community-devel-5.7.21-1.el7.x86_64.rpm[root@cm-master mysql]# rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm mysql初始化不用密码就可以登录 [root@cm-master mysql]# /usr/sbin/mysqld --initialize-insecure启动mysql [root@cm-master mysql]# /usr/sbin/mysqld --user=root &[1] 37255进入mysql[root@cm-master mysql]# mysql -uroot进入mysql之后依次执行如下操作(根据自己需求,比如假设你不需要oozie你就不要创建oozie数据库) SET PASSWORD=PASSWORD('123456'); use mysql; update user set Host='%' where User='root' and Host='localhost'; create database cmf DEFAULT CHARACTER SET utf8; grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY '123456'; grant all on cmf.* TO 'cmf'@'localhost' IDENTIFIED BY '123456'; create database amon DEFAULT CHARACTER SET utf8; grant all on amon.* TO 'amon'@'%' IDENTIFIED BY '123456'; grant all on amon.* TO 'amon'@'localhost' IDENTIFIED BY '123456'; create database smon DEFAULT CHARACTER SET utf8; grant all on smon.* TO 'smon'@'%' IDENTIFIED BY '123456'; grant all on smon.* TO 'smon'@'localhost' IDENTIFIED BY '123456'; create database rman DEFAULT CHARACTER SET utf8; grant all on rman.* TO 'rman'@'%' IDENTIFIED BY '123456'; grant all on rman.* TO 'rman'@'localhost' IDENTIFIED BY '123456'; create database hmon DEFAULT CHARACTER SET utf8; grant all on hmon.* TO 'hmon'@'%' IDENTIFIED BY '123456'; grant all on hmon.* TO 'hmon'@'localhost' IDENTIFIED BY '123456'; create database nav DEFAULT CHARACTER SET utf8; grant all on nav.* TO 'nav'@'%' IDENTIFIED BY '123456'; grant all on nav.* TO 'nav'@'localhost' IDENTIFIED BY '123456'; create database hive DEFAULT CHARACTER SET utf8; grant all on hive.* TO 'hive'@'%' IDENTIFIED BY '123456'; grant all on hive.* TO 'hive'@'localhost' IDENTIFIED BY '123456'; create database rmon DEFAULT CHARACTER SET utf8; grant all on rmon.* TO 'rmon'@'%' IDENTIFIED BY '123456'; grant all on rmon.* TO 'rmon'@'localhost' IDENTIFIED BY '123456'; create database oozie DEFAULT CHARACTER SET utf8; grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456'; grant all on oozie.* TO 'oozie'@'localhost' IDENTIFIED BY '123456'; create database hue DEFAULT CHARACTER SET utf8; grant all on hue.* TO 'hue'@'%' IDENTIFIED BY '123456'; grant all on hue.* TO 'hue'@'localhost' IDENTIFIED BY '123456'; flush privileges; 最后别忘了赋权限,不然以后会遇到坑的chmod -R 777 /var/lib/mysql CM的安装 安装Http服务 [root@cm-master mysql]# yum install httpd[root@cm-master mysql]# service httpd start验证http服务是否成功启动 下载CM并安装 cloudera manager包 cm5.8.3-centos7.tar.gz[root@cm-master mysql]# cd /var/www/html/创建和官网资源包一样的目录[root@cm-master html]# mkdir -p cm5/redhat/7/x86_64/将之前下载好的cm包解压到此目录下[root@cm-master x86_64]# cd /var/www/html/cm5/redhat/7/x86_64/[root@cm-master x86_64]# lscm5.8.3-centos7.tar.gz[root@cm-master x86_64]# tar -zxvf cm5.8.3-centos7.tar.gz 验证是否成功安装RPM包[root@cm-master x86_64]# yum install cloudera-manager-daemons-5.8.3-1.cm583.p0.8.el7.x86_64.rpm[root@cm-master x86_64]# yum install cloudera-manager-server-5.8.3-1.cm583.p0.8.el7.x86_64.rpm 配置本地Yum源 如果CentOS服务器处在内网环境中时,经常会有缺少依赖包的情况,要手动安装会很麻烦,要花费很多时间来寻找rpm包,如果搭建本地的yum源,就非常方便了,配置本地yum后,cdh集群在安装时会就从本地down包,不会从官网了。而配置中baseurl就是上一步骤我们配置好的url地址。 vim /etc/yum.repos.d/cloudera-manager.repo [cloudera-manager] name = Cloudera Manager baseurl=http://192.168.109.140/cm5/redhat/7/x86_64/cm/5.8.3/ gpgcheck = 0 enabled=1 配置数据库 [root@cm-master local]# cd /etc/cloudera-scm-server/[root@cm-master cloudera-scm-server]# lsdb.properties log4j.properties[root@cm-master cloudera-scm-server]# vim db.properties com.cloudera.cmf.db.type=mysql # The database host # If a non standard port is needed, use 'hostname:port' com.cloudera.cmf.db.host=192.168.109.140:3306 # The database name com.cloudera.cmf.db.name=cmf # The database user com.cloudera.cmf.db.user=cmf # The database user's password com.cloudera.cmf.db.password=123456 添加Mysql的驱动包到/usr/share/java目录下[root@cm-master x86_64]# cd /usr/share/java将下载好的驱动包放入此目录[root@cm-master java]# lsjline.jar js.jar mysql-connector-java-5.1.42-bin.jar rhino-examples.jar rhino.jar tagsoup.jar[root@cm-master java]# mv mysql-connector-java-5.1.42-bin.jar mysql-connector-java.jar 注意:一定要改名为mysql-connector-java!!! 启动服务 [root@cm-master java]# service cloudera-scm-server start实时查看日志是否有报错[root@cm-master java]# cd /var/log/cloudera-scm-server/[root@cm-master java]# tail -F cloudera-scm-server.log 直到出现7180说明已经成功,我们可以去Web界面访问了,如果看见报error就根据错误提示信息去检查是否哪一步没有做对,如果完全按照我的步骤(目录和文件名都要保持一致)是没有问题的,否则会出现很多坑。 CDH的安装 配置parcels Parcels是CDH安装必备的包。下载Parcels包:parcels-5.8.3或者通过wget如:wget http://archive.cloudera.com/cdh5/parcels/5.8.3/manifest.json [root@cm-master x86_64]# cd /var/www/html/[root@cm-master html]# mkdir parcels[root@cm-master html]# cd parcels/[root@cm-master parcels]# lsCDH-5.8.3-1.cdh5.8.3.p0.2-el7.parcel CDH-5.8.3-1.cdh5.8.3.p0.2-el7.parcel.sha1 manifest.json注意将sha1去掉名称结尾"1",不然cdh在装的时候,会一直认为在下载,是未完成的mv CDH-5.8.3-1.cdh5.8.3.p0.2-el7.parcel.sha1 CDH-5.8.3-1.cdh5.8.3.p0.2-el7.parcel.sha验证是否成功 开始安装CDH集群 [root@cm-master /]# sysctl -w vm.swappiness=0vm.swappiness = 0[root@cm-master /]# echo "vm.swappiness=0" >> /etc/sysctl.conf [root@cm-master /]# echo never > /sys/kernel/mm/transparent_hugepage/defrag[root@cm-master /]# echo never >> /etc/rc.local 安装Hadoop等生态圈组件 集群完整性检查 我们会发现很多报警,其实这都不算事!是因为我们自己的虚拟机,内存不足而导致的,实际生产环境中内存是很大的。我们可以更改一下报警配置,就不会出现这些问题了。 总结 本人第一次按照CM的时候遇到很多坑,而且当时都无解,百度Google也搜不到,网上很多博客,但是都没有说的很详细,也没有把需要注意的问题重点强调,所以我写了这篇博客,非常详细,把可能会遇到的坑重点强调,比如jdk1.7.0_80如果你改成jdk或者别的名字就会报错,再比如mysql的驱动包一定要是mysql-connector-java.jar这个名字,等等。请务必按照我的步骤完全照做,版本、目录、文件名都要保持一致,这样才能杜绝遇到莫名其妙的坑。另外,遇到问题也没有关系!查看日志!!!查看日志!!!查看日志!!!重要的事情说三遍。

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

centos7安装redmine3,并升级redmine1.8到3

redmine是一款项目管理开源工具,可以自定义开发流程,比较方便,redmine升级比较麻烦,我安装了两三天才搞定,特地分享一下 1.安装mysql wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum install mysql-server service mysql start 2.安装依赖包 yum install mysql-devel yum install libcurl-devel yum install ImageMagick-devel 3.安装ruby2.4 gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable --ruby mv /usr/bin/ruby /usr/bin/ruby2.0 ln -s /usr/local/rvm/rubies/ruby-2.4.1/bin/ruby /usr/bin/ 4.安装Redmine3 wget http://www.redmine.org/releases/redmine-3.4.2.tar.gz tar -zxvf redmine-3.4.2.tar.gz -C /opt/ gem install bundler bundle install --with development test rmagick RAILS_ENV=production REDMINE_LANG=zh bundle exec rake redmine:load_default_data 5.修改配置文件 cp database.yml.example database.yml vi database.yml 修改Production production: adapter: mysql2 database: redmine host: localhost username: root password: "123456" encoding: utf8 修改生成sercet.yml 生成密钥 rakesecret 把上面命令生成的密钥写入secrets.yml production: secret_key_base:xxxxxx 6.升级redmine 从redmine1里导出数据库后 然后导入到redmine3的数据库中 mysql --default-character-set=utf8 redmine3 < redmine1.sql #升级数据库 bundle exec rake db:migrate RAILS_ENV=production #升级插件数据库 bundle exec rake redmine:plugins:migrate RAILS_ENV=production #清除老的session bundle exec rake tmp:cache:clear tmp:sessions:clear RAILS_ENV=production 7.配置redmine在nginx里运行 为nginx安装passenger gem install passenger passenger-install-nginx #需要选择nginx的源代码路径,然后程序会自动编译nginx 修改nginx.conf http{ ... passenger_root /usr/local/rvm/gems/ruby-2.4.1/gems/passenger-5.1.10; passenger_ruby /usr/local/rvm/gems/ruby-2.4.1/wrappers/ruby; .. 添加server : server { server_name redmine.abc.com; charset utf8; index index.html index.htm index.php; root /opt/redmine-3.4.2/public/; passenger_enabled on; }

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

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

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。