文档章节

ubuntu搭建hadoop-Ver2.6.0完全分布式环境笔记

mecisery
 mecisery
发布于 2014/12/10 11:30
字数 3529
阅读 1580
收藏 2
点赞 0
评论 0

1 参考博文

http://my.oschina.net/kakakaka/blog/336203#OSC_h2_12

http://blog.csdn.net/greensurfer/article/details/39450369

http://blog.csdn.net/zwto1/article/details/41073545

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html

通常,集群里的一台机器被指定为 NameNode,另一台不同的机器被指定为JobTracker。这些机器是masters。余下的机器即作为DataNode作为TaskTracker。这些机器是slaves\

官方地址:(http://hadoop.apache.org)

2 先决条件

  1. 确保在你集群中的每个节点上都安装了所有必需软件:JDK ,ssh,Hadoop

3 实验环境搭建

3.1 准备工作

操作系统:Ubuntu
部署:Vmvare
在vmvare安装好一台Ubuntu虚拟机后,可以导出或者克隆出另外两台虚拟机。
说明:
保证虚拟机的ip和主机的ip在同一个ip段,这样几个虚拟机和主机之间可以相互通信。
为了保证虚拟机的ip和主机的ip在同一个ip段,虚拟机连接设置为桥连。

准备机器:一台master,若干台slave,配置每台机器的/etc/hosts保证各台机器之间通过机器名可以互访,例如:
192.168.100.205 node1(master)
192.168.100.206 node2 (slave1)
192.168.100.207 node3 (slave2)
主机信息:

机器名 IP地址 作用
Node1 192.168.100.205 NameNode、JobTracker
Node2 192.168.100.205 DataNode、TaskTracker
Node3 192.168.100.205 DataNode、TaskTracker

为保证环境一致先安装好JDK和ssh:

3.2 安装JDK

3.2.1 JDK下载

  本地选择的是 JDK  1.8.0_25下在地址为:http://www.oracle.com/technetwork/java/javase/downloads/index.html

3.2.2 JDK安装

  下载好后放入指定位置(如/usr/java),使用如下命令安装

 tar zxvf jdk-xxx-linux-xxx.tar.gz


3.2.3 JDK配置

  1.进入/etc目录

  2.将JDK配置信息加入profile文件

# The following configuration is for Java
export JAVA_HOME=/usr/java/jdk1.8.0_25
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:JAVA_HOME/lib:$JAVA_HOME/jre/lib

  3.使用下面组合命令使配置生效

chmod +x profile (这条命令需要超级权限)
source profile

  4.使用下面,验证JDK安装

 java -version

  如果安装版本信息显示则安装成功

 5.特殊情况:JDK版本冲突。原操作系统可能已经默认安装JDK版本,这是会发现JDK版本为旧版本。

 解决办法如下:

 (1)执行下属命令

sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_25/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_25/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/java/jdk1.8.0_25/bin/jar 300
sudo update-alternatives --install /usr/bin/javah javah /usr/java/jdk1.8.0_25/bin/javah 300
sudo update-alternatives --install /usr/bin/javap javap /usr/java/jdk1.8.0_25/bin/javap 300 

sudo update-alternatives --config java

 (2)此时系统会列出JDK各版本如下:

有 3 个候选项可用于替换 java (提供 /usr/bin/java)。


  选择       路径                                    优先级  状态
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      自动模式
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      手动模式
  2            /usr/lib/jvm/java-6-sun/jre/bin/java       63        手动模式
  3            /usr/java/jdk1.8.0_25/bin/java             300       手动模式


要维持当前值[*]请按回车键,或者键入选择的编号:3

 (3)选择后执行下面语句后,将会发现版本已切换

java -version

3.3 配置ssh公钥秘钥自动登录

在hadoop集群环境中,nameNode节点,需要能够ssh无密码登录访问dataNode节点

进入SSH目录:

[root@node1 ~]# cd .ssh                 # 如果没有该目录,先执行一次ssh localhost
[root@node1 .ssh]#                      # 一直按回车就可以,生成的密钥保存为.ssh/id_rsa

生成公钥密钥对:

[root@node1 /]# ssh-keygen -t rsa


Generating public/private rsa key pair.    
Enter file in which to save the key (/root/.ssh/id_rsa):    
Enter passphrase (empty for no passphrase):    
Enter same passphrase again:    
Your identification has been saved in /root/.ssh/id_rsa.    
Your public key has been saved in /root/.ssh/id_rsa.pub.    
The key fingerprint is:    
98:3c:31:5c:23:21:73:a0:a0:1f:c6:d3:c3:dc:58:32 root@gifer    
The key's randomart image is:    
+--[ RSA 2048]----+    
|.   E.=.o                  |    
|.o = @ o .              |    
|. * * =                    |    
| o o o =                |    
|  .   = S                  |    
|       .                     |    
|                             |    
|                             |    
|                             |    
+------------------+


看到上面输出,表示密钥生成成功,目录下多出两个文件

私钥文件:id_raa
公钥文件:id_rsa.pub

将公钥文件id_rsa.pub内容放到authorized_keys文件中:

cat id_rsa.pub >> authorized_keys

将公钥文件authorized_keys分发到各dataNode节点:

scp authorized_keys  root@dataNode:/root/.ssh/

验证ssh无密码登录:

[root@node1 .ssh]# ssh root@node2  
Last login: Sun Sep 21 11:38:05 2014 from 192.168.100.205

看到以上输出,表示配置成功!如果还提示需要输出密码访问,表示配置失败!


3.4 安装Hadoop(所有节点相同)

3.4.1 Hadoop下载

   地址为:http://www.apache.org/dyn/closer.cgi/hadoop/common/ 

3.4.2 Hadoop安装

   将下载下来的Hadoop放入指定目录(/usr/hadoop),使用如下命令安装

  tar xzf hadoop-2.6.0.tar.gz

3.4.3 Hadoop配置

   1.linux profile(路径:/etc)配置,如下图

# The following configuration is for hadoop
export HADOOP_INSTALL=/usr/hadoop/hadoop-2.6.0
export PATH=$PATH:$HADOOP_INSTALL/bin

  2.hadoop-env.sh(路径:$HADOOP_HOME/etc/hadoop)中把JAVA_HOME指向JDK安装根目录,如下

# The java implementation to use.
export JAVA_HOME=/usr/java/jdk1.8.0_25

  3.yarn-env.sh(路径:$HADOOP_HOME/etc/hadoop)中把JAVA_HOME指向JDK安装根目录,如下

# some Java parameters export
JAVA_HOME=/usr/java/jdk1.8.0_25

4.打开conf/core-site.xml(路径:$HADOOP_HOME/etc/hadoop)文件,编辑如下:

<configuration>  
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node1:9000</value>
    </property>
</configuration>

1)fs.defaultFS是NameNode的URL。hdfs://主机名:端口/
2)hadoop.tmp.dir :Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过 如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。

