0038-如何在CDH集群安装Anaconda&搭建Python私有源

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

1.文档编写目的



Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。

在企业集群无外网环境下,通过搭建企业私有的Python源,可以使用pip工具方便的安装,以解决Anaconda环境中没有的依赖包的问题。

本文档讲述如何在CDH集群离线安装Anaconda、搭建Python私有源及pip工具使用。

  • 内容概述

1.如何在CDH集群上安装Anaconda

2.如何搭建python私有源

3.pip工具的使用

  • 测试环境

1.操作系统:CentOS6.5

2.CM和CDH版本为5.12.1

3.采用root用户操作

  • 前置条件

1.CDH集群运行正常

2.Apache服务正常运行

2.CDH集群安装Anaconda



使用Parcel包的方式在CDH集群安装Anaconda,下载地址:

https://repo.continuum.io/pkgs/misc/parcels/

根据自己操作系统版本选择Parcel包,本文档是在CentOS6.5版本下操作

2.1部署Anaconda的Parcel包http访问



1.下载Anaconda的Parcel包,下载地址如下

https://repo.continuum.io/pkgs/misc/parcels/Anaconda-4.2.0-el6.parcel
https://repo.continuum.io/pkgs/misc/parcels/Anaconda-4.2.0-el6.parcel.sha
https://repo.continuum.io/pkgs/misc/parcels/manifest.json

2.将上述3个文件下载至HTTP所在服务器的/var/×××w/html/anaconda4.2.0目录下

[[email protected] html]# mkdir -p anaconda4.2.0/
[[email protected] html]# cd anaconda4.2.0/
[[email protected] anaconda4.2.0]# ll
total 541416
-rw-r--r-- 1 root root 554396033 Jun 19 17:47 Anaconda-4.2.0-el6.parcel
-rw-r--r-- 1 root root        41 Jul  7 19:43 Anaconda-4.2.0-el6.parcel.sha
-rw-r--r-- 1 root root      3890 Jul  7 19:43 manifest.json
[[email protected] anaconda4.2.0]# 

3.验证http是否正常访问

2.2安装Anaconda



1.配置Anaconda的parcels包访问地址

2.点击下载、分配并激活

2.3配置Anaconda环境变量



Anaconda默认安装在/opt/cloudera/parcels/Anaconda目录,在集群所有节点配置Anaconda的环境变量,操作如下:

  1. 使用root用户或有sudo权限用户编辑/etc/profile文件,在文件末尾增加如下配置
export ANACONDA_HOME=/opt/cloudera/parcels/Anaconda
export PATH=$ANACONDA_HOME/bin:$PATH

2.执行source命令,使环境变量立即生效

[[email protected] anaconda4.2.0]# source /etc/profile

3.验证环境变量是否配置成功

[[email protected] anaconda4.2.0]# python
Python 2.7.12 |Anaconda 4.2.0 (64-bit)| (default, Jul  2 2016, 17:42:40)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> 

3.搭建Pyton私有源


  • 前置准备:

1.下载pip2pi安装包,下载地址:

https://codeload.github.com/wolever/pip2pi/zip/master

2.下载Python源码依赖包(tar.gz/zip/whl等格式安装包)

3.1安装pip2pi工具


  1. 将下载的pip2pi源码包上传至服务器,并解压
[[email protected] ~]# unzip master 

2.使用Python命令安装pip2pi

[[email protected] python]# cd pip2pi-master/
[[email protected] pip2pi-master]# ll
total 44
-rw-r--r-- 1 root root 2797 Mar 19 15:51 CHANGELOG.txt
drwxr-xr-x 2 root root 4096 Mar 19 15:51 libpip2pi
-rw-r--r-- 1 root root 1649 Mar 19 15:51 LICENSE.txt
-rw-r--r-- 1 root root   19 Mar 19 15:51 MANIFEST.in
-rw-r--r-- 1 root root 5080 Mar 19 15:51 README.rst
-rwxr-xr-x 1 root root   84 Mar 19 15:51 run-tests
-rw-r--r-- 1 root root   20 Mar 19 15:51 setup.cfg
-rw-r--r-- 1 root root 1422 Mar 19 15:51 setup.py
drwxr-xr-x 5 root root 4096 Mar 19 15:51 tests
-rw-r--r-- 1 root root  194 Mar 19 15:51 tox.ini
[[email protected] pip2pi-master]# python setup.py install

