CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-8CDH5安装和集群配置

Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了。 

准备文件

从 http://archive.cloudera.com/cdh5/parcels/中下载CDH5.14.0的相关文件 

把CDH5需要的安装文件放到主节点上,新建目录为
/opt/cloudera/parcel-repo
把我们之前下载的三个文件放到这个目录下
CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel
CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha1
manifest.json
需要注意的是
CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha1需要重命名成CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha
安装过程一路执行下去没有任何错误,只是到下图这一步中启动Hive和Oozie时会报错:

原因就是,mysql连接驱动没有放到Hive和Oozie的相应目录中。下文有详解,这里不再重复。

其他都是一路绿灯通过,安装过程相当顺畅。

安装parcel

访问CM的主页
http://192.168.43.101:7180/cmf/login
用户名和密码均为admin。
登录之后同意条款。
右下角点击继续。
选择版本然后右下角继续。
点击继续,各个Agent节点正常启动后,可以在当前管理的主机列表中看到对应的节点。选择要安装的节点,点继续。

 

接下来,出现以下包名,说明本地Parcel包配置无误,直接点继续就可以了。

 

如果此处发现不到parcel包,就重启所有节点的agent服务,和master的server服务,然后重新尝试。并且确认CDH版本小于或者等于CM的版本

 

 

本地通过Parcel安装过程与本地通过Package安装过程完全一致,不同的是两者的本地源的配置。

区别如下:

Package本地源:软件包是.rpm格式的,数量通常较多,下载的时候比较麻烦。通过”createrepo .”的命令创建源,并要放到存放源文件主机的web服务器的根目录下,详见创建本地yum软件源,为本地Package安装Cloudera Manager、Cloudera Hadoop及Impala做准备

Parcel本地源:软件包是以.parcel结尾,相当于压缩包格式的,一个系统版本对应一个,下载的时候方便。如centos 6.x使用的CDH版本为CDH-X.X.X-1.cdhX.X.X.p0.22-el6.parcel,而centos 5.x使用的CDH版本为CDH-X.X.X-1.cdhX.X.X.p0.22-el5.parcel。

 

这些文件放好之后,CM会获取这个包,并出现在主机->包裹的页面。出现的快慢跟你设置的包的刷新频率有关,默认是1小时。也可以重启CM服务和agent服务识别。

可以在管理页面的属性标签下的包裹种类里修改。

 

 

 

等待parcel安装

正常情况下 内网网速速好的话 10分钟左右激活完毕,最多不超过30分钟 如果卡住了 建议看看日志

安装过程中有什么问题 可以用

/opt/cm-5.14.0/etc/init.d/cloudera-scm-agent status
/opt/cm-5.14.0/etc/init.d/cloudera-scm-server status

查看服务器客户端状态

 

也可以通过

/var/log/cloudera-scm-server/cloudera-scm-server.log

/var/log/cloudera-scm-agent/cloudera-scm-agent.log

查看日志

如果上面的路径找不到则在

日志文件夹"/opt/cm-5.14.0/log"查看日志,里面包含server和agent的log,使用命令如下:

tail -f /opt/cm-5.14.0/log/cloudera-scm-server/cloudera-scm-server.log

tail -f /opt/cm-5.14.0/log/cloudera-scm-agent/cloudera-scm-agent.log

 

例如我这里NTP因为没有外网,所以会报错,不过有些错误不影响的话不需要管。

 

 

 

成功激活后继续右下角点击继续

 

主机检查

会进入自动检查主机(耗时2分钟左右)然后给出报告,包括需要修改的部分和组件的版本

 

 

 

 

解决警告

这里有2个警告需要解决一下,至于版本里的不可用不适用不需要管。

警告一

Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响


解决方法

每台受影响的主机运行

echo 10 > /proc/sys/vm/swappiness 即可解决。

 

 

 

警告二
已启用透明大页面压缩,可能会导致重大性能问题。请运行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始脚本中,以便在系统重启时予以设置。以下主机将受到影响

 

解决方法

每台受影响的主机运行命令

echo never > /sys/kernel/mm/transparent_hugepage/defrag

并且

vim   /etc/rc.local  

加入echo never > /sys/kernel/mm/transparent_hugepage/defrag这条命令。

 

然后点击重新运行进行重新检查

 

 

全部绿勾了,然后点击右下角的完成。

