基于RedHat6.5的Greenplum环境配置
安装说明
1.环境说明
操作系统:Red hat 6.5 64 位
2.配置规范
2.1基本说明
greenplum安装介质:greenplum-db-4.3.12.0-rhel5-x86_64.zip
安装目录规划:/opt/gp
3.主机配置规范
3.1 系统设置(以下操作在root用户下进行)
关闭防火墙:
永久性生效
关闭:chkconfig iptables off
开启:chkconfig
iptables on
即时生效,重启后失效
开启:service iptables start
关闭:service iptables stop
修改主机名:
永久生效:vi /etc/sysconfig/network
hostname=gp1
vi /etc/hosts
192.168.230.130 gp1
reboot
临时生效:hostname gp1
(1)
sysctl.conf的设置(所有节点)
在master主机与segment主机上分别设置参数执行如下命令
# vi
/etc/sysctl.conf
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 512000 100 2048
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.default.accept_source_route =
0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_local_port_range = 1025 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2
上面的配置文件保存后,可以执行 sysctl -p 。以此可以避免重启电脑操作。
(2)
limits.conf的设置(所有节点)
在master主机与segment主机上分别设置参数执行如下命令
# vi
/etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
对于RedHat
6.x和Centos6.x的机子,在/etc/security/limits.d/90-nproc.conf的参数会覆盖上述文件参数。1024修改为131072
(3) 配置磁盘访问I/O调度策略(所有节点)
cat /sys/block/sda/queue/scheduler
#echo
deadline > /sys/block/sda/queue/scheduler
echo deadline > /sys/block/sr0/queue/scheduler
(4)配置/etc/hosts(所有节点)
# vi /etc/hosts
172.16.3.147 gpmaster
172.16.3.148 gpseg1
172.16.3.149 gpseg2
(5)设置磁盘预读块值(所有节点)
# /sbin/blockdev
--getra /dev/sda
默认256,每个磁盘设备文件应具有预读(blockdev)值16384
# fdisk
–l 查看分区
# /sbin/blockdev
--setra 16384 /dev/sda
# /sbin/blockdev
--setra 16384 /dev/sda1
# /sbin/blockdev
--setra 16384 /dev/sda2
(6)永久关闭SELINUX
# vi
/etc/selinux/config
SELINUX=disabled
chkconfig
iptables off
(7)禁用THP,THP会降低Greenplum数据库的性能(选)
RHEL 6.0或更高版本默认启用THP,THP会降低Greenplum数据库的性能。在RHEL 6.x上禁用THP的一种方法是添加参数transparent_hugepage
= never
# Vi
/boot/grub/grub.conf
kernel
/vmlinuz-2.6.18-274.3.1.el5 ro root=LABEL=/
elevator=deadline
crashkernel=128M@16M quiet console=tty1
console=ttyS1,115200
panic=30 transparent_hugepage=never
initrd
/initrd-2.6.18-274.3.1.el5.img
(8)重启,命令:reboot(重启虚拟机)
验证
[root@localhost ~]# getenforce
Disabled
[root@localhost ~]# cat /sys/kernel/mm/*transparent_hugepage/enabled
禁用成功显示
always madvise [never]
4 安装
4.1 Master(Only)上安装Greenplum(root用户下)
(1) 解压介质
# unzip greenplum-db-4.3.12.0-sles11-x86_64.zip
(2) 安装GP /home/fm/opt
# ./greenplum-db-4.3.xx-PLATFORM.bin
确认license,输入yes
输入安装目录:/opt/gp
确认安装路径,yes
(3) 获取gp的环境变量
# source /opt/gp/greenplum_path.sh
# vi /opt/gpssh_all –存放所有节点
# vi /opt/gpssh_segonly –存放子节点
在从机上更改用户权限
chown gpadmin:gpadmin /opt
运行gpseginstall工具:既能产生公信,又能创建用户和用户入组,也能分发
# gpseginstall -f/opt/gpssh_all -u gpadmin -p gpadmin
/usr/local/greenplum-db-4.3.6.2/greenplum_path.sh
更改文件权限
chown gpadmin:gpadmin /opt/gpssh_*
(4) 创建安装目录
切换gpadmin用户,并获得环境变量
su -gpadmin
source /opt/gp/greenplum_path.sh
添加环境变量(所有主机)
# vi .bashrc
添加 source /opt/gp/greenplum_path.sh
export MASTER_DATA_DIRECTORY= /data/master/gpseg-1
# source .bashrc
# gpssh -f /opt/gpssh_all -e ls -l $GPHOME
gpssh实用程序来查看是否可以在没有密码提示的情况下登录到所有主机,并确认所有主机上都安装了Greenplum软件,如果系统提示您输入密码,请运行以下命令以重新执行ssh密钥交换
# gpssh-exkeys -f gpssh_all
主节点 (root用户)
创建master数据存储区域:
# mkdir -p /data/master ——主机节点的master文件夹,
# chown -R gpadmin:gpadmin /data
Standby:
# mkdir -p /data/master ——standby节点
# chown -R gpadmin:gpadmin /data
子节点(在fm用户创建目录)
# gpssh -u root -f /opt/gpssh_segonly -e ‘mkdir -p /home/gpadmin/data1/primary’
# gpssh -u root -f /opt/gpssh_segonly -e ‘mkdir -p /home/gpadmin/data1/mirror’
# gpssh -u root -f /opt/gpssh_segonly -e ‘mkdir -p /home/gpadmin/data2/primary’
# gpssh -u root -f /opt/gpssh_segonly -e ‘mkdir -p /home/gpadmin/data2/mirror’
(5) 时间同步(root用户)
主机
# vi /etc/ntp.conf
server 127.0.0.1(意思是主机与本地电脑时间同步)
从机
# vi /etc/ntp.conf
server mdw prefer
server seg2
# gpssh -u root -f gpssh_all -v -e 'ntpd'
用root用户 :
查看ntp服务
# /sbin/service ntpd status
开启ntp服务
# /sbin/service ntpd start
(6) 验证操作(普通用户)
# gpcheck -f /opt/gpssh_all –m mdw
(7) 初始化用gpadmin用户下
# cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpinitsystem_config
# chmod 775 gpinitsystem_config
# vi /home/gpadmin/gpinitsystem_config
ARRAY_NAME="EMC Greenplum DW"
SEG_PREFIX=gpseg (前缀)
PORT_BASE=40000
declare -a DATA_DIRECTORY=(/data1/primary /data1/primary
/data1/primary /data2/primary /data2/primary /data2/primary)
MASTER_HOSTNAME=mdw (主机名)
MASTER_DIRECTORY=/data/master (主机目录)
MASTER_PORT=5432
TRUSTED SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
MIRROR_PORT_BASE=50000
REPLICATION_PORT_BASE=41000
MIRROR_REPLICATION_PORT_BASE=51000
declare -a MIRROR_DATA_DIRECTORY=(/data1/mirror /data2/mirror )
(8) 初始化数据库
# gpinitsystem -c gpinitsystem_config -h /opt/gpssh_segonly
(9) 创建启用standby
# gpstate -s(查询gp是否启动)
# gpinitstandby -s seg(主机名称)
PS:此版本的GP添加standby不需要关闭gp,可在线操作
# gpinitstandby -r (删除Standby)
(10) 使用命令
gpstart
常用的启动参数有以下几个参数:
-a,该模式不需要在启动过程中输入Y进行确认,将直接启动数据库。
-m,只启动Master节点,不启动Segment节点,通常在维护的时候使用。
-y,只启动Master的primary节点,不启动standby节点
gpstop
常用的参数如下:
-a,不需要输入Y确认是否关闭,将直接关闭数据库。
-m,只关闭Master节点,一般用于维护模式
-r,重启数据库。
-u,加载参数文件,使修改的参数生效。pg_hba.conf配置文件和Master上postgresql.conf、pg_hba.conf文件中运行时参数的更改,活动会话将会在它们重新连接到数据库时使用这些更新。很多服务器配置参数需要完全重启系统(gpstop -r)才能激活
-M,设置关闭数据库的级别,有三种级别,fast、immediate和smart。
Immediate smart 这是默认的关闭级别,所有连接的会话会收到关闭警告,不允许新链接访问数据库。
gpstop –M immediate,强制关闭数据库,这种方式是不一致的关闭模式,不建议使用。
gpstop –M fast 快速模式,停止所有连接将中断并且回滚
gpstate:
-s,详细信息。
-m,Mirror信息。
-f,Master的Standby信息。
-e,Segment的Mirror信息。
-i,版本信息。
5 Greenplum监控安装
参考文件:http://blog.csdn.net/sunziyue/article/details/50787250
5.1基本说明
greenplum安装介质:greenplum-cc-web-3.3.3-LINUX-x86_64.zip
安装目录规划:/opt/greenplum-cc-web
5.2安装GPCC(仅master用户)
(1) 运行gpperfmon_install命令(gpadmin用户)
# gpperfmon_install --enable --password gpadmin --port 5432
PS:此处的password是gpadmin的
可以看到命令执行后,会创建gpmon角色,以及设置了密码(这里的密码将会和gpadmin一样),这个用户可以登录到数据库里面,也可用于登录页面。
# gpstop -r
(2) 安装监控
# ./greenplum-cc-web-3.3.3-LINUX-x86_64.bin
(3) 执行分发到其他节点
# source /opt/greenplum-cc-web-3.3.3/gpcc_path.sh
# gpccinstall -f gpssh_segonly
(4) 添加信任ip
# gpstop
# vi /data/master/gpseg-1/pg_hba.conf
添加
host gpperfmon gpmon ::1/128 md5
# gpstart
(5) 配置参数
# gpcmdr --setup
# gpcmdr --start gpcc
(6) 使用浏览器访问http://192.168.229.151:28080
用户名:gpmon
密码:gpadmin
如果节点挂掉了,使用下面的命令重启:
#gprecoverseg (–r)
新添加mirror:
https://yq.aliyun.com/articles/186
新添加mirror(新增主机):
https://yq.aliyun.com/articles/177
最详尽的安装教程(包括镜像、standby和gpcc):
http://blog.csdn.net/mchdba/article/details/71036925
问题收集:
问题1:
输入 gpseginstall -f all_hosts -u gpadmin -p gpadmin命令后报错
20181029:01:47:30:002106 gpseginstall:mdw:cjy513203427-[ERROR]:---user option 'gpadmin' does not equal non-root user running this utility 'cjy513203427'
解决:
su root
source /etc/profile
source greenplum_path.sh
问题2:
认证失败1
The authenticity of host 'sdw1 (192.168.94.133)' can't be established.
ECDSA key fingerprint is SHA256:Q7g1fcB462x1yr+xDwwSTIL0oNskMi6D3tVvtpnyxbM.
ECDSA key fingerprint is MD5:4a:7f:43:0e:a2:c7:23:cb:e8:75:08:7d:e5:cb:0c:a8.
Are you sure you want to continue connecting (yes/no)? The authenticity of host 'sdw2 (192.168.94.134)' can't be established.
ECDSA key fingerprint is SHA256:Hr7Ff9oBRf0avLL/ykGG8Szc+jVbIT1S4x5Rktz+Leo.
ECDSA key fingerprint is MD5:c6:c0:7d:e0:90:22:dc:d9:7c:37:86:76:d5:aa:f3:e6.
Are you sure you want to continue connecting (yes/no)? ^[[Cye^H^H^H^H^H^H^H^He^H^H^H^H^Hyes
Please type 'yes' or 'no': yes
yes
20181029:03:15:31:005134 gpseginstall:mdw:root-[ERROR]:-command failed: 'scp /usr/local/greenplum-db-4.3.6.2.tar.gz sdw1:/usr/local': Warning: Permanently added 'sdw1,192.168.94.133' (ECDSA) to the list of known hosts.
Authentication failed.
lost connection
20181029:03:15:31:005134 gpseginstall:mdw:root-[ERROR]:-command failed: 'scp /usr/local/greenplum-db-4.3.6.2.tar.gz sdw2:/usr/local': Could not create directory '/root/.ssh'.
Warning: Permanently added 'sdw2,192.168.94.134' (ECDSA) to the list of known hosts.
Authentication failed.
lost connection
解决:
解决方法和问题3一样
问题3:
认证失败2(root用户下)
[ERROR] unable to login to sdw1
hint: use gpssh-exkeys to setup public-key authentication between hosts
[ERROR] unable to login to sdw2
hint: use gpssh-exkeys to setup public-key authentication between hosts
[ERROR] unable to login to mdw
hint: use gpssh-exkeys to setup public-key authentication between hosts
解决:
参考:https://blog.csdn.net/qq_16018407/article/details/52982228
生成key
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:
SHA256:+NPchElOC4Fd/IM5nCBNwNc+GuHQ5olEYJazNT99N/Q root@mdw
The key's randomart image is:
+---[RSA ]----+
| +=oBo+. |
| oo O O.o . |
| = @.Bo= . . |
| . ..B=X++ o E|
| . S+=+.o . |
| ..o o |
| o o . |
| . |
| |
+----[SHA256]-----+
ssh各个服务器测试
ssh mdw
ssh sdw1
ssh sdw2
此时再交换key,再次强调,root用户下
gpssh-exkeys -f /usr/local/greenplum-db/all_hosts
运行结果
[STEP of ] create local ID and authorize on local host [STEP of ] keyscan all hosts and update known_hosts file [STEP of ] authorize current user on remote hosts
... send to mdw
***
*** Enter password for mdw:
... send to sdw1 [STEP of ] determine common authentication file content [STEP of ] copy authentication files to all remote hosts
... finished key exchange with mdw
... finished key exchange with sdw1 [INFO] completed successfully
验证是否可以免密
gpssh -f /usr/local/greenplum-db/all_hosts -e ls -l $GPHOME
成功
[ mdw] ls -l /usr/local/greenplum-db/.
[ mdw] total
[ mdw] -rw-r--r--. gpadmin gpadmin Oct : all_hosts
[ mdw] drwxr-xr-x. gpadmin gpadmin Nov bin
[ mdw] drwxr-xr-x. gpadmin gpadmin Nov demo
[ mdw] drwxr-xr-x. gpadmin gpadmin Nov docs
[ mdw] drwxr-xr-x. gpadmin gpadmin Nov etc
[ mdw] drwxr-xr-x. gpadmin gpadmin Nov ext
[ mdw] -rw-r--r--. gpadmin gpadmin Nov GPDB-LICENSE.txt
[ mdw] -rw-r--r--. gpadmin gpadmin Oct : greenplum_path.sh
[ mdw] drwxr-xr-x. gpadmin gpadmin Nov include
[ mdw] drwxr-xr-x. gpadmin gpadmin Nov lib
[ mdw] -rw-r--r--. gpadmin gpadmin Nov LICENSE.thirdparty
[ mdw] drwxr-xr-x. gpadmin gpadmin Nov sbin
[ mdw] drwxr-xr-x. gpadmin gpadmin Nov share
[sdw1] ls -l /usr/local/greenplum-db/.
[sdw1] total
[sdw1] -rw-r--r--. gpadmin gpadmin Oct : all_hosts
[sdw1] drwxr-xr-x. gpadmin gpadmin Nov bin
[sdw1] drwxr-xr-x. gpadmin gpadmin Nov demo
[sdw1] drwxr-xr-x. gpadmin gpadmin Nov docs
[sdw1] drwxr-xr-x. gpadmin gpadmin Nov etc
[sdw1] drwxr-xr-x. gpadmin gpadmin Nov ext
[sdw1] -rw-r--r--. gpadmin gpadmin Nov GPDB-LICENSE.txt
[sdw1] -rw-r--r--. gpadmin gpadmin Oct : greenplum_path.sh
[sdw1] drwxr-xr-x. gpadmin gpadmin Nov include
[sdw1] drwxr-xr-x. gpadmin gpadmin Nov lib
[sdw1] -rw-r--r--. gpadmin gpadmin Nov LICENSE.thirdparty
[sdw1] drwxr-xr-x. gpadmin gpadmin Nov sbin
[sdw1] drwxr-xr-x. gpadmin gpadmin Nov share
[sdw2] ls -l /usr/local/greenplum-db/.
[sdw2] total
[sdw2] -rw-r--r--. gpadmin gpadmin Oct : all_hosts
[sdw2] drwxr-xr-x. gpadmin gpadmin Nov bin
[sdw2] drwxr-xr-x. gpadmin gpadmin Nov demo
[sdw2] drwxr-xr-x. gpadmin gpadmin Nov docs
[sdw2] drwxr-xr-x. gpadmin gpadmin Nov etc
[sdw2] drwxr-xr-x. gpadmin gpadmin Nov ext
[sdw2] -rw-r--r--. gpadmin gpadmin Nov GPDB-LICENSE.txt
[sdw2] -rw-r--r--. gpadmin gpadmin Oct : greenplum_path.sh
[sdw2] drwxr-xr-x. gpadmin gpadmin Nov include
[sdw2] drwxr-xr-x. gpadmin gpadmin Nov lib
[sdw2] -rw-r--r--. gpadmin gpadmin Nov LICENSE.thirdparty
[sdw2] drwxr-xr-x. gpadmin gpadmin Nov sbin
[sdw2] drwxr-xr-x. gpadmin gpadmin Nov share
问题4:
重启服务器之后报错
解决:
转到根目录下,(root目录下)
vi .bashrc,添加
source /opt/gp/greenplum_path.sh
export MASTER_DATA_DIRECTORY= /data/master/gpseg-1
在source .bashrc
如果还报错,在root和gpadmin用户下都进行
source /usr/local/greenplum-db/greenplum_path.sh
问题5:
如何进入数据库
解决:
进入默认数据库template1
psql -d template1
退出:\q
问题6:
psql -d template1 -U dylan ,切换用户进入数据库的时候报错
no pg_hba.conf entry for host "[local]", user "dylan", database "template1", SSL off
Previous connection kept
解决:
vi /data/primary/gpseg-1/pg_hba.conf
追加
host all dylan 192.168.94.132/ trust
重启服务:gpstop后再gpstart
\c template1 dylan
如若不行,则退出psql,用dylan用户进入数据库template1,并指定host
psql -d template1 -U dylan -h 192.168.94.132
问题7:
交换key失败
gpssh-exkeys -f /usr/local/greenplum-db/all_hosts
[STEP of ] create local ID and authorize on local host
... /home/gpadmin/.ssh/id_rsa file exists ... key generation skipped
[ERROR mdw] authentication check failed:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
[ERROR] cannot establish ssh access into the local host
解决:
一定要在root下交换key。否则日后连接子服务器没有权限rwx文件
gpssh-exkeys -f /usr/local/greenplum-db/all_hosts
结果如下
[STEP 1 of 5] create local ID and authorize on local host [STEP 2 of 5] keyscan all hosts and update known_hosts file [STEP 3 of 5] authorize current user on remote hosts
... send to sdw1
***
*** Enter password for sdw1:
[ERROR sdw1] bad password
***
*** Enter password for sdw1:
... send to sdw2 [STEP 4 of 5] determine common authentication file content [STEP 5 of 5] copy authentication files to all remote hosts
... finished key exchange with sdw1
... finished key exchange with sdw2 [INFO] completed successfully
问题8:
使用gpssh创建文件总是在当前用户目录下(root)
解决:
gpssh中mkdir和rm命令的路径是绝对路径,指明路径就可以,用"/"
问题9:
20181114:10:56:50:gpinitsystem:mdw:gpadmin-[FATAL]:-Cannot write to /data1/primary on sdw1 Script Exiting!
解决:
安装edit rpm包
[root@mdw edit]# rpm -ivh ed-1.9-.el7.x86_64.rpm
warning: ed-1.9-.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [%]
Updating / installing...
:ed-1.9-.el7 ################################# [%]
基于RedHat6.5的Greenplum环境配置的更多相关文章
- 基于Pycharm的Python开发环境配置
基于Pycharm的Python开发环境配置 编辑于2020-11-18 Python安装 双击桌面的Python3.x安装包. 勾选Add to path. 方便起见,选择Install now.下 ...
- 基于webpack4的react开发环境配置
一.基础配置 1.init项目 mkdir react-webpack4-cook cd react-webpack4-cook mkdir src mkdir dist npm init -y 复制 ...
- C、Shell、Perl基于Tomcat开发CGI程序环境配置
基于Tomcat7.0版本号配置CGI开发环境,步聚例如以下: 以我的Tomcat7安装文件夹为例:TOMCA_HOME = /Users/yangxin/Documents/devToos/java ...
- 代码编辑器[0] -> Vim/gVim[0] -> 基于 Python 的 gVim 环境配置(Windows)
环境配置 / Environment Setup 基于Python开发的 gVim 环境配置(Windows) 使用方式参考 Vim 的使用. 1 基于vundle进行配置 Vim有多个扩展管理器, ...
- maven工程的多环境配置方案(profile)
前言: 写一篇水文来打发下时间吧^_^. 在应用开发中, 总会遇到开发/测试/预发布/线上环境, 其环境不同, 其具体的配置项也有所不同, 因此如何快速的切换各个环境配置, 进行打包配置, 成了一个小 ...
- 基于Eclipse的Hadoop应用开发环境配置
基于Eclipse的Hadoop应用开发环境配置 我的开发环境: 操作系统ubuntu11.10 单机模式 Hadoop版本:hadoop-0.20.1 Eclipse版本:eclipse-java- ...
- 【转存】阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3
阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3 Posted on 2016年2月10日 by 学院君 1.Apache 配置 —————————————————– vi / ...
- 基于DRL和TORCS的自动驾驶仿真系统——之环境配置
基于DRL和TORCS的自动驾驶仿真系统 --之环境配置 玩TORCS和DRL差不多有一整年了,开始的摸爬滚打都是不断碰壁过来的,近来在参与CMU的DRL10703课程学习和翻译志愿者工作,也将自己以 ...
- 配置基于Vim的Python开发环境
配置基于Vim的Python开发环境插件 Vundle YouCompleteMe NERDTree Vim-Jinja2-Syntax set nocompatible " be iMpr ...
随机推荐
- TFS文件编码检查机制和修改(Team Foundation Server 2013)
TFS的版本控制系统会自动按照下面的标准检测代码文件的编码格式: 1. 首先,如果代码文件包含了BOM部分,则使用BOM中制定的编码格式打开文档 什么是BOM (Byte order mark)? h ...
- java提示找不到或无法加载主类
背景 默许jdk的配置大家都没有问题,执行java,javac无报错,但今天在尝试在本地起来kafka的时候,提示java 找不到或无法加载主类,然后日志中提示 Files 找不到或无法加载主类:C: ...
- docker容器日志清理
1.先查看磁盘空间 df -h 2.找到容器的containerId-json.log文件,并清理(治标不治本,log迟早还会大的) 查看各个容器的log文件大小 find /var/lib/dock ...
- ES6学习之let声明变量的学习
1.let和var类似, (1)let与var不同的点:let没有预编译,变量提升这个过程,let声明的变量只能在当前作用域内访问到(一个{}可以看做是一个作用域),在全局var声明的变量属于wind ...
- Asp.net Core IIS上安装部署及502.5错误解决
总结: 安装Microsoft Visual C++ 2015 Redistributable(https://www.microsoft.com/en-us/download/details.asp ...
- 486. Predict the Winner
Given an array of scores that are non-negative integers. Player 1 picks one of the numbers from eith ...
- 【OCP-12c】CUUG 071题库考试原题及答案解析(15)
15.(6-24)choose the best answerExamine the structure of the MEMBERS table:You want to display detail ...
- elasticsearch-5.1.1 安装的问题
elasticsearch 5.1 安装过程中遇到了一些问题做一些记录. 问题一:警告提示 [2016-12-20T22:37:28,543][INFO ][o.e.b.BootstrapCheck ...
- mxonline实战15,用户中心:我的课程, 我的收藏,我的消息,登出和点击数以及收藏数
对应github地址:第15天 一. 我的课程 1. 继承usercenter-base页面 2. 编写url, view
- 耗时 2 年,用 8.5 万块乐高积木最牛复刻 Apple Park
简评:国外大佬复刻 Apple Park,看了一下细节,确实厉害!只有你想不到,没有乐高拼不起来的,有没有乐高大神挑战一下? 苹果公园以各种各样的方式鼓舞人心,让人感兴趣.从建筑.可持续性和成本,到像 ...