3.测试pip2pi和dir2pi命令是否安装成功

3.2部署依赖包


  1. 在http服务器的/var/×××w/html目录下新建python-packages目录
[[email protected] html]# mkdir python-packages
[[email protected] html]# pwd
/var/×××w/html
[[email protected] html]# ll
total 32
drwxr-xr-x 2 root root 4096 Sep 11 15:52 python-packages
[[email protected] html]# 

2.将本地下载的Python依赖包上传至服务器的/var/×××w/html/python-packages目录

[[email protected] python-packages]# ll
total 1780
-rw-r--r-- 1 root root   2421 Sep 24  2016 bit_array-0.1.0.tar.gz
-rw-r--r-- 1 root root   1254 Sep 12 07:18 enum-compat-0.0.2.tar.gz
-rw-r--r-- 1 root root 339017 Sep 12 07:27 pymongo-3.3.0-cp27-cp27mu-manylinux1_x86_64.whl
-rw-r--r-- 1 root root 368294 Sep 12 07:25 pymongo-3.5.1-cp27-cp27mu-manylinux1_x86_64.whl
-rw-r--r-- 1 root root 799601 Sep 12 07:04 Routes-1.12.3.tar.gz
-rw-r--r-- 1 root root  30409 Apr 23  2016 sasl-0.2.1.tar.gz
-rw-r--r-- 1 root root  29630 Apr 21  2016 six-1.10.0.tar.gz
-rw-r--r-- 1 root root  87832 Jan 14  2017 thrift-0.10.0.zip
-rw-r--r-- 1 root root   3885 Jun  9  2016 thrift_sasl-0.2.1.tar.gz
-rw-r--r-- 1 root root 140861 Dec  3  2016 ym-impyla-0.14.0.tar.gz

3.使用dir2pi命令建立包索引

[[email protected] python-packages]# dir2pi /var/×××w/html/python-packages/
[[email protected] python-packages]# ll
total 1784
-rw-r--r--  1 root root   2421 Sep 24  2016 bit_array-0.1.0.tar.gz
-rw-r--r--  1 root root   1254 Sep 12 07:18 enum-compat-0.0.2.tar.gz
-rw-r--r--  1 root root 339017 Sep 12 07:27 pymongo-3.3.0-cp27-cp27mu-manylinux1_x86_64.whl
-rw-r--r--  1 root root 368294 Sep 12 07:25 pymongo-3.5.1-cp27-cp27mu-manylinux1_x86_64.whl
-rw-r--r--  1 root root 799601 Sep 12 07:04 Routes-1.12.3.tar.gz
-rw-r--r--  1 root root  30409 Apr 23  2016 sasl-0.2.1.tar.gz
drwxr-xr-x 11 root root   4096 Sep 12 08:06 simple
-rw-r--r--  1 root root  29630 Apr 21  2016 six-1.10.0.tar.gz
-rw-r--r--  1 root root  87832 Jan 14  2017 thrift-0.10.0.zip
-rw-r--r--  1 root root   3885 Jun  9  2016 thrift_sasl-0.2.1.tar.gz
-rw-r--r--  1 root root 140861 Dec  3  2016 ym-impyla-0.14.0.tar.gz
[[email protected] python-packages]# 

4.验证Http是否正常访问,访问地址

http://ip-172-31-6-148.fayson.com/python-packages/simple/

至此Python的私有源服务器搭建完成。

3.3配置pip命令使用私有源



1.在当前用户的home目录(即“~”)目录,创建.pip目录

[[email protected] ~]# mkdir -p .pip
[[email protected] ~]# pwd
/root
[[email protected] ~]# 

2.在~/.pip目录下新建pip.conf文件,文件内容如下

[root[email protected] ~]# cd .pip/
[[email protected] .pip]# pwd
/root/.pip
[[email protected] .pip]# vim pip.conf
[global]
index-url = http://ip-172-31-6-148.fayson.com/python-packages/simple
[install]
trusted-host = ip-172-31-6-148.fayson.com

3.测试pip命令是否从私有源下载依赖包

[[email protected] .pip]# pip install bit-array
Collecting bit-array
  Downloading http://ip-172-31-6-148.fayson.com/python-packages/simple/bit-array/bit-array-0.1.0.tar.gz
Building wheels for collected packages: bit-array
  Running setup.py bdist_wheel for bit-array ... done
  Stored in directory: /root/.cache/pip/wheels/7a/7f/04/3bdc776730b06ce5bedd46f9023d263a32f82941e1365a054f