选择安装哪些组件服务--这里根据需求选择即可。

 

 

 

选择组件服务

右下角点击继续,然后配置角色。一般情况下保持默认就可以了(Cloudera Manager会根据机器的配置自动进行配置,如果需要特殊调整,自行进行设置就可以了)。

我这里使用默认配置,所以直接点击继续就可以了。

 

配置数据库

然后配置数据库

这里需要输入自己的mysql的对应数据库名称和用户名以及密码。

我们之前在mysql中新建的数据名分布对应填入 然后点击测试连接。

hive   root  123456

oozie  root  123456

hue    root  123456

 

如果测试连接全部是Successful,则点击右下角的继续。

 

 

 

 

可能遇到的问题---hue--unable to verify

 

 

查看日志后发现原因是

 

Error loading MySQLdb module: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory

 

 

这个是因为cm的服务端是用java编写的,cm的客户端是python编写的,这里测试连接时是用python去连接数据库。但是CentOS系统本身会缺少一些python连接数据库需要的关联库。

 

解决方法

在mysql的安装目录找到系统缺少的这个包,关联到系统即可。

 

根据最后提示,应该是找不着一个交libmysqlclient_r.so.16的文件,于是到mysql安装目录里找到这个文件并且做一个软连接到/usr/lib

如果是按照我们之前的离线安装mysql步骤安装的话 默认的mysql安装目录是/var/lib/mysql/ 

ln -s /var/lib/mysql/lib/libmysqlclient_r.so.16   /usr/lib64/libmysqlclient_r.so.16

但是/var/lib/mysql/ 目录下没有找到lib目录

使用

find / -name libmysqlclient_r.so.16

whereis   libmysqlclient_r.so.16

也找不到libmysqlclient_r.so.16。

我们在之前解压mysql文件的目录里发现了除了

MySQL-client-5.6.34-1.linux_glibc2.5.x86_64.rpm
MySQL-server-5.6.34-1.linux_glibc2.5.x86_64.rpm 

这两个安装文件之外另外的rpm包。

我们把其他几个关联rpm包也安装一下。

rpm -ivh   MySQL-shared-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ivh   MySQL-devel-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ivh   MySQL-shared-compat-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ivh   MySQL-embedded-5.6.34-1.linux_glibc2.5.x86_64.rpm   
rpm -ivh   MySQL-test-5.6.34-1.linux_glibc2.5.x86_64.rpm

安装完成后再查找

whereis   libmysqlclient_r.so.16

发现已经有了libmysqlclient_r.so.16而且已经在/usr/lib64路径下了。

再次点击测试连接,成功。

 

 

 

审核更改

审核更改中列出相关目录和配置,如果有需要的话就修改,无特殊需求使用默认的即可,点击右下角的继续。

另外如果需要自己设定文件夹,一定要先mkdir文件夹,否侧hdfs会无法启动,并且报错文件夹不存在,并确保访问权限。

 

 

 

集群启动

集群会首次运行所有的组件,这过程中可能会有一些错误,不要担心,解决重试即可。下面会依次给出我遇到的情况供大家参考,基本上都是权限或者驱动问题。

正确首次启动后如下图(是不是很激动^^)

右下角继续,离成功安装一步之遥。

 

 

 

可能遇到的问题---hdfs启动失败--创建/tmp目录失败

Directory /tmp does not currently exist

Can't open /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp/supervisor.conf: Permission denied.

报错信息

Mon Nov 28 14:20:59 CST 2016
JAVA_HOME=/usr/java/latest/
using /usr/java/latest/ as JAVA_HOME
using 5 as CDH_VERSION
using /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp as CONF_DIR
using  as SECURE_USER
using  as SECURE_GROUP
unlimited
Directory /tmp does not currently exist.

