Mac 开发环境搭建
Mac 下安装 brew、Redis、zookeeper 过程中踩过的坑。
Mac serria 偏好设置找到 打开任意来源 命令
$ sudo spctl --master-disable
重建 MAC 的右键打开方式列表
Mac 上选中一个文件点击右键会有一个“Open With”菜单,如果你装过多个虚拟机等,这个菜单会出现很多 windows 系统的程序,从而使这个菜单十分混乱,可以使用以下命令行来清除所有的重复项。
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user;killall Finder;echo “Open With has been rebuilt, Finder will relaunch“
安装 brew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install \"
安装下载工具
brew install wget
安装 Redis
$ wget http://download.redis.io/releases/redis-3.0.7.tar.gz
$ tar xzf redis-3.0.7.tar.gz
$ cd redis-3.0.7
$ make
启动 redis
$ src/redis-server redis.conf
连接上以后,关闭 redis
$ src/redis-cli
$ 127.0.0.1:6379> SHUTDOWN
测试 redis
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
# Mac OS 命令行下使用 SublimeText 打开文本文件
打开用户配置文件
vim ~/.bash_profile
添加如下 alias
alias subl="'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl'"
alias ll='ls -al'
如果不添加别名,也可以选择将路径添加到环境变量下。这里的路径根据实际情况可能会有所不同。
wq 保存后回到命令行执行以下命令使其生效:
source ~/.bash_profile
命令行使用,这里我们假设在命令行用 SublimeText 打开.bash_profile,则执行如下:
subl ~/.bash_profile
安装 zookeeper
$brew install zookeeper
启动服务
$ sudo zkServer start
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Starting zookeeper ... STARTED
在 MAC 下需要用 sudo 命令来启动此服务,否则会失败。
查看 zookeeper 运行及状态
$ zkServer status
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Mode: standalone
$zkCli
Connecting to localhost:2181
停止服务
$ zkServer stop
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Stopping zookeeper ... STOPPED
安装邮件服务 James server
$ subl ~/.bash_profile
export JAMES_SRC_HOME=/usr/local/james-project/james-project
安装 maven, 参考教程
$ brew install maven
默认安装位置是
$ /usr/local/Cellar/maven/3.3.9
Fix problems
maven 报错:
Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.6
解决方法:
- 查看 windows -> Preferences -> maven 的 settings.xml 文件中.m2 的位置
- 然后将.m2/repository/org/apache/maven/plugins 目录下的文件夹全部删除
- 选中 maven 项目,右键 --> maven --> update,让 maven 重新下载依赖包
注:此 IDE 自带 maven 插件,不需要再自己下载安装 maven 插件
mac 下,dubbo 注册 zookeeper,ip 地址是一个虚拟的地址,并不是局域网的本机 ip
在搭建 zookeeper 的过程中,使用 dubbo 获取的地址总是 220.250.64.26,通过 jdk 代码调用来看,确实是这样:
InetAddress ia=null;
try {
ia=ia.getLocalHost();
String localname=ia.getHostName();
String localip=ia.getHostAddress();
System.out.println("本机名称是:"+ localname);
System.out.println("本机的 ip 是 :"+localip);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
cosole 输出:
本机名称是:bogon
本机的 ip 是 :220.250.64.26
220.250.64.26 是虚拟的地址,导致项目在 tomcat 下无法正常运行。
在 mac 终端可以看到,本机 hostname 是 bogon,于是我们重设 hostname,命令如下:
$ sudo scutil --set HostName bianxh
$ sudo scutil --set LocalHostName bianxh
然后修改 hosts 文件,
bogon:redis-3.0.7 bianxh$ subl /etc/hosts
在末位新增两行:
127.0.0.1 bianxh
::1 bianxh
重新运行上面的 java 代码,可以看到 ip 地址正常了:
本机名称是:bianxh
本机的 ip 是 :127.0.0.1
接下来,通过 dubbo 注册 zookeeper,可以看到 console 输出的注册地址就正常了,变为局域网内的本机地址。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 在 Linux 中安装 Hadoop
下一篇: 谈谈自己对于 AOP 的了解
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论