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…

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

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

activemq部署安装

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

主串与模式串的匹配

主串与模式串的匹配 (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; 为每…

神经网络使用情景

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

GitHub常用命令及使用

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

deeplearning4j

deeplearning4j 是基于java的深度学习库,当然,它有许多特点,但暂时还没学那么深入,所以就不做介绍了 需要学习dl4j,无从下手,就想着先看看官网的examples,于是,下载了examples程序&a…

推理编程_答案集编程的知识表示和推理

推理编程Read about the difference between declarative and imperative programming and learn from code examples (Answer Set Programming, Python and C).了解声明式和命令式编程之间的区别,并从代码示例(答案集编程,Python和C)中学习。 介绍 (In…

python安装包

由于Google、YouTube等大型公司的推广,Python编程语言越来越受欢迎,很多编程爱好者,也将Python做为了首先的编程语言。 今天我们就来讲一下,学习的第一步,安装Python IDLE编辑器,也它的调试和使用。 第一步…

104 权限 sudo 解压缩

主要内容:https://www.cnblogs.com/pyyu/articles/9355477.html 1 查看系统版本信息: #查看系统版本信息 cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) #查看内核版本号 uname -r 3.10.0-693.el7.x86_64 #查看系统多少位 uname -m x86_64 #查看内核所有信息…

Cloud Native 介绍

为什么80%的码农都做不了架构师?>>> 背景 Cloud Native表面看起来比较容易理解,但是细思好像又有些模糊不清:Cloud Native和Cloud关系是啥?它用来解决什么问题?它是一个新技术还是一个新的方法&#xff1f…

餐厅数据分析报告_如何使用数据科学选择理想的餐厅设计场所

餐厅数据分析报告空间数据科学 (Spatial Data Science) Designing any product requires a lot of analysis and research. It is also true for designing any building. Before we begin to design any building, we collect information about the location where we are de…

PCB genesis 大孔扩孔(不用G84命令)实现方法

PCB钻孔时,当钻刀>6.3mm时,超出钻孔范围,钻孔工序是没有这么大的钻刀,当这种情况,工程CAM会都采用G84命令用小孔扩孔的方式制作, 在这里介绍一种如果不用G84命令,用程序实现将大孔生成小孔钻孔达到扩孔的目的。 一.我们先了解一下G84命令扩孔 孔尺寸大小 孔密度 连一篇文章有…

图像识别中的深度学习

来源:《中国计算机学会通讯》第8期《专题》 作者:王晓刚 深度学习发展历史 深度学习是近十年来人工智能领域取得的重要突破。它在语音识别、自然语言处理、计算机视觉、图像与视频分析、多媒体等诸多领域的应用取得了巨大成功。现有的深度学习模型属于神…

多个css样式合并到一个“目录”css文件中

执行访问jsp后发现没有效果 同样的代码,在html中效果对比如下: 具体原因:不清楚,暂时记着~~~在jsp中不支持import这种css样式的引用 转载于:https://www.cnblogs.com/mangwusuozhi/p/10050108.html

方差,协方差 、统计学的基本概念

一、统计学的基本概念 统计学里最基本的概念就是样本的均值、方差、标准差。首先,我们给定一个含有n个样本的集合,下面给出这些概念的公式描述: 均值: 标准差: 方差: 均值描述的是样本集合的中间点&#xf…

Python 主成分分析PCA

Python 主成分分析PCA 主成分分析&#xff08;PCA&#xff09;是一种基于变量协方差矩阵对数据进行压缩降维、去噪的有效方法&#xff0c;PCA的思想是将n维特征映射到k维上&#xff08;k<n&#xff09;&#xff0c;这k维特征称为主元&#xff0c;是旧特征的线性组合&#xf…

小程序 国际化_在国际化您的应用程序时忘记的一件事

小程序 国际化The hidden bugs waiting to be found by your international users您的国际用户正在等待发现的隐藏错误 While internationalizing our applications, we focus on the things we can see: text, tool-tips, error messages, and the like. But, hidden in our …