NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
## **环境变量配置说明** * Linux的环境变量可在多个文件中配置,如/etc/profile,/etc/profile.d/\*.sh,/.bashrc,/.bash\_profile等, ## **下面说明上述几个文件之间的关系和区别** * bash的运行模式可分为login shell和non-login shell ``` 例如,我们通过终端,输入用户名、密码,登录系统之后,得到就是一个login shell。 而当我们执行以下命令ssh node3 command,在node3 执行command的就是一个non-login shell。 ``` * 这两种shell的主要区别在于,它们启动时会加载不同的配置文件,login shell启动时会加载/etc/profile,/.bash\_profile,/.bashrc。non-login shell启动时会加载~/.bashrc。 ![](https://img.kancloud.cn/ea/75/ea75d0d746030f83049a5ef156ad184b_663x304.png) 而在加载/.bashrc(实际是/.bashrc中加载的/etc/bashrc)或/etc/profile时,都会执行如下代码片段, ![](https://img.kancloud.cn/5f/83/5f830152ae69fad51981dde9f9375cee_494x172.png) * 因此不管是login shell还是non-login shell,启动时都会加载/etc/profile.d/\*.sh中的环境变量。所以,可以把环境变量都放在/etc/profile.d下的某个sh文件中 ## 配置环境变量 1. 新建/etc/profile.d/my_env.sh文件 ``` vim /etc/profile.d/my_env.sh ``` 添加如下内容,然后保存(:wq)退出 ``` #java安装 export JAVA_HOME=/export/server/jdk export PATH=$PATH:$JAVA_HOME/bin #hadoop安装 export HADOOP_HOME=/export/server/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin #KAFKA_HOME export KAFKA_HOME=/opt/module/kafka export PATH=$PATH:$KAFKA_HOME/bin ``` 2. 让环境变量生效 ``` source /etc/profile.d/my_env.sh ``` 3. 分发环境变量配置文件 ``` /home/atguigu/bin/xsync /etc/profile.d/my_env.sh ``` 4. 分别在node2、node3上执行source ``` source /etc/profile.d/my_env.sh ```