zyq11223

MAC安装Hadoop文件系统,注意查看是多少位的操作系统,在终端中输入uname -a查看操作系统是多少位的,apache官方提供的hadoop tar包是32位的,如果操作系统是64位的需要下载官方提供的src压缩包,在本地进行编译,否则安装好32位的在使用时,会提示unable able to load hadoop native library...

  在MAC本地编译hadoop源文件时,需要保证本地安装了

C compiler (e.g. GNU C Compiler,or cmake)
GNU Autools Chain: autoconf, automake, libtool
zlib-development package (stable version >= 1.2.0)
openssl-development package(e.g. libssl-dev)
安装以上,可以先安装homebrew,通过homebrew安装这几个组件,homebrew的安装方法:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Paste that at a Terminal prompt.
通过在终端中执行上面的脚本命令安装homebrew后,即可通过在终端中brew命令安装需要的组件。
cmake的安装方法:
brew install cmake

GNU Autools Chain: autoconf, automake, libtool的安装方法:
请按照以下顺序安装:
m4 tar包的安装是安装autoconf,automake,libtool的前提。
curl -O http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz
tar -xzvf m4-1.4.13.tar.gz
cd m4-1.4.13
./configure --prefix=/usr/local
make
sudo make install
cd ..
curl -O http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gz
tar -xzvf autoconf-2.65.tar.gz
cd autoconf-2.65
./configure --prefix=/usr/local # ironic, isn\'t it?
make
sudo make install
cd ..

here you might want to restart your terminal session, to ensure the new autoconf is picked up and used in the rest of the script

curl -O http://mirrors.kernel.org/gnu/automake/automake-1.11.tar.gz
tar xzvf automake-1.11.tar.gz
cd automake-1.11
./configure --prefix=/usr/local
make
sudo make install
cd ..
curl -O http://mirrors.kernel.org/gnu/libtool/libtool-2.2.6b.tar.gz
tar xzvf libtool-2.2.6b.tar.gz
cd libtool-2.2.6b
./configure --prefix=/usr/local
make
sudo make install

安装完以上组件,安装zlib-development package (stable version >= 1.2.0),这里要注意版本
使用 brew命令安装即可:即brew install zlib。

安装openssl-development package(e.g. libssl-dev)
brew install openssl不行,只安装openssl,没有安装openssl-devel

必须port安装,macports类似brew是包管理工具,可收藏夹“macports”中下载pkg安装;

sudo port -v selfupdate;

sudo port install ncurses;

sudo port install openssl;

不然报:Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project hadoop-pipes: An Ant BuildException has occured: exec returned: 1

下载好hadoop源码,重新编译之前需要安装protobuf和maven
1. protobuf 2.5版本的brew安装方法

$ brew search protobuf

protobuf protobuf-c protobuf-swift

homebrew/php/php53-protobuf homebrew/php/php56-protobuf

homebrew/php/php54-protobuf homebrew/versions/protobuf250

homebrew/php/php55-protobuf homebrew/versions/protobuf260

$ brew install homebrew/versions/protobuf250
具体安装protobuf的方法类似这种方法,注意版本位2.5版本。

注意安装maven,安装好maven 后注意在配置环境变量
在bash_profile文件中配置maven环境
export M2_HOME=/Users/chenxun/software/apache-maven-3.5.0

之后进入hadoop的 src文件夹中执行命令:
mvn package -Pdist,native -DskipTests -Dtar
进行编译hadoop,编译生成的文件在hadoop-dist/target/文件夹中,可以使用其安装hadoop,记得配置环境变量,然后格式化namenode(进入到hadoop文件夹中的bin文件夹下执行hdfs namenode -format格式化namenode ),如果在启动时仍然提示unable load native...需要将hadoop中的lib/native文件夹下的jar包拷贝到java jdk的jre/lib文件夹下即可。

以下为我配置的bash_profile,这里有安装软件自动配置上的(如Macport),有安装其他软件手动配置的,如hive,spark,anaconda等软件。
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

added by Anaconda3 5.2.0 installer

export PATH="/Users/leo/anaconda3/bin:$PATH"

Setting PATH for Python 3.6

The original version is saved in .bash_profile.pysave

PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH

export SCALA_HOME=/usr/local/share/scala
export PATH=$PATH:$SCALA_HOME/bin

export HADOOP_HOME=/usr/local/Cellar/hadoop/3.1.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIV_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS=" -Djava.library.path=$HADOOP_HOME/lib"
export LD_LIBRAR_PATH=$HADOOP_HOME/lib/native/:$LD_LIBRARY_PATH

MAVEN_HOME=/Users/leo/Documents/dev_foundation/apache-maven-3.5.3
export PATH=$PATH:$MAVEN_HOME/bin

export PATH=/usr/local/Cellar/protobuf@2.5/2.5.0/bin:$PATH
export DYLD_LIBRARY_PATH=/usr/local/Cellar/protobuf@2.5/2.5.0/lib

export SPARK_HOME=/usr/local/Cellar/spark-bin-hadoop
export PATH=$PATH:$SPARK_HOME/bin

PATH=$PATH:/usr/local/mysql/5.7.22/bin
export HIVE_HOME=/usr/local/Cellar/hive/2.3.3

SBT_HOME=/usr/local/Cellar/sbt/1.1.6
PATH=$PATH:$SBT_HOME/bin
export SBT_HOME PATH

Your previous /Users/leo/.bash_profile file was backed up as /Users/leo/.bash_profile.macports-saved_2018-06-07_at_19:49:33

MacPorts Installer addition on 2018-06-07_at_19:49:33: adding an appropriate PATH variable for use with MacPorts.

export PATH="/opt/local/bin:/opt/local/sbin:$PATH"

Finished adapting your PATH environment variable for use with MacPorts.

分类:

技术点:

相关文章:

  • 2021-11-19
  • 2021-11-29
  • 2021-08-04
  • 2021-08-14
  • 2022-12-23
  • 2021-10-07
  • 2021-11-23
  • 2021-05-15
猜你喜欢
  • 2021-12-24
  • 2021-04-17
  • 2021-07-24
  • 2021-05-31
  • 2021-09-07
  • 2022-12-23
  • 2021-07-28
相关资源
相似解决方案