5.打开conf/hdfs-site.xml(路径:$HADOOP_HOME/etc/hadoop)文件,编辑如下:

<configuration>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node1:50090</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/hadoop/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/hadoop/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
</configuration>

1) dfs.namenode.name.dir是NameNode持久存储名字空间及事务日志的本地文件系统路径。 当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。
2) dfs.datanode.data.dir是DataNode存放块数据的本地文件系统路径,逗号分割的列表。 当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。
3)dfs.replication是数据需要备份的数量,默认是3,如果此数大于集群的机器数会出错。

注意:此处的name1、name2、data1、data2目录不能预先创建,hadoop格式化时会自动创建,如果预先创建反而会有问题。

6.打开conf/mapred-site.xml(路径:$HADOOP_HOME/etc/hadoop)文件,编辑如下:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>node1:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>node1:19888</value>
    </property>

</configuration>


7.打开conf/yarn-site.xml(路径:$HADOOP_HOME/etc/hadoop)文件,编辑如下:

<configuration>
<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node1</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>node1:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>node1:8088</value>
    </property>
</configuration>


3.5 配置masters和slaves主从结点

配置$HADOOP_HOME/etc/hadoop/slaves文件来设置从结点,注意最好使用主机名,并且保证机器之间通过主机名可以互相访问,每个主机名一行。

root@node1:/usr/hadoop/hadoop-2.6.0/etc/hadoop# vi slaves

输入:
node2
node3

配置结束,把配置好的hadoop文件夹拷贝到其他集群的机器中,并且保证上面的配置对于其他机器而言正确,例如:如果其他机器的Java安装路径不一样,要修改$HADOOP_HOME/etc/hadoop/hadoop-env.sh