+ HADOOP_CLASSPATH=/opt/cm-5.8.2/share/cmf/lib/plugins/event-publish-5.8.2-shaded.jar:/opt/cm-5.8.2/share/cmf/lib/plugins/tt-instrumentation-5.8.2.jar:/opt/cm-5.8.2/share/cmf/lib/plugins/navigator/cdh57/audit-plugin-cdh57-2.7.2-shaded.jar
+ set -x
+ replace_conf_dir
+ find /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp -type f '!' -path '/opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp/logs/*' '!' -name '*.log' '!' -name '*.keytab' '!' -name '*jceks' -exec perl -pi -e 's#{{CMF_CONF_DIR}}#/opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp#g' '{}' ';'
Can't open /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp/supervisor.conf: Permission denied.
+ make_scripts_executable
+ find /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp -regex '.*\.pyshpy‖sh$' -exec chmod u+x '{}' ';'
+ '[' DATANODE_MAX_LOCKED_MEMORY '!=' '' ']'
+ ulimit -l
+ export HADOOP_IDENT_STRING=hdfs
+ HADOOP_IDENT_STRING=hdfs
+ '[' -n '' ']'
+ acquire_kerberos_tgt hdfs.keytab
+ '[' -z hdfs.keytab ']'
+ '[' -n '' ']'
+ '[' validate-writable-empty-dirs = mkdir ']'
+ '[' file-operation = mkdir ']'
+ '[' bootstrap = mkdir ']'
+ '[' failover = mkdir ']'
+ '[' transition-to-active = mkdir ']'
+ '[' initializeSharedEdits = mkdir ']'
+ '[' initialize-znode = mkdir ']'
+ '[' format-namenode = mkdir ']'
+ '[' monitor-decommission = mkdir ']'
+ '[' jnSyncWait = mkdir ']'
+ '[' nnRpcWait = mkdir ']'
+ '[' -safemode = supergroup -a get = 1777 ']'
+ '[' monitor-upgrade = mkdir ']'
+ '[' finalize-upgrade = mkdir ']'
+ '[' rolling-upgrade-prepare = mkdir ']'
+ '[' rolling-upgrade-finalize = mkdir ']'
+ '[' nnDnLiveWait = mkdir ']'
+ '[' refresh-datanode = mkdir ']'
+ '[' mkdir = mkdir ']'
+ '[' 5 -ne 5 ']'
+ DIR=/tmp
+ USER=hdfs
+ GROUP=supergroup
+ PERMS=1777
+ RET=0
+ /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hadoop-hdfs/bin/hdfs --config /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp dfs -test -d /tmp


原因是hdfs用户或者cm用户对这个文件没有操作权限。我们进入这个目录查看

cd    /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp/

ls -l

发现确实是这个文件只有root才能读写,那么我们应该设置一下权限,因为cm是用hdfs用户在操作的。

使用命令

cd    /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp/

chmod 666 supervisor.conf

ls  -l

然后点击右下角的重试。

 

 

可能遇到的问题--启动 Key-Value Store Indexer, YARN (MR2 Included)---Create Job History Dir 失败

 

启动 Key-Value Store Indexer, YARN (MR2 Included)
 仅完成 0/2 个步骤。首个失败:在服务 Key-Value Store Indexer 上执行命令 Start 失败
仅完成 0/2 个步骤。首个失败:在服务 YARN (MR2 Included) 上执行命令 Create Job History Dir 失败
使用用户 mapred 组 hadoop 和权限 1777 创建 DFS 目录 /tmp/logs
 主机运行状况变成不良时,主机 cm0 (id=3) 上的进程 dfs-create-dir (id=72) 被标记为失败
Mon Nov 28 14:53:18 CST 2016
JAVA_HOME=/usr/java/latest/
using /usr/java/latest/ as JAVA_HOME
using 5 as CDH_VERSION
using /opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir as CONF_DIR
using  as SECURE_USER
using  as SECURE_GROUP
unlimited
Directory /tmp/logs does not currently exist.
Created directory /tmp/logs.
Changed ownership of /tmp/logs to mapred:hadoop.
Can't open /opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir/supervisor.conf: Permission denied.

 

 

+ HADOOP_CLASSPATH=/opt/cm-5.8.2/share/cmf/lib/plugins/event-publish-5.8.2-shaded.jar:/opt/cm-5.8.2/share/cmf/lib/plugins/tt-instrumentation-5.8.2.jar:/opt/cm-5.8.2/share/cmf/lib/plugins/navigator/cdh57/audit-plugin-cdh57-2.7.2-shaded.jar

 

