蓝鲸第一步安装完成以后,开始第二部,安装产品,数据初始化。
./bk_install bk_products
安装完成之后在初始化数据库阶段会出错,因为mysql不允许第三方服务器(此安装服务器)连接,需要在数据库中添加此服务器公网ip地址允许访问。
首先会出现如下警告:
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
Created /gse/config/etc/operserver/all/pingcfg
Connecting to 218.92.219.41:2181
log4j:WARN No appenders could be found for logger (org.apache.zookeeper.ZooKeeper).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
蓝鲸论坛给出的答案是警告可以忽略
下面会出现这个错误:
initdata for open_paas
[192.168.240.3]20180223-111455 278 init database for open_paas from sql file:
[192.168.240.3]20180223-111455 283 found sql script: /data/src/open_paas/support-files/sql/init_open_paas.sql
[192.168.240.3]20180223-111455 286 load sql script failed.
[192.168.240.3]20180223-111455 287 init database for open_paas failed: ERROR 2003 (HY000): Can't connect to MySQL server on '218.92.219.82' (111)
连接数据库失败, 默认的mysql 是没有密码的,直接进入:
mysql -u root -p
use mysql;
show tables;
select user,host,password from user;
# 安装服务器的内网、外网ip全部添加进去
GRANT ALL ON *.* to root@'122.11.61.70' IDENTIFIED BY 'bk@321';
GRANT ALL ON *.* to root@'192.168.240.3' IDENTIFIED BY 'bk@321';
FLUSH PRIVILEGES;
exit;
修改完成之后还是不允许连接,同样的错误。
在MySQL服务器中 /etc/my.cnf
注释掉:
# bind-address = 192.168.111.12
重启mysql: ./bkcec stop mysql
./bkcec start mysql
可以连接使用啦,继续产品安装过程,初始化数据库。
然后又遇见:
Starting job..................................................[Failed]
按照如下方法检查:
1. /etc/resolv.conf 中是否有 nameserver 127.0.0.1,若文件中有 option 选项中有 rotate 字样,需要去掉"rotate"
2. ping license.service.consul能解析到ip,如果不能检查consul进程是否存在(license可以改为别的服务器
3. 关闭nscd服务
4. 曰志,登录job所在服务器:/data/bkce/logs/job
在最后一步发现job没有启动起来是因为证书不正确(这个错误其实不是证书不正确,解析不到ip):
[INFO][localhost-startStop-1][20180223-11:34:58.044][LicenseChecker.java:97]:eeeeeee
java.net.UnknownHostException: license.service.consul: Name or service not known
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
at java.net.InetAddress.getAllByName(InetAddress.java:1192)
at java.net.InetAddress.getAllByName(InetAddress.java:1126)
at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:259)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:159)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:220)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:164)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:139)
at com.tencent.bk.service.impl.LicenseChecker.checkLicense(LicenseChecker.java:84)
at com.tencent.filter.WebListener.contextInitialized(WebListener.java:22)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4743)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
[ERROR][localhost-startStop-1][20180223-11:34:58.046][WebListener.java:24]:invalid license, system exited
错误:检查所有机器hosts里面有没有如下(x.x.x.x为安装对应服务的机器ip):
这些内部域名使用consul进行解析,无需添加到hosts,如果ping不通,请检查consul或者重启consul
x.x.x.x job.service.consul
x.x.x.x gse.service.consul
x.x.x.x license.service.consul
x.x.x.x paas.service.consul
没有就添加进去,重新启动job
安装结果:安装失败
结论:还是需要三台centos7服务器,因为consul bootstrap 模式需要选举,(官网安装说明)要保证: kafka, es, zk 的每个组件的总数量为3,没有consul组件系统安装不成功