Successfully built bit-array
Installing collected packages: bit-array
Successfully installed bit-array-0.1.0
[[email protected] .pip]# 

可以看到上图标注部分显示从刚搭建好的源下载依赖包。

4.pip使用



1.指定版本安装package

 [[email protected] ~] pip install SomePackage            # 最新版本
[[email protected] ~] pip install SomePackage==1.0.4     # 具体的版本
[[email protected] ~] pip install ‘SomePackage>=1.0.4‘     # 最低版本

2.批量安装packages

创建文本文件requirements.txt,内容如下

[[email protected] ~]# vim requirements.txt
six
bit_array
thrift==0.10.0

使用pip批量安装

[[email protected] ~]# pip install -r requirements.txt
Collecting six (from -r requirements.txt (line 1))
Collecting bit_array (from -r requirements.txt (line 2))
Collecting thrift==0.10.0 (from -r requirements.txt (line 3))
  Downloading http://ip-172-31-6-148.fayson.com/python-packages/simple/thrift/thrift-0.10.0.zip (87kB)
    100% |████████████████████████████████| 92kB 58.1MB/s
Building wheels for collected packages: thrift
  Running setup.py bdist_wheel for thrift ... done
  Stored in directory: /root/.cache/pip/wheels/21/53/2d/121a953df877103ba4f2fe9041be0d28d6979438c6dd7b2b15
Successfully built thrift
Installing collected packages: six, bit-array, thrift
Successfully installed bit-array-0.1.0 six-1.10.0 thrift-0.10.0
[[email protected] ~]# 

3.输出当前python环境安装的所有package及版本到指定文件

[[email protected] ~]# pip freeze > requirements.txt

4.卸载package

[[email protected] ~]# pip uninstall six

5.列出当前Python环境安装的所有package

[[email protected] ~]# pip list --format=columns
Package                            Version
---------------------------------- -----------------------
alabaster                          0.7.9
anaconda-clean                     1.0
anaconda-client                    1.5.1
anaconda-navigator                 1.3.1
argcomplete                        1.0.0
astroid                            1.4.7
astropy                            1.2.1
Babel                              2.3.4
backports-abc                      0.4                    

6.查看安装的package详细信息

[[email protected] ~]# pip show six
Name: six
Version: 1.10.0
Summary: Python 2 and 3 compatibility utilities
Home-page: http://pypi.python.org/pypi/six/
Author: Benjamin Peterson
Author-email: [email protected]
License: MIT
Location: /opt/cloudera/parcels/Anaconda-4.2.0/lib/python2.7/site-packages
Requires:
[[email protected] ~]# 

5.备注



package下载方式

在本地安装pip2pi工具,可以通过pip2tgz命令批量下载package

  1. 在本地创建requirements.txt文件,内容如下
six
bit_array
thrift==0.10.0

由于pip2tgz是通过将参数传递给pip调用来完成包的下载,所以可以指定任何pip可以识别的参数格式。

2.使用pip2tgz命令进行批量下载

[[email protected] .pip]# pip2tgz /root/python/ -r /root/requirements.txt

注意:pip命令默认使用的是国外的源下载package,如果国外源不稳定则可以参考3.3章节配置国内源。

6.常见问题


  1. 搭建完Python私有源,pip安装package时报错
[[email protected] .pip]# pip install six
Collecting six
  The repository located at ip-172-31-6-148.fayson.com is not a trusted or secure host and is being ignored. If this repository is available via HTTPS it is recommended to use HTTPS instead, otherwise you may silence this warning and allow it anyways with ‘--trusted-host ip-172-31-6-148.fayson.com‘.
  Could not find a version that satisfies the requirement six (from versions: )
No matching distribution found for six
[[email protected] .pip]# 

解决方法:

在pip.conf文件中增加如下配置:

trusted-host = ip-172-31-6-148.fayson.com

醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花!
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看

原文地址:http://blog.51cto.com/14049791/2320847

时间: 2024-07-29 16:21:02

0038-如何在CDH集群安装Anaconda&搭建Python私有源的相关文章