+ set -x+ replace_conf_dir+ find /opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir -type f '!' -path '/opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir/logs/*' '!' -name '*.log' '!' -name '*.keytab' '!' -name '*jceks' -exec perl -pi -e 's#{{CMF_CONF_DIR}}#/opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir#g' '{}' ';'Can't open /opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir/supervisor.conf: Permission denied.+ make_scripts_executable+ find /opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir -regex '.*\.pyshpy‖sh$' -exec chmod u+x '{}' ';'+ '[' DATANODE_MAX_LOCKED_MEMORY '!=' '' ']'+ ulimit -l+ export HADOOP_IDENT_STRING=hdfs+ HADOOP_IDENT_STRING=hdfs+ '[' -n '' ']'+ acquire_kerberos_tgt hdfs.keytab+ '[' -z hdfs.keytab ']'+ '[' -n '' ']'+ '[' validate-writable-empty-dirs = mkdir ']'

点击stderr看了详细的报错发现仍然是权限问题,解决方法跟之前一样,进入这个路径后更改下权限即可。

 

 

 

 

可能遇到的问题--Solr, HBase--Command Start is not currently available for execution

这种情况界面上没有详细的信息但是在日志中可以看到是超时了,这种情况下确保局域网网络好的情况下并且master服务器服务良好的情况下直接重试。

 

 

 

 

可能遇到问题---启动hive---Failed to Create Hive Metastore Database Tables

 

++ false++ exec /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hadoop/bin/hadoop jar /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hive/lib/hive-cli-1.1.0-cdh5.8.0.jar org.apache.hive.beeline.HiveSchemaTool -verbose -dbType mysql -initSchemaJava HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driverorg.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driverat org.apache.hive.beeline.HiveSchemaHelper.getConnectionToMetastore(HiveSchemaHelper.java:79)at org.apache.hive.beeline.HiveSchemaTool.getConnectionToMetastore(HiveSchemaTool.java:113)at org.apache.hive.beeline.HiveSchemaTool.testConnectionToMetastore(HiveSchemaTool.java:159)at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:257)at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:243)at org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java:473)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.hadoop.util.RunJar.run(RunJar.java:221)at org.apache.hadoop.util.RunJar.main(RunJar.java:136)Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat java.net.URLClassLoader.findClass(URLClassLoader.java:381)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:264)at org.apache.hive.beeline.HiveSchemaHelper.getConnectionToMetastore(HiveSchemaHelper.java:70)... 11 more*** schemaTool failed ***

 

 

 

这是hive的lib包中缺少mysql的驱动导致的。我们之前已经把mysql驱动包mysql-connector-java-*-bin.jar放到主节点cm0的/opt中,现在复制一份到/opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hive/lib(这里CDH-5.8.0-1.cdh5.8.0.p0.42要跟自己的版本对应)

 

使用命令如下

cd /opt/mysql-connector-java-5.1.40cp mysql-connector-java-5.1.40-bin.jar   /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hive/lib把mysql-connector-java-5.1.40-bin.jar放到/opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hive/lib中。 cd  /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hive/libls|more确认已经放进去了。

然后点击右下角的重试。

 

 

 

 

 

 

 

 

可能遇到的问题---启动 Oozie, Impala---Create Oozie Database Tables 失败

 

Error: Could not connect to the database: java.lang.ClassNotFoundException: com.mysql.jdbc.DriverStack trace for the error was (for debug purposes):--------------------------------------java.lang.Exception: Could not connect to the database: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat org.apache.oozie.tools.OozieDBCLI.validateConnection(OozieDBCLI.java:905)at org.apache.oozie.tools.OozieDBCLI.createDB(OozieDBCLI.java:185)at org.apache.oozie.tools.OozieDBCLI.run(OozieDBCLI.java:129)at org.apache.oozie.tools.OozieDBCLI.main(OozieDBCLI.java:80)Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat java.net.URLClassLoader.findClass(URLClassLoader.java:381)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:264)at org.apache.oozie.tools.OozieDBCLI.createConnection(OozieDBCLI.java:894)at org.apache.oozie.tools.OozieDBCLI.validateConnection(OozieDBCLI.java:901)... 3 more--------------------------------------