$ scp -r /home/hadoop/hadoop-2.6.0 root@node2: /home/hadoop/

 

4 hadoop启动

4.1 格式化一个新的分布式文件系统

先格式化一个新的分布式文件系统

$ cd hadoop-2.6.0
$ bin/hadoop namenode -format

成功情况下系统输出:

12/02/06 00:46:50 INFO namenode.NameNode:STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = ubuntu/127.0.1.1
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 0.20.203.0
STARTUP_MSG: build =http://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-203-r 1099333; compiled by 'oom' on Wed May 4 07:57:50 PDT 2011
************************************************************/

12/02/0600:46:50 INFO namenode.FSNamesystem: fsOwner=root,root
12/02/06 00:46:50 INFO namenode.FSNamesystem:supergroup=supergroup
12/02/06 00:46:50 INFO namenode.FSNamesystem:isPermissionEnabled=true
12/02/06 00:46:50 INFO common.Storage: Imagefile of size 94 saved in 0 seconds.
12/02/06 00:46:50 INFO common.Storage: Storagedirectory /opt/hadoop/hadoopfs/name1 has been successfully formatted.
12/02/06 00:46:50 INFO common.Storage: Imagefile of size 94 saved in 0 seconds.
12/02/06 00:46:50 INFO common.Storage: Storagedirectory /opt/hadoop/hadoopfs/name2 has been successfully formatted.
12/02/06 00:46:50 INFO namenode.NameNode:SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode atv-jiwan-ubuntu-0/127.0.0.1
************************************************************/


 查看输出保证分布式文件系统格式化成功
执行完后可以到master机器上看到/usr/hadoop/dfs/name目录。在主节点master上面启动hadoop,主节点会启动所有从节点的hadoop。

4.2 启动所有节点

$ sbin/start-all.sh (同时启动HDFS和Map/Reduce)
系统输出:

starting namenode, logging to /usr/local/hadoop/logs/hadoop-hadoop-namenode-ubuntu.out
node2: starting datanode, loggingto /usr/local/hadoop/logs/hadoop-hadoop-datanode-ubuntu.out
node3: starting datanode, loggingto /usr/local/hadoop/logs/hadoop-hadoop-datanode-ubuntu.out
node1: starting secondarynamenode,logging to /usr/local/hadoop/logs/hadoop-hadoop-secondarynamenode-ubuntu.out
starting jobtracker, logging to/usr/local/hadoop/logs/hadoop-hadoop-jobtracker-ubuntu.out
node2: starting tasktracker,logging to /usr/local/hadoop/logs/hadoop-hadoop-tasktracker-ubuntu.out
node3: starting tasktracker,logging to /usr/local/hadoop/logs/hadoop-hadoop-tasktracker-ubuntu.out
As you can see in slave's output above, it will automatically format it's storage directory(specified by dfs.data.dir) if it is not formattedalready. It will also create the directory if it does not exist yet.

行完后可以到slave(node1,node2)机器上看到/usr/hadoop/dfs/data目录。


4.3 关闭所有节点

从主节点master关闭hadoop,主节点会关闭所有从节点的hadoop。

$ sbin/stop-all.sh

Hadoop守护进程的日志写入到 ${HADOOP_LOG_DIR} 目录 (默认是 ${HADOOP_HOME}/logs).

${HADOOP_HOME}就是安装路径.

5 测试

1)jps查看NameNode节点和DataNode节点服务

NameNode节点(node1)已开启如下守护进程表示正常:

DataNode(node2、node3)节点开启如下守护进程表示正常:

2)浏览NameNode和JobTracker的网络接口,它们的地址默认为:

NameNode - http://node1:50070/

ResourceManager - http://node1:8088/

NodeManager - http://node2:8042/

3) 使用netstat –nat查看端口:

NameNode节点(node1)启动端口如下:

DataNode(node2、node3)节点启动端口如下:

备注:tcp6表示ipv6网络,Linux若禁止ipv6后将默认变更tcp无影响。

4)执行WordCount实例:

a、首先创建所需的几个目录

bin/hdfs dfs -mkdir /user
bin/hdfs dfs -mkdir /user/hadoop