0013-如何在Kerberos与非Kerberos的CDH集群BDR不可用时复制数据

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看. 1.概述 本文档描述了在Kerberos与非Kerberos的CDH集群之间BDR不可用的情况下实现数据互导.文档主要讲述 1.测试集群环境描述 2.CDH的BDR功能验证 3.集群之间数据复制要求和限制 4.集群之间数据复制的方式 5.使用DistCp复制数据注意事项 6.通过DistCp进行数据互导 这篇文档将着重介绍CDH Kerberos集群与非Kerberos集群之间BDR不可用的情况下实现数据互导,并基于以下假设: 1.

优化cdh集群性能-可在安装集群前操作002

优化cdh集群性能-可在安装集群前操作002//读完cdh官方文档后,可知的优化操作 可在<03搭建cdh 生产环境前的Linux 优化(涉及到Linux内存参数优化)>https://blog.51cto.com/12445535/2365948 这步同时操作 讲解了:提供了一些性能问题的解决方案,并介绍了配置最佳实践. 1.禁止tuned 服务 //是内存分配管理//关于tuned服务是什么?RHEL/CentOS 在 6.3 版本以后引入了一套新的系统调优工具 tuned/tuned-a

0110-如何给Kerberos环境下的CDH集群添加Gateway节点

Fayson的github: https://github.com/fayson/cdhproject 推荐关注微信公众号:"Hadoop实操",ID:gh_c4c535955d0f,或者扫描文末二维码. 1.文档编写目的 Gateway节点又称为客户端节点,通常用作访问Hadoop集群的接口机.它主要会部署一些客户端的配置,脚本命令,比如HDFS的core-site.xml,hdfs-site.xml以及hadoop的操作命令. 如果你使用的是Apache Hadoop,你只需要将h

1.1 Storm集群安装部署步骤

安装storm集群,需要依赖以下组件: Zookeeper Python Zeromq Storm JDK JZMQ 故安装过程根据上面的组件分为以下几步: 安装JDK 安装Zookeeper集群 安装Python及依赖 安装Storm 另外,操作系统环境为:Centos6.4,安装用户为:root. 1. 安装JDK 安装jdk有很多方法,可以参考文博客使用yum安装CDH Hadoop集群中的jdk安装步骤,需要说明的是下面的zookeeper集群安装方法也可以参考此文. 不管你用什么方法,

presto集群安装&整合hive|mysql|jdbc

Presto是一个运行在多台服务器上的分布式系统. 完整安装包括一个coordinator(调度节点)和多个worker. 由客户端提交查询,从Presto命令行CLI提交到coordinator. coordinator进行解析,分析并执行查询计划,然后分发处理队列到worker中. 目录: 搭建前环境准备 集群计划 连接器 安装步骤 配置文件 运行presto 整合hive测试 整合mysql测试 整合jdbc测试 1.搭建前环境准备 CentOS 6.7 java8 Python3.4.4

『GreenPlum系列』GreenPlum 4节点集群安装(图文教程)

目标架构如上图 一.硬件评估 cpu主频,核数推荐CPU核数与磁盘数的比例在12:12以上Instance上执行时只能利用一个CPU核资源进行计算,推荐高主频 内存容量 网络带宽重分布操作 Raid性能条带宽度设置回写特性 二.操作系统 1.在SUSE或者RedHat上使用xfs(操作系统使用ext3)    在Solaris上使用zfs(操作系统使用ufs) 2.系统包 出现如下界面,按照下面的说明进行勾选,之后一直[Next]到开始安装. -->[Desktop Environments]全

菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章

菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章 cheungmine, 2014-10-25 0 引言 在生产环境上安装Hadoop高可用集群一直是一个须要极度耐心和体力的仔细工作. 虽然有非常多文档教会大家怎么一步一步去完毕这样的工作,可是百密也有一疏. 现成的工具不是没有,可是对于我这个喜欢了解细节的人来说,用别人的东西,写的好还能够,写的不好,出了问题,查找错误难之又难.手工安装Hadoop集群须要对Linux有一定的使用经验.对于全然没有接触Linux的人来说.肯定是

CentOS集群安装Tmux

对于Linux的常用者,如果你说你不会tmux,那你就out啦~ 1. 什么是Tmux? 先来看看Tmux长什么样. tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权.使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机:当然其功能远不止于此.(摘自百度百科) 更多关于Tmux的介绍,详见http://blog.chinaunix.net/uid-26285146-

CDH集群搭建步骤

CDH集群搭建步骤详细文档 一.关于CDH和Cloudera Manager CDH (Cloudera's Distribution,including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境. Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机.Hadoop.Hive.Spark等服务的安装