在 OSX 上使用 Homebrew:
安装所需的依赖项:
brew install [email protected] /cdn-cgi/l/email-protection gcc autoconf automake libtool cmake snappy gzip bzip2 zlib openssl
符号链接协议:
ln -s /usr/local/Cellar/[email protected] /cdn-cgi/l/email-protection/2.5.0/bin/protoc /usr/local/bin/protoc
验证版本(libprotoc 2.5.0):
protoc --version
导出构建标志:
export OPENSSL_ROOT_DIR="/usr/local/opt/openssl"
export LDFLAGS="-L${OPENSSL_ROOT_DIR}/lib"
export CPPFLAGS="-I${OPENSSL_ROOT_DIR}/include"
export PKG_CONFIG_PATH="${OPENSSL_ROOT_DIR}/lib/pkgconfig"
export OPENSSL_INCLUDE_DIR="${OPENSSL_ROOT_DIR}/include"
检查 Hadoop 版本:
hadoop version
获取上面返回的版本的 Hadoop 源并构建:
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.1.0/hadoop-3.1.0-src.tar.gz
tar zxvf hadoop-3.1.0-src.tar.gz
cd hadoop-3.1.0-src
mvn package -Dmaven.javadoc.skip=true -Pdist,native -DskipTests -Dtar
将本机库复制到您的 Homebrew 安装中:
cp -R hadoop-dist/target/hadoop-3.1.0/lib/ /usr/local/Cellar/hadoop/3.1.0/lib/
更新hadoop-env.sh:
vi /usr/local/Cellar/hadoop/3.1.0/libexec/etc/hadoop/hadoop-env.sh
修改HADOOP_OPTS(可以注释掉):
export HADOOP_OPTS="-Djava.net.preferIPv4Stack=true -Djava.library.path=/usr/local/Cellar/hadoop/3.1.0/lib/native"
重新启动 Hadoop 并运行以下命令进行验证:
hadoop checknative -a
根据指示https://medium.com/@faizanahemad/hadoop-native-libraries-installation-on-mac-osx-d8338a6923db https://medium.com/@faizanahemad/hadoop-native-libraries-installation-on-mac-osx-d8338a6923db