昨天小猿我把Ubuntu Server64位上的 zookeeper換成了最新版本的,結果啟動的時候出錯;之前zookeeper-3.3.6是沒有任何問題的,換成了zookeeper3.5出現了下面的錯誤:
root@host8:/usr/solrcould/service1/zookeeper-3.5.0-alpha# sh bin/zkServer.sh start
JMX enabled by default
bin/zkServer.sh: 95: /usr/solrcould/service1/zookeeper-3.5.0-alpha/bin/zkEnv.sh: Syntax error: "(" unexpected (expecting "fi")
還以為是zookeeper的問題結果瞎忙活了半天,百度了一下才知道原來是ubuntu 設置的問題(注:有一種方法是設置zookeeper的系統環境變量,不過博主需要一台服務器安裝多個zookeeper,配置環境變量還是不怎么實用,要是裝10個就得分別設置10個。。)
具體結局方法如下:
執行以下命令
root@host8:~# cd /bin/
root@host8:/bin# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Dec 23 22:30 /bin/sh -> dash(默認)
root@host8:/bin# ln -sf bash /bin/sh
root@host8:/bin# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Dec 23 22:37 /bin/sh -> bash
root@host8:/bin# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Dec 23 22:30 /bin/sh -> dash(默認)
root@host8:/bin# ln -sf bash /bin/sh
root@host8:/bin# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Dec 23 22:37 /bin/sh -> bash

重新啟動zookeeper,問題得以解決...