b、将etc/hadoop中的文件作为输入文件复制到分布式文件系统中

bin/hdfs dfs -put etc/hadoop /user/hadoop/input

 通过查看DataNode的状态(占用大小有改变),输入文件确实复制到了DataNode中

c、接着就可以运行MapReduce作业了

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep /user/hadoop/input /user/hadoop/output 'dfs[a-z.]+'

运行时的信息如下所示,显示Job的进度。可能会比较慢,但如果迟迟没有进度,比如10分钟都没看到进度,那不妨重启Hadoop再试试。

同样可以通过Web界面查看任务进度 http://192.168.100.205:8088/cluster

在 Web 界面点击 “Tracking UI” 这一列的 History,可能会提示网页无法打开,遇到这种情况需要手动开启 jobhistory server,开启之后刷新页面再点击就可以打开了。

sbin/mr-jobhistory-daemon.sh start historyserver

注:执行上述语句后,jps查看JobHistoryServer进程已经开启,通过web(http://192.168.100.205:19888/jobhistory)访问JobHistoryServer没有问题。但是在上面ResourceManagerWeb界面中点击 “Tracking UI” 这一列的 History,依旧提示网页无法打开。

发现URL:http://node1:19888/jobhistory/job/job_1418203576437_0001/jobhistory/job/job_1418203576437_0001,使用的是机器名node1来访问。因为我用的是hadoop集群外部机器web访问。需要修改该机器(win7系统)的hosts文件,修改方法如下:

进入C:\Windows\System32\drivers\etc,修改hosts文件。文件中追加如下内容(注意后面需要一个回车换行):

192.168.100.205        node1
192.168.100.206        node2
192.168.100.207        node3
 

通过这些修改若上面ResourceManagerWeb界面中点击 “Tracking UI” 这一列的 History,依旧提示网页无法打开。则重启下hadoop(守护进程),重新执行测试程序后,History网页就可以打开了。

d、执行完毕后的输出结果:

bin/hdfs dfs -cat /user/hadoop/output/*

e)补充
Q: bin/hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep /user/hadoop/input /user/hadoop/output 'dfs[a-z.]+'什么意思啊?
A: bin/hadoop jar(使用hadoop运行jar包)hadoop-mapreduce-examples-2.6.0.jar(jar包的名字) grep (要使用的类,后边的是参数)input output 'dfs[a-z.]+'
整个就是运行hadoop示例程序中的grep,对应的hdfs上的输入目录为input、输出目录为output。
Q: 什么是grep?
A: A map/reduce program that counts the matches of a regex in the input.

6 HDFS常用操作

hadoop dfs -ls 列出HDFS下的文件
hadoop dfs -ls in 列出HDFS下某个文档中的文件
hadoop dfs -put test1.txt test 上传文件到指定目录并且重新命名,只有所有的DataNode都接收完数据才算成功
hadoop dfs -get in getin 从HDFS获取文件并且重新命名为getin,同put一样可操作文件也可操作目录
hadoop dfs -rmr out 删除指定文件从HDFS上
hadoop dfs -cat in/* 查看HDFS上in目录的内容
hadoop dfsadmin -report 查看HDFS的基本统计信息,结果如下
hadoop dfsadmin -safemode leave 退出安全模式
hadoop dfsadmin -safemode enter 进入安全模式

7 添加节点

可扩展性是HDFS的一个重要特性:

1)首先在新加的节点上安装hadoop

2)然后修改etc/hosts文件,加入 DataNode主机名

3)然后在NameNode节点上修改$HADOOP_HOME/conf/slaves文件,加入新加节点主机名

4)建立到新加节点无密码的SSH连接

5)NameNode节点上运行启动命令:start-all.sh

然后可以通过http://(Masternode的主机名):50070查看新添加的DataNode

8 负载均衡

start-balancer.sh,可以使DataNode节点上选择策略重新平衡DataNode上的数据块的分布

9 结束语

遇到问题时,先查看logs,很有帮助,查看log方法如下:

cat /usr/hadoop/hadoop-2.6.0/logs/*.log

如果日志在更新,如何实时查看 tail -f /usr/hadoop/hadoop-2.6.0/logs/*.log

还可以使用 watch -d -n 1 cat /usr/hadoop/hadoop-2.6.0/logs/*.log

-d表示高亮不同的地方,-n表示多少秒刷新一次。

该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。







© 著作权归作者所有

共有 人打赏支持
mecisery
粉丝 1
博文 43
码字总数 23707
作品 0
海淀
hadoop文件路径问题

使用ubuntu虚拟机进行数据处理,搭好hadoop完全分布式环境之后,将要处理的2个文件上传到hadoop集群中,不是有eclipse,直接使用shell脚本去调用class文件进行处理数据,其中有2个fromcsv.c...

颠覆 ⋅ 2014/12/02 ⋅ 0

hadoop(集群)完全分布式环境搭建

一,环境 主节点一台: ubuntu desktop 16.04 zhoujun 172.16.12.1 从节点(slave)两台:ubuntu server 16.04 hadoop2 172.16.12.131 hadoop3 172.16.12.129 二, 搭建前准备 1, 为每台服务...

m0_37138008 ⋅ 2017/12/18 ⋅ 0

Hive-2.1.0 执行hql报错(select count(*) from test2;)怎么解决???

(Ubuntu-16.04 64位)Hadoop-2.8.0 HA 4个节点 完全分布式环境: 在hive2 上执行sql语句:select * from test2; 正常运行: 但执行 select count(*) from test2;是就报错了, 日志文件:...

驛路梨花醉美 ⋅ 2017/05/25 ⋅ 0

【Spark亚太研究院-构建Spark集群-配置Hadoop伪分布模式并运行Wordcount(2)

执行文件拷贝操作 拷贝后的“input”文件夹的内容如下所示: 和我们的hadoop安装目录下的“conf”文件的内容是一样的。 现在,在我们刚刚构建的伪分布式模式下运行wordcount程序: 运行完成后...

Spark亚太研究院 ⋅ 2014/08/27 ⋅ 0

ubuntu从头开始搭建hadoop伪分布式环境

13年学习过一段时间的hadoop,但是工作中用到的地方比较少,有些生疏,加上现在hadoop版本也已经比较新了,所以空闲时间想继续学习一下,找到这篇文章,从头开始搭建一个hadoop环境,转过来备...

ToSun ⋅ 2015/09/20 ⋅ 0

[虚拟机VM][Ubuntu12.04]搭建Hadoop完全分布式环境(三)(终篇)

接前两篇,这是最终篇,前面的准备工作都完成了之后,我们开始安装和部署 安装和配置Hadoop hadoop-2.2.0x64.tar.gz 链接:http://pan.baidu.com/s/1boSGvrp 密码:559o 集群中每台机器的配置...

javaer ⋅ 2017/07/25 ⋅ 0

大数据Hadoop需要了解哪些内容?

一、Hadoop环境搭建 1. Hadoop生态环境介绍 2. Hadoop云计算中的位置和关系 3. 国内外Hadoop应用案例介绍 4. Hadoop概念、版本、历史 5. Hadoop核心组成介绍及hdfs、mapreduce体系结构 6. H...

mo默瑶 ⋅ 05/05 ⋅ 0

Hadoop科普文—常见的45个问题解答

1.Hadoop集群可以运行的3个模式? 单机(本地)模式 伪分布式模式 全分布式模式 2. 单机(本地)模式中的注意点? 在单机模式(standalone)中不会存在守护进程,所有东西都运行在一个JVM上。...

技术mix呢 ⋅ 2017/12/06 ⋅ 0

Hadoop(2015/8/19最新发行版2.7.1): 搭建一个单节点集群。官方文档翻译

根据官方文档边操作边翻译,如有谬误欢迎拍砖指正!大家一起学习。也欢迎推荐更多有用学习文档给我,谢谢! Hadoop: 搭建一个单节点集群。 Hadoop: 搭建一个单节点集群。 目的 先决条件 下载...

duty ⋅ 2015/08/19 ⋅ 0

64位linux下支持lzo的Hadoop 2.2.0分布式集群配置细节摘要

初学者搭建Hadoop环境容易陷入细节漩涡中,并不是说细节不重要,在程序世界中,细节恰恰是决定成败的关键。然而,如果能在深入细节之前对整体有全面、逻辑性的认识,那么遇到细节时也能准确定...

Iuranus ⋅ 2014/06/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 51分钟前 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 1

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部