+ '[' 0 = 1 ']'+ '[' CLOUDERA_MYSQL_CONNECTOR_JAR '!=' '' ']'+ eval 'JAR_LOCATION=$CLOUDERA_MYSQL_CONNECTOR_JAR'++ JAR_LOCATION=/usr/share/java/mysql-connector-java.jar+ echo 'Copying JDBC jar from /usr/share/java/mysql-connector-java.jar to /var/lib/oozie'+ cp /usr/share/java/mysql-connector-java.jar /var/lib/oozie/cp: cannot stat `/usr/share/java/mysql-connector-java.jar': No such file or directory+ OOZIECPPATH=

 

跟hive启动的问题一样,缺少驱动。

 

 

Oozie的lib包中缺少mysql的驱动导致的。我们之前已经把mysql驱动包mysql-connector-java-*-bin.jar放到主节点cm0的/opt中,现在复制一份到/opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/Oozie/lib(这里CDH-5.8.0-1.cdh5.8.0.p0.42要跟自己的版本对应)

 

再复制一份到/var/lib/oozie/

 

使用命令如下把mysql-connector-java-5.1.40-bin.jar放到/opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/oozie/lib中。 

 

 

cd /opt/mysql-connector-java-5.1.40

cp mysql-connector-java-5.1.40-bin.jar   /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/oozie/lib

 

cp mysql-connector-java-5.1.40-bin.jar   /var/lib/oozie

cd  /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/oozie/lib

ls|more

确认已经放进去了。

 

cd /var/lib/oozie

 

 

ls|more

 

点击右下角重试。

 

 

 

 

 

 

 

 

 

 

 

 

安装完成

 

恭喜您,安装完成。

点击完成后会进入监控界面。如果有红色的话,还是需要我们去解决的。。。

 

 主机报错是没有启动ntpd服务或者是cm客户端没启用。

每台机器都执行如下命令启动ntpd并设置为开机启动

[root@cdh1 ~]# systemctl start ntpd
[root@cdh1 ~]# systemctl enable ntpd

如果还不行,就打开主机的抑制功能,如下图:

 

然后主机报错的就排查了。

其他服务错误,启动一下试试,如果重启不行就按照下面文章的方法排查错误。

 

具体排查的情况可以参考文章或者自己查资料。

hadoop基础----hadoop实战(九)-----hadoop管理工具---CDH的错误排查(持续更新)

全部解决后就全绿了。

 

 

 

 

 

备份安装配置完好的系统

到这里我们的安装就算完成了。为了以后的修复方便,我们可以对分别对linux系统进行备份。虚拟机的就很方便,直接复制压缩虚拟机文件即可。

 

参考文章:https://www.cnblogs.com/felixzh/p/9082344.html

转载于:https://www.cnblogs.com/qqflying/p/10697737.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/387887.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node.js安装部署测试

(一)安装配置: 1:从nodejs.org下载需要的版本 2:直接安装,默认设置 ,默认安装在c:\program files\nodejs下。 3:更改npm安装模块的默认目录 (默认目录在安装目录下的node…

数据库不停机导数据方案_如何计算数据停机成本

数据库不停机导数据方案In addition to wasted time and sleepless nights, data quality issues lead to compliance risks, lost revenue to the tune of several million dollars per year, and erosion of trust — but what does bad data really cost your company? I’…

luogu4159 迷路 (矩阵加速)

考虑如果只有距离为1的边,那我用在时间i到达某个点的状态数矩阵 乘上转移矩阵(就是边的邻接矩阵),就能得到i1时间的 然后又考虑到边权只有1~9,那可以把边拆成只有距离为1的 具体做法是一个点拆成9个然后串联 1 #includ…

社群系统ThinkSNS+ V2.2-V2.3升级教程

WARNING本升级指南仅适用于 2.2 版本升级至 2.3 版本,如果你并非 2.2 版本,请查看其他升级指南,Plus 程序不允许跨版本升级!#更新代码预计耗时: 2 小时这是你自我操作的步骤,确认将你的 2.2 版本代码升级到…

BZOJ4881 线段游戏(二分图+树状数组/动态规划+线段树)

相当于将线段划分成两个集合使集合内线段不相交,并且可以发现线段相交等价于逆序对。也即要将原序列划分成两个单增序列。由dilworth定理,如果存在长度>3的单减子序列,无解,可以先判掉。 这个时候有两种显然的暴力。 将点集划分…

activemq部署安装

一、架构和技术介绍 1、简介 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现 2、activemq的特性 1. 多种语言和协议编写客户端。语言: Java, C, C, C#, Ruby, Perl, Python, PHP。应用协议: …

python初学者_面向初学者的20种重要的Python技巧

python初学者Python is among the most widely used market programming languages in the world. This is because of a variety of driving factors:Python是世界上使用最广泛的市场编程语言之一。 这是由于多种驱动因素: It’s simple to understand. 很容易理解…

主串与模式串的匹配

主串与模式串的匹配 (1)BF算法: BF算法比较简单直观,其匹配原理是主串S.ch[i]和模式串T.ch[j]比较,若相等,则i和j分别指示串中的下一个位置,继续比较后续字符,若不相等,从…

什么是 DDoS 攻击?

欢迎访问网易云社区,了解更多网易技术产品运营经验。 全称Distributed Denial of Service,中文意思为“分布式拒绝服务”,就是利用大量合法的分布式服务器对目标发送请求,从而导致正常合法用户无法获得服务。通俗点讲就是利用网络…

nginx 并发过十万

一般来说nginx 配置文件中对优化比较有作用的为以下几项: worker_processes 8; nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数。 worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每…

贝叶斯网络建模

I am feeling sick. Fever. Cough. Stuffy nose. And it’s wintertime. Do I have the flu? Likely. Plus I have muscle pain. More likely.我感到恶心。 发热。 咳嗽。 鼻塞。 现在是冬天。 我有流感吗? 可能吧 另外我有肌肉疼痛。 更倾向于。 Bayesian networ…

长春南关区净月大街附近都有哪些课后班?

长春南关区净月大街附近都有哪些课后班?在学校的教育不能满足广大学生的需求的时候,一对一辅导、文化课辅导、高考辅导等越来越多的家长和孩子的选择。相对于学校的大课教育,一对一辅导有着自身独特的优势,一对一辅导有着学校教学…

dev中文本框等获取焦点事件

<ClientSideEvents GotFocus"GotFocus" /> editContract.SetFocus()//设置文本框等的焦点 function GotFocus(s, e) { window.top.DLG.show(700, 600, "PrePayment/ContractSelect.aspx", "选择", null ); }…

数据科学家数据分析师_使您的分析师和数据科学家在数据处理方面保持一致

数据科学家数据分析师According to a recent survey conducted by Dimensional Research, only 50 percent of data analysts’ time is actually spent analyzing data. What’s the other half spent on? Data cleanup — that tedious and repetitive work that must be do…

神经网络使用情景

神经网络使用情景 人脸&#xff0f;图像识别语音搜索文本到语音&#xff08;转录&#xff09;垃圾邮件筛选&#xff08;异常情况探测&#xff09;欺诈探测推荐系统&#xff08;客户关系管理、广告技术、避免用户流失&#xff09;回归分析 为何选择Deeplearning4j&#xff1f; …

BZOJ4890 Tjoi2017城市

显然删掉的边肯定是直径上的边。考虑枚举删哪一条。然后考虑怎么连。显然新边应该满足其两端点在各自树中作为根能使树深度最小。只要线性求出这个东西就可以了&#xff0c;这与求树的重心的过程类似。 #include<iostream> #include<cstdio> #include<cmath>…

【国际专场】laravel多用户平台(SaaS, 如淘宝多用户商城)的搭建策略

想不想用Laravel来搭建一个多用户、或多租户平台&#xff1f;比如像淘宝那样的多商户平台呢&#xff1f;听上去很复杂&#xff0c;不是吗&#xff1f;怎么能一个程序&#xff0c;给那么多的机构用户来用呢&#xff1f;如何协调管理它们呢&#xff1f;数据库怎么搭建呢&#xff…

GitHub常用命令及使用

GitHub使用介绍 摘要&#xff1a; 常用命令&#xff1a; git init 新建一个空的仓库git status 查看状态git add . 添加文件git commit -m 注释 提交添加的文件并备注说明git remote add origin gitgithub.com:jinzhaogit/git.git 连接远程仓库git push -u origin master 将本地…

神经网络的类型

KNN DNN SVM DL BP DBN RBF CNN RNN ANN 概述 本文主要介绍了当前常用的神经网络&#xff0c;这些神经网络主要有哪些用途&#xff0c;以及各种神经网络的优点和局限性。 1 BP神经网络 BP (Back Propagation)神经网络是一种神经网络学习算法。其由输入层、中间层、输出层组成的…

python db2查询_如何将DB2查询转换为python脚本

python db2查询Many companies are running common data analytics tasks using python scripts. They are asking employees to convert scripts that may currently exist in SAS or other toolsets to python. One step of this process is being able to pull in the same …